第一次接触masm编译器遇到的问题,望各位能看看
时间:2010-12-02
来源:互联网
只学过c语言,也没接触过DOS
我把书上的一个例子打进机器,就是想用用masm编译器
例子 把两个五字节数字相加。
DATA SEGMENT
DATA1 DB OF8H,60H,0ACH,74H,3BH
DATA2 DB 0C1H,36H,9EH,0D5H,20H
DATA ENDS
CODE SEGMMENT
ASSUME CS:COSE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV CX,5
MOV SI,0
CLC
LOOPER:MOV AL,DATA2[SI]
ADC DATA[SI],AL
INC SI
DEC CX
JNZ LOOPER
HLT
CODE ENDS
END START
一编译就出问题了,下面是图片

我用的是xp的命令提示符,这个是不是不行?
用DOS该怎么用呢?
我把书上的一个例子打进机器,就是想用用masm编译器
例子 把两个五字节数字相加。
DATA SEGMENT
DATA1 DB OF8H,60H,0ACH,74H,3BH
DATA2 DB 0C1H,36H,9EH,0D5H,20H
DATA ENDS
CODE SEGMMENT
ASSUME CS:COSE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV CX,5
MOV SI,0
CLC
LOOPER:MOV AL,DATA2[SI]
ADC DATA[SI],AL
INC SI
DEC CX
JNZ LOOPER
HLT
CODE ENDS
END START
一编译就出问题了,下面是图片

我用的是xp的命令提示符,这个是不是不行?
用DOS该怎么用呢?
作者: lvsong1989 发布时间: 2010-12-02
楼主这是我改了之后的代码你对照一下:(首先,楼主你的segment打错了,在第五行;然后是ADC DATA[SI],AL,楼主data后面少了一个数字1;最后是数据段data1里的0f8H如果与data2里的0c1h相加的和超过一个字节的长度了,但这个不会显示错误,只是你将得不到你要的结果)
DATA SEGMENT
DATA1 DB 0f8H,60H,0ACH,74H,3BH
DATA2 DB 0C1H,36H,9EH,0D5H,20H
DATA ENDS
CODE SEGMENT
ASSUME CS:COdE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV CX,5
MOV SI,0
CLC
LOOPER:MOV AL,DATA2[SI]
ADC DATA1[SI],AL
INC SI
DEC CX
JNZ LOOPER
HLT
CODE ENDS
END START
楼主如果觉得可以就给分吧
DATA SEGMENT
DATA1 DB 0f8H,60H,0ACH,74H,3BH
DATA2 DB 0C1H,36H,9EH,0D5H,20H
DATA ENDS
CODE SEGMENT
ASSUME CS:COdE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV CX,5
MOV SI,0
CLC
LOOPER:MOV AL,DATA2[SI]
ADC DATA1[SI],AL
INC SI
DEC CX
JNZ LOOPER
HLT
CODE ENDS
END START
楼主如果觉得可以就给分吧
作者: liufenfangwan 发布时间: 2010-12-02
dos和命令提示符其实差不多,dos本身是个系统,而命令提示符是windows下一个类似或者模拟dos的一个程序罢了
作者: liufenfangwan 发布时间: 2010-12-02
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28