计算机组成原理指令系统实验报告..doc
文本预览下载声明
学生实验报告
课程名称:__计算机组成原理__
专业班级:__ __
姓 名:______ ______
学 号:___ ____
--学年第 学期实验项目(四) — 预习报告 项目
名称 指令系统 实验
目的
及
要求 熟悉debug程序提供的常用命令;
掌握机器指令的编写与执行过程;
掌握算术运算指令的执行过程;
掌握逻辑运算指令的执行过程;
掌握标志位的作用;
熟悉循环的实现过程;
理解CX寄存器的作用。 实验
内容
及
原理 算术运算及对标志位的影响
逻辑运算及对标志位的影响
循环程序的执行
预习
过程
中的
疑问 ADD指令与ADC指令的执行有何不同?
算术运算会影响S、C、Z中哪几个标志位?
用16位的寄存器如何完成32位的算术运算?
标志位S、C、Z在何种情况下为1,在何种情况下为0?
逻辑运算会影响S、C、Z中哪几个标志位?
实验项目(四) — 实验报告 项目
名称 指令系统 指导教师 实验室 实验日期 分组
情况 成 绩 实验步骤(算法、代码、方法)
算术运算及对标志位的影响
41H+3BH;
启动DEBUG程序
利用汇编命令a输入完成上述运算的助记符指令
MOV AH, 41将操作数41送ah寄存器
ADD AH, 3B将3b与ah当中的41做累加,并将累加结果保存在ah寄存器当中
MOV [2000], ah 将ah寄存器当中的累加结果,存入指定的内存单元2000H当中
利用执行的程序命令t单步执行从13D4:0100开始的每条指令
记录运行结果及标志位状态。
逻辑运算及对标志位的影响
5AA5H
启动DEBUG程序
利用汇编命令a输入完成运算的助记符指令
mov ah,5a 将操作数5a送ah寄存器
and ah,3b 将操作数a5与ah当中的操作数5a做逻辑与运算,并将最终的逻辑与运算的结果保存在ah寄存器当中
mov [2000],ah将ah寄存器当中的累加结果,存入指定的内存单元2000H当中
利用执行的程序命令t单步执行从13D4:0100开始的每条指令
记录运行结果
循环程序的执行
将DS:2000开始的5个字节内存内容(依次赋初值为01H,02H,03H,04H,05H)相加,并把相加的结果存放在DS:2005内存单元中。
启动DEBUG程序
利用修改内存的命令e将2000-2004五个内存单元分别赋以初值
利用汇编命令a输入完成运算的助记符指令
mov cx,5指定循环次数为5次,并将其记录在cx寄存器中
mov al,0将al寄存器清零,做累加器用
mov bx,2000将第一个操作数01的内存单元地址送bx寄存器
add al,[bx]将以bx寄存器中的值为地址的内存单元中的操作数与al寄存器当中的值累加,并将累加结果存放在al寄存器中
inc bx操作数的地址增一
loop 0108循环执行累加和地址自增的操作,0108为循环操作的起始地址,每执行一次循环操作,cx的值自动减一,直至cx寄存器当中的值为0时,该循环累加的过程结束
mov [bx],al将al当中的累加结果送以bx寄存器的值为地址的内存单元中
利用执行的程序命令t单步执行上述的每条指令
记录运行结果
实验结果(结论及
分析) 1.ADD是加法指令ADC是带位加法指令CF是进位标志位
当CF=1(有进位)ADC指令会加上1
当CF=0(无进位)ADC指令会加上0
2.S、C、Z都影响
3.
Z:结果为0置1,否则0C:加法进位减法借位置1,否则0S: SIGN,S=1时成立
显示全部