36 lines
432 B
NASM
36 lines
432 B
NASM
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
|