From: "M. Schulter" Newsgroups: comp.os.msdos.djgpp Subject: another hello.s -- and thanks! Date: 24 Sep 1997 06:31:59 GMT Organization: Value Net Internetwork Services Inc. Lines: 79 Message-ID: <60ac4v$cf4$1@vnetnews.value.net> NNTP-Posting-Host: value.net To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk Thanks to everyone who's helped with the hello.s question, and here's another variation on Vic's program -- sort of "PostScript style" . Someone pointed out that the -Wall and -g switches may have no effect, but maybe it's a familiar pattern , so I tend to compile this gcc -Wall -g -o hello32.exe hello32.s Please feel free to point out bugs or flaws. Most appreciatively, Margo Schulter mschulter AT value DOT net (To reply, please remove any extra . in my default address -- the address immediately above is correct) -------------------------- hello32.s ----------------------------- /* This is a newbie standalone GAS program based upon an original version by Vic (tudor AT cam DOT org). For a PostScript programmer, this revision might be quite user-friendly : for example, the escape sequences to designate characters in a string. Thanks to all the GNU and DJGPP people for making such a great assembler available along with the code necessary to write Linux-style assembler programs like this in MS-DOS, and also to the Net-wide Assembler Project (NASM) for rendering a great service to the Internet community while proving that matters of taste are not to be disputed. Margo Schulter mschulter AT value DOT net 23 September 1996 */ .file "hello32.s" .data string0: .ascii "\n\n\52\52\52\52\52\52\52\52\52\52\52\52\52\52\52\0" string1: .ascii "\52\52\52\52\n\n\r\42\110\145\154\154\157\0" string2: .ascii "\054\040\104\112\107\120\120\041\42\n\n\r\111\040\0" string3: .ascii "\154\157\166\145\040\101\124\046\124\040\163\171\0" string4: .ascii "\156\164\141\170\056\n\n\r\52\52\52\52\52\52\0" string5: .ascii "\52\52\52\52\52\52\52\52\52\52\52\52\52\n\n\r\0" .text .align 2 .globl _main _main: pushl $string0 call _printf addl $4, %esp pushl $string1 call _printf addl $4, %esp pushl $string2 call _printf addl $4, %esp pushl $string3 call _printf addl $4, %esp pushl $string4 call _printf addl $4, %esp pushl $string5 call _printf addl $4, %esp ret