X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-bounces using -f From: "Andrew Fairburn" Newsgroups: comp.os.msdos.djgpp Subject: ASM syntax Date: Mon, 14 Jan 2002 16:08:32 -0000 Organization: University of Durham, Durham, UK Lines: 35 Message-ID: NNTP-Posting-Host: secom189.dur.ac.uk X-Trace: sirius.dur.ac.uk 1011024229 11840 129.234.207.189 (14 Jan 2002 16:03:49 GMT) X-Complaints-To: usenet AT durham DOT ac DOT uk NNTP-Posting-Date: Mon, 14 Jan 2002 16:03:49 +0000 (UTC) X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 X-Priority: 3 X-Newsreader: Microsoft Outlook Express 5.50.4133.2400 X-MSMail-Priority: Normal To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com dont know if this is teh right place to put this but i was hoping someone could give me hand with the at&t assembler syntax. ive been writing a function in assembler code for a real mode callback. The code needs to take the ss:sp, of where the program was when this interupt function is called, from the register pair ds:si then. It uses this to read the cs:ip address left on the stack when the interupt was called and then places it back in a memory address pointed to by the register pair es:di. It then returns with an IRET. unfortunatley my code doesnt work:- cld lodsw movw %ds:(%esi), %ax // gets ss:sp which should point to old IP on stack movw %ax, %es:44(%edi) //mov IP into mem structure 44 b disp from es:di lodsw movw %ds:2(%esi), %ax // gets CS which is 2 bytes disp from IP on stack movw %ax, %es:46(%edi) // move into mem structure movw %ds:2(%esi), %ax movw $0x1b0, %dx outb %dx The thing im unsure about is the syntax for addressing memory e.g. %ds:2(%esi), i thought this would take the selector and offset address in ds:si and then move on 2bytes and return the value there. Is my understanding of the displacement, i.e. 2, correct? any help would be very much appreciated, Andrrew Fairburn.