实验2 汇编命令(伪指令)实验
2.1 实验类型
实验类型: 验证型
2.2实验目的
(1)进一步熟悉汇编语言的汇编、连接、运行的全过程。
(2)了解汇编语言的程序结构、掌握动态调试工具DEBUG的使用。
(3)掌握部分伪指令的功能,编程时会使用伪指令。
(4)熟悉汇编语言中数据定义伪指令的书写形式。
(5)掌握DEBUG的使用。
2.3 实验描述
自选数据,编写程序熟悉数据定义伪指令DQ和DT的使用方法.并用DEBUG检查数据在内存中的存放格式。
代码:
2.4 实验结果
(1)伪指令
ORG:汇编起始指令
END:汇编结束命令
EQU:赋值指令
DB:字节定义伪指令
DW:定义字命令
DS:定义存储空间指令
BIT:位地址符号命令
(2)DEBUG部分
① 使用-u 命令观察指令所在地址和指令的具体实现。可以观察到指令的初始地址为 076A:0000
② 使用-d 命令查看 076A:0000
到 076A:0070
的数据内容
(3)用DEBUG中的D或E命令检查带符号数据和不带符号数据在内存中的表示方法;
(4)用DEBUG中的D命令观察DB、DW、DD存储整数数据的格式;
(5)用DEBUGG中的D命令观察DD存储实数的格式。
实验结果分析:在使用 DW、DB、DD 写入相同的 4 个字(64 位)数据,但是通过观察, 我们发现它们在内存中的位置并不是我们想的那样按顺序安放。
076A:0000 23 01 56 04 89 07 11 10 (DW)
076A:0008 01 23 04 56 07 89 10 11 (DB)
076A:0010 56 04 23 01 11 10 89 07 (DD)
发现 DB 以字节写入的数据是按顺序安放的,而 DB 和 DW 却不是这样。我们可以理解为:高地址存高位,低地址存低位。例如 0123H,用 DW 写入,01 是高位放在高地址,23 是低位放在低地址,这就体现了 DW 是按字存储的,将字拆分成两个字节存储