“汇编语言(第 2 版,郑晓薇著)配套实验”实验报告

指令系统与寻址方式

实验名称:指令系统与寻址方式

实验日期:2022/9/23

一、实验预习报告

1.实验相关知识的简述

立即寻址方式

寄存器寻址方式

直接寻址方式

寄存器间接寻址方式

寄存器相对寻址方式

基址变址寻址方式

相对基址变址寻址方式

2.实验原理的预习情况:较好

3.实验注意事项:

在 DEBUG 下数据都是十六进制表示的,因此不需要用 H 标注,同时要把十进制变为十六进制才行。

减法的结果以补码形式表示,对应的真值为负数。标志位发生了改变。

执行 T 命令之前,指令指针寄存器 IP 的值要用 R IP 修改成第一条指令的偏移地址,这样 T 命令才能从第一条指令开始执行。

二、实验报告

1.实验目的与要求:

观察和分析在不同的寻址方式下存储单元逻辑地址的表示以及指令的执行结果。

熟练掌握 DEBUG 的 R 命令、A 命令、T 命令和 D 命令的用法。

2.实验环境:实验楼 Linux 环境中进入 DOS 模拟环境

3.设计思路

两个操作数相减运算,结果放在数据段的 16 号单元

(1) AX、BX 寄存器分别赋值为 0008H 和 0010H;

(2) AX 和 BX 的内容相减(SUB 指令),结果在 AX 中;

(3) 用直接寻址方式将相减的结果保存到 16 号单元。

两个操作数相加运算,结果放在附加段的 0020H 号单元

(1) AX 的值为 0034H;

(2) AX 和 65 相加,结果在 AX 中;

(3) 用寄存器间接寻址方式(段超越)保存运算结果。

将 AX 寄存器中的 1234H 写入数据段的 2 号单元,读出 3 号单元的 12H 传送给 BL 寄存器(寻址方式自定)

5.实验过程及截图记录

两个操作数相减运算,结果放在数据段的 16 号单元

(1) AX、BX 寄存器分别赋值为 0008H 和 0010H;

(2) AX 和 BX 的内容相减(SUB 指令),结果在 AX 中;

(3) 用直接寻址方式将相减的结果保存到 16 号单元。

图片描述

两个操作数相加运算,结果放在附加段的 0020H 号单元

(1) AX 的值为 0034H;

(2) AX 和 65 相加,结果在 AX 中;

(3) 用寄存器间接寻址方式(段超越)保存运算结果。

图片描述

将 AX 寄存器中的 1234H 写入数据段的 2 号单元,读出 3 号单元的 12H 传送给 BL 寄存器(寻址方式自定)

图片描述

实验结果分析:MOV AX,[0010] 采用直接寻址方式将结果放到16号单元中

MOV AX,[SI]用寄存器间接寻址方式(段超越)保存运算结果

MOV AX,[0002]将AX寄存器中的1234H写入数据段的2号单元

MOV BL,DS:[0003]读出3号单元的12H传送给BL寄存器

三、实验总结

能较好观察和分析在不同的寻址方式下存储单元逻辑地址的表示以及指令的执行结果。能较好掌握 DEBUG 的 R 命令、A 命令、T 命令和 D 命令的用法。

最新评论
暂无评论~