BITS 16 CPU 8086 org 0x7300 PARAMS equ 0x7380 ; dw 0: target offset ; dw 2: target segment ; dw 4: number of params ; dw 6: param 0 ; ... _start: push bx push si push di push bp mov si, PARAMS mov bx, 0x6 xor cx, cx a1: cmp cx, [es:si+4] jge a2 lea ax, [es:si+bx] push ax add bl, 2 inc cl jmp a1 a2: call far [es:si] pop bp pop di pop si pop bx ret