在8086组件中打印的每个数字之间打印空格
问题描述:
我想在8086 Assembly中打印一个2D数组,并且我被卡在作业的最后几个步骤中。在8086组件中打印的每个数字之间打印空格
例如,我需要我的输出是:
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
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
欢迎使用堆栈溢出。请稍后阅读[**关于**](http://*.com/tour)页面,并访问描述[**如何提出问题**]的链接(http://*.com/questions/how-to-ask)和[**如何创建一个最小,完整和可验证的示例**](http://*.com/help/mcve)。提供必要的详细信息,包括您的代码以及相关的错误(如果有的话),将允许大家在这里帮助您解决问题。 –
而不是打印一个数字字符,以同样的方式打印一个“'”字符。在asm中一切都只是ASCII字节(除非你编写代码来处理UTF-8 ...) –
点击你的问题下的“编辑”,粘贴你的代码,保存问题。我们需要查看您的代码才能进行必要的更改。 –