8086汇编语言中的输出结果为什么会出现跳行或者多行一并输出的情况_百...
发布网友
发布时间:2024-05-29 23:07
我来回答
共1个回答
热心网友
时间:2024-06-08 16:39
第一:你得要保证你的每条信息都25字节,因为你的偏移地址是mov bx,offset msg0
mul msglength这两条指令得到也就是从msg0开始。。。所以你的每条的长度不都为25字符的话就会出现不对齐。。。
第二:还有一处display proc near
mov cx,30;-----------注意此处,,你的的循环是30次。。就是从所得的偏移地址打30个字符。
所以综合下来。。你的问题所在就是两个原因造成的。。一是首先偏移地址不能准确定位。第一点的问题。二是你每次是循环打30个字符。。当打到每条最后13,10回车换行后还继续打满30个字符。所以就出现了又换行还打印了其他行的信息。。。
--------------------------
我给的建议是别用meg0去算偏移地址。。用查表来定位或用多分枝来定位。。。。。。