关于这个程序该不该用变量的问题

dongjiutiao 2009-10-11 01:34:00
DATA SEGMENT
A WD 90
B WD 90
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AH,11H
INT 16
JZ 1
MOV A,AH
MOV B,AL

1:
CODE ENDS
END START

这段代码编译后出现
A2008: :A
A2008: :B
A2008: :INTEGER
A2006: :A
A2006: :B

问:其中A和B需要在之前定义大小吗?这段代码哪里错了?
...全文
54 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnzdgs 2009-10-11
  • 打赏
  • 举报
回复
错还真不少, 另外补充一点, 十六进制数16应写作16H.
BAYNPU 2009-10-11
  • 打赏
  • 举报
回复
把这个源程序稍改动一下:
DATA SEGMENT
A Dw 90
B Dw 90
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: mov ax,data
mov ds,ax
MOV AH,11H
INT 16
JZ loop_1
MOV A,AH
MOV B,AL

loop_1:
CODE ENDS
END START
pla_007 2009-10-11
  • 打赏
  • 举报
回复
数据定义有问题。(应该是DB、DW、DD……)不是WD
所以改成:
A DB 90
B DB 90

(DB,是因为你下面有一行 MOV A,AH,所以猜测应该是定义一个DB类型的变量)

跳转的标号也要换一下:JZ 1,建议改成 JZ step_1之类的

21,459

社区成员

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

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