为啥这个DATA1 DB 33H,39H,31H,37H是定义的十进制呀

我是小小菜鸡 2019-10-12 11:32:28
DATA SEGMENT
DATA1 DB 33H,39H,31H,37H,34H
DATA2 DB 36H,35H,30H,38H,32H
DATA3 DB 5 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV CX,5
MOV SI,0
CLC
NEXT: MOV AL,DATA1[SI]
ADC AL,DATA2[SI]
AAA
MOV DATA3[SI],AL
INC SI
LOOP NEXT
MOV SI,5
DISP: ADD DATA3[SI-1],30H
MOV DL,DATA3[SI-1]
MOV AH,2
INT 21H
DEC SI
JNZ DISP
MOV AH,4CH
INT 21H
CODE ENDS
END START
...全文
1074 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
我是小小菜鸡 2020-04-06
  • 打赏
  • 举报
回复
嘿嘿,谢谢大家了
夏侯依风 2019-11-09
  • 打赏
  • 举报
回复 1
这是你的DATA1,你可能理解错了,这个DATA1都是16进制定义的,后面带H都是16进制的,你大概没看到A~F出现吧。 右边才是它的十进制表示,数字0~9的ASCII码就是 (数字+30)H,你可以理解为程序里的DATA1定义了一个用ASCII码表示的数组。 原理上就是,你定义的DATA1是DB类,用8位二进制来表示一个字符,也就是00H~FFH来表示
zara 2019-10-13
  • 打赏
  • 举报
回复
从代码操作上来看,这个定义不对吧,所有都要删去 3 或换 3 为 0。
这个应该是用一个字节表示一个数据位来进行多位数相家操作。

21,458

社区成员

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

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