【发布时间】:2015-08-30 11:05:54
【问题描述】:
我正在尝试在 TASM 中创建一个接受数组作为参数的 proc。问题是,结果一团糟。这是代码:
TextParameter equ [bp+8]
MenuColorParameter equ [bp+6]
RowToPrint equ [bp+4]
PrintBar proc
push bp
mov bp, sp
mov dh, RowToPrint
mov dl, 0
mov bh, 0
mov ah, 2
int 10h
mov si, 0
mov cx, 1
@@Print:
mov ah, 9
mov al, [TextParameter+si]
mov bl, [MenuColorParameter+si]
int 10h
mov ah, 2
inc dl
int 10h
inc si
cmp si, MENU_LEN ; const in DATASEG
jc @@Print
mov ah, 2
mov bh, 0
mov dl, 0
mov dh, 2
int 10h
pop bp
ret 6
PrintBar endp
当通过 DATASEG 引用数组时(如 mov al, Array[si]),proc 按预期工作。
【问题讨论】: