在 8086 Assembly 中打印的每个数字之间打印空格
Print spaces between every numbers that's printed in 8086 Assembly
我想在 8086 Assembly 中打印一个二维数组,但我卡在了作业的最后几步。
例如,我需要输出为:
1 2 3 4 5
6 7 8 9 10
而不是
12345
678910
我已经有一个用于打印数组的嵌套循环,但我不知道如何打印数字之间的空格。谢谢!
假设您有一个循环,打印数字 1-10
mov ax,1
L_again:
push ax
call printAX
pop ax
inc ax
cmp ax,10
jbe L_again
ret
那么你只需要在打印 AX
之后添加一个 "print a space"
mov ax,1
L_again:
push ax
call printAX
call printSpace
pop ax
inc ax
cmp ax,10
jbe L_again
ret
可能看起来像这样(例如对于 DOS)。对于像这样的小函数,您当然可以简单地将几条指令直接添加到循环本身
printSpace:
mov dl, ' '
mov ah, 2
int 21h
ret
我想在 8086 Assembly 中打印一个二维数组,但我卡在了作业的最后几步。
例如,我需要输出为:
1 2 3 4 5
6 7 8 9 10
而不是
12345
678910
我已经有一个用于打印数组的嵌套循环,但我不知道如何打印数字之间的空格。谢谢!
假设您有一个循环,打印数字 1-10
mov ax,1
L_again:
push ax
call printAX
pop ax
inc ax
cmp ax,10
jbe L_again
ret
那么你只需要在打印 AX
之后添加一个 "print a space"mov ax,1
L_again:
push ax
call printAX
call printSpace
pop ax
inc ax
cmp ax,10
jbe L_again
ret
可能看起来像这样(例如对于 DOS)。对于像这样的小函数,您当然可以简单地将几条指令直接添加到循环本身
printSpace:
mov dl, ' '
mov ah, 2
int 21h
ret