微机系统与接口技术实验指导书(2013版课程设计参考)(5)
微机系统与接口技术实验教程 五邑大学计算机学院 DATA CODE START: CODE
ENDS
SEGMENT
ASSUME CS:CODE, DS:DATA MOV AX, DATA MOV DS, AX MOV AX, XL ADD AX, YL MOV ZL, AX MOV AX, XH ADC AX, YH MOV ZH, AX JMP START ENDS
END START
;X低位加Y低位
;低位和存到Z的低位
;高位带进位加 ;存高位结果
;在此行设置断点,以观察变量值
实验步骤
(1)编写程序,经编译、链接无误后装入系统。
(2)程序装载完成后,点击‘变量区’标签将观察窗切换到变量监视窗口。
(3)点击
,将变量XH,XL,YH,YL,ZH,ZL添加
到变量监视窗中,然后修改XH,XL,YH,YL的值,如图2.13所示,修改XH为0015,XL为65A0,YH为0021,YL为B79E。
(4)在JMP START语句行设置断点,然后运行程序。 (5)当程序遇到断点后停止运行,查看变量监视窗口,计算结果ZH为0037,ZL为1D3E。
(6)修改XH,XL,YH和YL的值,再次运行程序,观察实验结果,反复测试几组数据,验证程序的功能。
图3.-1 变量监视窗口
2. 十进制的BCD码减法运算
计算X-Y=Z,其中X、Y、Z为BCD码。实验程序参考例程。 实验程序清单(例程文件名为A3-2.ASM)
SSTACK SEGMENT STACK DW 64 DUP(?) SSTACK ENDS
PUBLIC X, Y, Z DATA SEGMENT X DW ? Y DW ? Z DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA 14
;定义全局变量
微机系统与接口技术实验教程 五邑大学计算机学院 A1: SBB CODE
MOV DS, AX
MOV AH, 00H SAHF
MOV CX, 0002H MOV SI, OFFSET X MOV DI, OFFSET Z MOV AL, [SI] AL, [SI+02H] DAS PUSHF
AND AL, 0FH POPF
MOV [DI], AL INC DI INC SI LOOP A1 JMP START ENDS
END START
;设置断点,以方便观察变量。
实验步骤
(1)输入程序,编译、链接无误后装入系统。 (2)点击
将变量X,Y,Z添加到变量监视窗中,并为X,Y赋值,假定存入40与
12的BCD码,即X为0400,Y为0102。
(3)在JMP START语句行设置断点,然后运行程序。
(4)程序遇到断点后停止运行,观察变量监视窗,Z应为0208。
(5)重新修改X与Y的值,运行程序,观察结果,反复测试几次,验证程序正确性。
3. 乘法运算
实现十进制数的乘法运算,被乘数与乘数均以BCD码的形式存放在内存中,乘数为1位,被乘数为5位,结果为6位。实验程序参考例程。
实验程序清单(例程文件名为A3-3.ASM)
SSTACK SSTACK DATA DATA1 DATA2 RESULT DATA CODE START:
SEGMENT STACK
DW 64 DUP(?) ENDS SEGMENT
DB 5 DUP(?) ;被乘数 DB ? ;乘数 DB 6 DUP(?) ;计算结果 ENDS SEGMENT
ASSUME CS:CODE,DS:DATA MOV AX,DATA MOV DS,AX CALL INIT ;初始化目标地址单元为0
15
微机系统与接口技术实验教程 五邑大学计算机学院 MOV SI,OFFSET DATA2 MOV BL,[SI] AND BL,0FH ;得到乘数 CMP BL,09H JNC ERROR MOV SI,OFFSET DATA1 MOV DI,OFFSET RESULT MOV CX,0005H A1: MOV AL,[SI+04H] AND AL,0FH CMP AL,09H JNC ERROR DEC SI MUL BL AAM ;乘法调整指令 ADD AL,[DI+05H] AAA MOV [DI+05H],AL DEC DI MOV [DI+05H],AH LOOP A1 A2: MOV AX,4C00H INT 21H ;程序终止 ;===将RESULT所指内存单元清零=== INIT: MOV SI,OFFSET RESULT MOV CX,0003H MOV AX,0000H A3: MOV [SI],AX INC SI INC SI LOOP A3 RET ;===错误处理===
ERROR: MOV SI,OFFSET RESULT ;若输入数据不符合要求则RESULT所指向内存单元全部写入E MOV CX,0003H MOV AX,0EEEEH A4: MOV [SI],AX INC SI INC SI LOOP A4 JMP A2 CODE ENDS END START
实验步骤
(1)编写程序,编译、链接无误后装入系统。
(2)查看寄存器窗口获得CS的值,使用U命令可得到数据段段地址DS,然后通过E命令为被乘数及乘数赋值,如被乘数:01 02 03 04 05,乘数:01,方法同实验内容1。
(3)运行程序,待程序运行停止。
16
微机系统与接口技术实验教程 五邑大学计算机学院
(4)通过D命令查看计算结果,应为:00 01 02 03 04 05;当在为被乘数和乘数赋值时,如果一个数的低4位大于9,则查看计算结果将全部显示为E。
(5)反复测试几组数据,验证程序的正确性。
17
微机系统与接口技术实验教程 五邑大学计算机学院
四、分支程序设计实验
4.1 实验目的
1. 掌握分支程序的结构。
2. 掌握分支程序的设计、调试方法。
4.2 实验设备
PC机一台,TD-PITE实验装置或TD-PITC实验装置一套。
4.3 实验内容
设计一数据块间的搬移程序。设计思想:程序要求把内存中一数据区(称为源数据块)传送到另一存储区(成为目的数据块)。源数据块和目的数据块在存储中可能有三种情况,如图2.14所示。 …… 此处隐藏:783字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




