实验二算术逻辑运算及移位操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二算术逻辑运算及移位操作
一、实验目的
1.熟悉算术逻辑运算指令和移位指令的功能。
2.了解标志寄存器各标志位的意义和指令执行对它的影响。
二、实验预习要求
1.复习8086指令系统中的算术逻辑类指令和移位指令。2.按照题目要求在实验前编写好实验中的程序段。
三、实验任务
1.实验程序段及结果表格如表:
表
2.用BX 寄存器作为地址指针,从BX 所指的内存单元(0010H)开始连续存入(10H 、04H 、30H),接着计算内存单元中的这三个数之和,和放在
单元中,再求出这三个数之积,积放0014单元中。写出完成此功能的程
3
后结果(AX)=
(1) 传送15H 到AL 寄存器; (2) 再将AL 的内容乘以2
;
(3) 接着传送15H 到BL 寄存器; (4) 最后把AL 的内容乘以BL 的内容。
4商=
(1) 传送数据2058H 到DS:1000H 单元中,数据12H 到DS:1002H 单元中; (2) 把
DS:1000H 单元中的数据传送到AX 寄存器;
(3) 把AX 寄存器的内容算术右移二位; (4) 再把AX 寄存器的内容除以DS:1002H 字节单元中的数;
(5) 最后把商存入字节单元DS:1003H 中。
5.下面的程序段用来清除数据段中从偏移地址0010H 开始的12元的内容(即将零送到这些存储单元中去)。
(1) 将第4条比较指令语句填写完整(划线处)。 MOV SI ,0010H NEXT: MOV WORD PTR[SI],0 ADD SI ,2
CMP SI ,答案 22H (或者20H )
JNE NEXT
HLT
(2) 假定要按高地址到低地址的顺序进行清除操作(高地址从0020H 开始),则上述程序段应如何修改
上机验证以上两个程序段并检查存储单元的内容是否按要求进行了改变。
6. 输入并运行表中的程序段,把结果填入表右边的空格中,并分析结果,说明本程序段的功能是什么。
表
四、实验报告要求
1.整理出完整的实验程序段和运行结果。
2.回答题目中的问题。
3.简要说明ADD、SUB、AND、OR指令对标志位的影响。4.简要说明一般移位指令与循环移位指令之间的主要区别。