- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验报告
专业:材料成型及控制工程
班级:2014级2班
学号:631424210206
姓名:冉启刚
实验一
实验题目
寻址方式的使用
实验目的
熟悉了解8086的寻址方式
三、实验详细内容及分析
首先在计算机的开始窗口里打开命令提示符然后输入Debug进入相应的窗口
练习寻址方式
立即数寻址
在窗口里输入
MOV AX,35BD
进行验证,结果如图
寄存器寻址
在窗口输入
MOV AX,2345
MOV BX,5678
MOV AX,BX
运行并显示结果
存储器寻址
a)直接寻址
输入D显示存储器中的数据
输入MOV AX,[0B00]
执行指令后结果如图
分析:指令执行后AX中的内容由原来的5678变为存储器0B00所指的值8A26
b)寄存器间接寻址
输入D2300显示相应存储单元中的数值
输入MOV BX,2300
MOV AX,[BX]
执行后结果如图
分析:指令执行后AX值变为存储器2300单元的值3125
c)寄存器相对寻址
输入以下指令
MOV AX,50H[BX]
MOV AX,0000
MOV AX,[BX+50H]
运行结果如下
分析:指令执行后AX值变为2350所指的值
d)基址加变址寻址方式
修改DI的值
输入MOV,AX,[BX+DI]
MOV AX,0000
MOV AX,[BX][DI]
运行结果如下图
分析:指令执行后AX变为2303所指的值
e)相对基址加变址寻址
在窗口中输入
MOV AX,[BX+DI+4]
运行结果如下
四、实验总结
经过此次上机实训,我对各种寻址方式有了进一步的了解,通过自己的亲手实践把理论课上学到的内容有了更深的了解。只有这种理论与实践结合起来的方法才能就知识学习得更加扎实。
实验二
实验题目
熟悉8086指令系统
实验目的
通过debug调用8086相关的指令,对8086指令的使用进行熟悉了解。
实验详细内容及分析
MOV指令
输入mov ax,4567
Mov bx,5678
Mov ax,[bx]
进行单步执行并输出结果
再输入d5678查看相应存储单元中的数据如下
分析:最后的输出结果为ax=0000与相应的存储单元中的对应
PUSH指令
输入MOV AX,4567
PUSH AX
结果如下
输入DFFEC显示堆栈段中的内容如下
分析:行压栈操作后SP的数值发生改变,AX中的数据被压入相应的堆栈单元中
POP指令
输入POP BX
输入D FFEE显示相应单元中的数据如下
分析:指令执行后BX=4567,BP=ffee,BP所指位置下移两位,堆栈单元中的数据弹出到BX中。
交换指令XCHG
输入MOV AX,12DE
MOV BX,DE56
XCHG AX,BX
执行结果如下
结果分析:执行后AX,BX的值进行了交换
有效地址传送指令LEA
输入如下指令
MOV BX,0300
MOV SI,003C
LEA BX,[BX+SI+0E62]
执行后结果如下
分析:EA=BX+SI+0E62=0300+003C+0E62=119E, 则BX=119E
普通加法指令ADD
带进位加法指令ADC
加1指令INC
普通减法指令SUB
带借位减法指令SBB
减1指令dec
输入如下指令
MOV AX,A379H
MOV BX,0107H
CLC
ADD AX,7E4FH
ADC BX,1006H
SUB AX,7E4FH
SBB BX,1006H
DEC AX
INC AX
执行后结果如下
分析:
求补指令NEG
输入neg ax
执行结果如下
分析:
乘法指令mul
输入MUL BX
执行后结果如图
分析: 执行后AX=5*3=F
除法指令div
输入div BX
执行后结果如图
分析:
与运算指令AND
或运算指令or
非运算指令not
异或运算指令XOR
输入如下指令
AND AX,BX
OR AX,BX
NOT AX
XOR AX,BX
依次执行后结果如下
分析:
算术左移指令sal
分析:
开始AX=0000 0000 0000 0100
左移两位后变为0000 0000 0001 0000 (0020)
CF变为0
算数右移SAR
分析:指令执行前AX=0000 0000 0001 1111
右移两位后变为0000 0000 000
文档评论(0)