实验二简单汇编语言程序设计与调试Word文档下载推荐.docx
- 文档编号:22614439
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:16
- 大小:133.50KB
实验二简单汇编语言程序设计与调试Word文档下载推荐.docx
《实验二简单汇编语言程序设计与调试Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实验二简单汇编语言程序设计与调试Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。
组合
非组合
运算符
+、-、×
、÷
+、-
操作数
字节,字,多精度
字节(二位数字)
字节(一位数字)
2.1二进制双精度加法运算
2.1.1实验要求:
计算X+Y=Z,将结果Z存入某存储单元。
2.1.2实验原理:
本实验程序是双精度(2个16位,既32位)运算,利用累加器AX,先求低16位和,并存入低址存储单元,后求高16位和,再存入高址存储单元。
由于低位和可能向高位有进位,因而高位字相加语句需要用ADC指令,则低位相加有进位时,CF=1,高位字相加时,同时加上CF中的1。
2.1.3参考程序清单:
STACK
SEGMENTSTACK
DW64DUP(?
)
ENDS
DATA
SEGMENT
XL
DW
?
;
请在此处给X低位赋值
XH
请在此处给X高位赋值
YL
请在此处给Y低位赋值
YH
请在此处给Y高位赋值
ZL
ZH
CODE
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVAX,XL
X的值送AX
ADDAX,YL
X低位加Y低位
MOVZL,AX
存低位和
MOVAX,XH
X高位送AX
ADCAX,YH
X高位加Y高位
MOVZH,AX
存高位和
ENDSTART
2.2十进制数的BCD码减法运算
2.2.1实验要求:
计算X-Y=Z,其中X,Y,Z为BCD码。
00
04
02
01
2.2.2参考实验程序及流程图如下:
)
X
DW?
请在此处给X赋值
Y
请在此处给Y赋值
Z
ENDS
MOVAX,DATA
MOVAH,00H
SAHF
MOVCX,0002H
MOVSI,OFFSETX
MOVDI,OFFSETZ
A1:
MOVAL,[SI]
SBBAL,[SI+02H]
DAS
PUSHF
ANDAL,0FH
POPF
MOV[DI],AL
INCDI
INCSI
LOOPA1
A2:
JMPA2
ENDSTART
2.3乘法运算
2.3.1实验要求:
本实验实现十进制数的乘法,被乘数和乘数均以BCD码形式存放于内存中,
乘积在屏幕显示。
2.3.2参考程序清单:
SEGMENTSTACK
DATA1
DB5DUP(?
乘数
DATA2
DB?
被乘数
RESULT
DB6DUP(?
乘积
CALLINIT
MOVSI,OFFSETDATA2
MOVBL,[SI]
ANDBL,0FH
CMPBL,09H
JNCERROR
MOVSI,OFFSETDATA1
MOVDI,OFFSETRESULT
MOVCX,0005H
MOVAL,[SI+04H]
CMPAL,09H
JNCERROR
DECSI
MULBL
AAM
ADDAL,[DI+05H]
AAA
MOV[DI+05H],AL
DECDI
MOV[DI+05H],AH
MOVCX,06H
MOVSI,OFFSETRESULT
DISPLAY:
MOVAH,01H
MOVAL,[SI]
ADDAL,30H
得到ASCII码
INT10H
显示器显示
INCSI
LOOPDISPLAY
A2:
INIT:
MOVSI,OFFSETRESULT
RESULT区清零
MOVCX,0003H
MOVAX,0000H
A3:
MOV[SI],AX
LOOPA3
RET
ERROR:
MOVAX,0145H
显示“E”
INT10H
JMPA2
CODE
END
START
2.4设计性实验-----开平方运算(选作)
2.4.1设计要求:
设计一个用减奇数法的开平方运算程序
2.4.2设计提示:
8086/8088指令系统中有乘除法指令但没有开平方指令,因此,开平方运算是通过程序来实现的。
用减奇数法可求得近似平方根,获得平方根的整数部分。
我们知道,N个自然数中的奇数之和等于N2,即:
1+3+5=9=32
1+3+5+7=16=42
1+3+5+7+9+11+13+15=64=82
若要做S的开方运算,那么就可以从S中逐次减去自然中的奇数1,3,5,7。
。
,一直进行到相减数为0或不够减下一个自然数的奇数为止,然后统计减去自然数的奇数个数,它就是S的近似平方根。
(设开平方数为正整数,存放在3500H单元)
(5)D350A↙,显示结果为:
350A0400CC…。
(6)反复试几组数,考察程序的正确性。
三、实验步骤与过程
(1)输入程序并检查无误,经汇编、链接后装入系统。
(设:
CS:
0000H,IP:
2000H)
(2)打开寄存器窗口,观察各寄存器内容的变化。
(3)用U0000:
2000查看MOVAX,XXXX(DATA)语句,即得到数据段段地址CS:
XXXX用E命令EXXXX:
0000↙给XL,XH,YL,YH赋值存入二进制数AO651500和9EB72100.
(4)G=0000:
2000↙,运行以上程序。
(5)DXXXX:
0008↙,显示计算结果:
3E1D3700CC….
(6)重新赋值,用T(T=0000:
2000)↙命令逐步运行程序,观察寄存器内容的变化。
(7)反复试几组数,考察程序的正确性.
查看段地址CS:
用E命令赋值:
运行并查看显示计算结果:
单步运行过程:
(1)输入实验程序并检查无误,经汇编、链连接后装入系统,并打开寄存器窗口。
(设:
CS:
0000H,IP:
(2)用U0000:
2000查看MOVAX,XXXX(DATA)语句即得到数据段地址CS:
XXXX。
用E
命令EXXXX:
0000↙给X,Y赋值存入40和12的BCD码:
00040201。
(3)G=0000:
2000↙,运行以上程序。
(4)DXXXX:
0004↙,显示计算结果
(5)重新赋值,用T命令单步运行程序,观察各寄寸器内容的变化。
程序注释:
用D命令查看显示结果:
(1)输入程序并检查无误,经汇编、链接后装入系统。
(2)打开寄存器窗口,观察寄存器内容的变化。
(3)用U2000↙命令查看MOVAX,XXXX语句,即得数据段段地址CS:
(4)用EXXXX:
0000↙命令在对应数据段填入乘数与被乘数。
(5)G=0000:
2000↙,运行程序,屏幕显示结果,用ESC可终止程序运行。
要求画出调试正确的程序的程序框图,并给程序加注释
四、实验结论或体会
指导教师批阅意见:
成绩评定:
指导教师签字:
年月日
备注:
注:
1、报告内的项目或内容设置,可根据实际情况加以调整和补充。
2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 简单 汇编语言 程序设计 调试
![提示](https://static.bdocx.com/images/bang_tan.gif)