编程时遇到的一个奇怪的问题,来个大佬帮忙看下

赖卓成 2019-04-12 08:16:00
做了一个题目,如图:
代码:
;编制程序,完成已知两个32位整数A和B相加,并将结果存入双字变量单元sum,不考虑溢出
data segment
a dw 1111h,2222h
b dw 4444h,6666h
sum dw 7777h,7777h
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
clc;cf清零
mov bx,0;bx=0
mov cx,2
again:
mov ax,a[bx]
adc ax,b[bx]
mov sum[bx],ax
inc bx
loop again
mov dx,offset sum
mov ah,09h
int 21h
mov ah,4ch
int 21h
code ends
end start

运行之后 不能输出结果 ,乱码
我查看数据段之后发现
为什么箭头指向的地方不是88而是原来定义sum的时候的77 哪里出错了呢
...全文
335 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zara 2019-04-14
  • 打赏
  • 举报
回复
看你是以何种格式输出了。简单的就是十六进制输出,每4个二进制位可转换为一个十六进制字符进行输出;如果是要输出十进制的,就麻烦些,一般是采用除10取余数法得到从个位数起的各个数值直到商小于10。
赖卓成 2019-04-13
  • 打赏
  • 举报
回复
引用 2 楼 zara的回复:
inc bx 应该是 add bx, 2 或者来两个,因为你那数据是 dw 不是 db 定义的。
结果输出,直接用那功能也不对,得先转换成相应的显示的字符串。
十分感谢。如何转换呢
zara 2019-04-13
  • 打赏
  • 举报
回复
inc bx 应该是 add bx, 2 或者来两个,因为你那数据是 dw 不是 db 定义的。
结果输出,直接用那功能也不对,得先转换成相应的显示的字符串。
赖卓成 2019-04-12
  • 打赏
  • 举报
回复
没人???csdn的大佬都不看汇编的吗

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧