From: rcouto AT arrakis DOT es (Rafa Couto) Newsgroups: comp.os.msdos.djgpp Subject: asm() tutorial & problem Date: Fri, 27 Sep 1996 01:35:44 GMT Organization: SantaTecla Message-ID: <3249f20b.3507235@nntp.arrakis.es> NNTP-Posting-Host: 194.224.107.117 Lines: 36 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Hi everybody :-) Info pages does not give very info about gas... Is there any gxx.asm() tutorial over i386? Is needed to push all registers when a asm stament is started? or only DS, (E)BP registers like other compilers... and the problem: opcode LES does not exist :-?? typedef unsigned char Byte; void put_pixel (int x, int y, Byte color, void * buffer) { asm ( "pushw %di \n" "pushw %dx \n" "pushw %ax \n" "pushw %es \n" "les $_buffer, %di \n" // error "addw $_x, %di \n" "movw $_y, %dx \n" "movw %dx, %ax \n" "shlw $8, %dx \n" "shlw $6, %ax \n" "addw %dx, %ax \n" "addw %ax, %di \n" "movb $_color, %al \n" "stosb \n" "popw %es \n" "popw %ax \n" "popw %dx \n" "popw %di \n" ); }; Thanks in advance, saludos, RC -- Rafa Couto (Santa Tecla) snail-mail: P.O. Box 24 // 36780 A Guarda (PO) // Spain PGP Fingerprint: E6.BF.11.EF.FE.55.38.B1 CF.7E.93.80.58.E5.9F.A3