TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: All
from: Paul Edwards
date: 1994-12-31 22:25:00
subject: bad.asm

.386p
	ifndef	??version
?debug	macro
	endm
	endif
	?debug	S "prob.c"
	?debug	T "prob.c"
_TEXT	segment dword public use32 'CODE'
_TEXT	ends
_DATA	segment dword public use32 'DATA'
_DATA	ends
_BSS	segment dword public use32 'BSS'
_BSS	ends
DGROUP	group	_DATA,_BSS
	assume	cs:_TEXT,ds:DGROUP
_TEXT	segment dword public use32 'CODE'
c{at}	label	byte
	assume	cs:_TEXT
_main	proc	near
   ;	
   ;	int main(void)
   ;	
{at}5{at}35:
	push	ebp
	mov	ebp,esp
	push	ebx
   ;	
   ;	{
   ;	    struct mystruct __far16 *a;
   ;	
   ;	    a = func();
   ;	
	call	near ptr _func
   ;	
   ;	    printf("x is %d\n", a->x);
   ;	
	mov	edx,offset DGROUP:s{at}
	mov	ebx,eax
	push	dword ptr [ebx]
	push	edx
	call	near ptr _printf
	add	esp,8
   ;	
   ;	    return (0);
   ;	
	xor	eax,eax
{at}8:
{at}8{at}0:
	pop	ebx
	pop	ebp
	ret
_main	endp
_TEXT	ends
	?debug	D "E:\BCOS2\INCLUDE\_null.h" 7301 3648
	?debug	D "E:\BCOS2\INCLUDE\_nfile.h" 7301 3648
	?debug	D "E:\BCOS2\INCLUDE\_defs.h" 7301 3648
	?debug	D "E:\BCOS2\INCLUDE\stdio.h" 7301 3648
	?debug	D "prob.c" 7583 43957
_s{at}	equ	s{at}
	extrn	_printf:near
	extrn	_func:near
	public	_main
_DATA	segment dword public use32 'DATA'
d{at}	label	byte
d{at}w	label	word
d{at}d	label	dword
s{at}	label	byte
	db	"x is %d",10,0
_DATA	ends
_BSS	segment dword public use32 'BSS'
b{at}	label	byte
b{at}w	label	word
b{at}d	label	dword
_BSS	ends
	end
@EOT:

--- Mksmsg
* Origin: none (3:711/934.9)

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.