1: unit, f, -, - 2: >, x, y, 4 3: jump, -, -, 6 4: :=, x, -, a 5: jump, -, -, 6 6: endu, f, -, - 7: unit, main, -, - 8: par, b, R, - 9: par, a, V, - 10: call, -, -, f 11: endu, main, -, -
xseg segment public code assume cs:xseg, ds:xseg, ss:xseg org 100h main proc near call near ptr _main_2 mov ax, 4C00h int 21h main endp @1: ; (unit, f, -, -) _f_1 proc near push bp mov bp, sp sub sp, 0 @2: ; (>, x, y, 4) mov si, word ptr [bp+4] mov ax, word ptr [si-8] mov dx, word ptr [bp+8] cmp ax, dx jg @4 @3: ; (jump, -, -, 6) jmp @6 @4: ; (:=, x, -, a) mov si, word ptr [bp+4] mov ax, word ptr [si-8] mov si, word ptr [bp+10] mov word ptr [si], ax @5: ; (jump, -, -, 6) jmp @6 @6: ; (endu, f, -, -) @f_1: mov sp, bp pop bp ret _f_1 endp @7: ; (unit, main, -, -) _main_2 proc near push bp mov bp, sp sub sp, 8 @8: ; (par, b, R, -) lea si, word ptr [bp-6] push si @9: ; (par, a, V, -) mov ax, word ptr [bp-4] push ax @10: ; (call, -, -, f) sub sp, 2 push bp call near ptr _f_1 add sp, 8 @11: ; (endu, main, -, -) @main_2:mov sp, bp pop bp ret _main_2 endp xseg ends end main