- 26


call @__SystemInit$qv ; __SystemInit(void)

; SYSTEM

call @__WINCRTInit$qv

; __WINCRTInit(void)

; WinCRT

push bp

mov bp, sp

; !

; , Turbo-PASCAL!

xor ax, ax

call @__StackCheck$q4Word ; Stack overflow check (AX)

;

push 666h

;

push 77h ; 'w'

mov di, offset aHelloSailor ; "Hello,Sailor!"

; DI "Hello, Sailor"

push ds

push di

; : (NEAR), (FAR)

; .. , .

call MyProc

; .

leave

; .

xor ax, ax

call @Halt$q4Word ; Halt(Word)

; !

PROGRAM endp

MyProc proc near ; CODE XREF: PROGRAM+23p

; IDA

. , !

var_100 = byte ptr -100h

; . , 0x100

; , , 0x100 . ,

; PASACAL 0xFF . , ,

; .

arg_0 = dword ptr 4

arg_4 = byte ptr 8

arg_6 = word ptr 0Ah

;

push bp

mov bp, sp

;

mov ax, 100h

call @__StackCheck$q4Word ; Stack overflow check (AX)

; 100

sub sp, 100h

;

les di, [bp+arg_0]

;

push es

push di

; arg_0,