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

指令系统与寻址方式

1字=2字节=16位二进制数=4位十六进制数 (3075AH)=12H,表示3075AH号单元中的内容是12H,称为字节单元;若(37692H)=5678H,表示37692H单元和37693H单元一起存放5678H,该单元是字单元。 字单元在存储的时候,高字节放在高地址单元,低字节放在低地址单元,即56H(高字节)放在37693H单元(高地址单元),78H(低字节)放在37692H单元(低地址单元)。如图:

图片描述

用AX寄存器存放一个字1234H,表示为(AX)=1234H,即高字节12放在AH,低字节34放在AL中。

1. 立即寻址方式(mov ax 1234)

-A
MOV AX3060
MOV AL5
MOV BL,FF
MOV BX,A46D 
MOV CX17
copy

图片描述 (执行T命令时要注意先检查ip值是否为第一条指令的偏移值。)

图片描述

2. 寄存器寻址方式(mov ax bx)

-A
MOV AX0
MOV BX1234
MOV AXBX
MOV CLAH
MOV AX4650
copy

图片描述 3. 直接寻址方式(MOV AX,DS:[2000H];该指令表示把段地址为DS,偏移地址为2000,2001的两个内存单元读出一个字(两个字节)送入AX。)

(1)-A
MOV AXDS:[2000]
MOV DS:[4000],AX
copy

图片描述 (从上例中可以发现,存储单元与寄存器间进行字的交互,是按照"AH->DS:[2001],AL->DS:[2000]"的规则来归置字节的。)

(1)-A
MOV ALDS:[2000]
MOV DS:[4000],AL
copy

图片描述 (从上例中可以发现,存储单元与寄存器间进行字节的交互, 依然是按照"AH->DS:[2001],AL->DS:[2000]"的规则来归置字节的。)

4. 寄存器间接寻址方式 (MOV AX,[BX]表示把段地址为DS,偏移地址为(寄存器BX值),(寄存器BX值的+1)两个内存单元读出一个字(两个字节)送入AX。)

(1)-A
MOV BX4580
MOV AX,[BX]
copy

图片描述 (我们发现,AX的值,与DS:4580,4581的值相同,说明[BX]在此题中确实表示段地址为DS,偏移地址为(寄存器BX值),(寄存器BX值的+1)两个内存单元)

(2)-A
MOV BX4590
MOV AL,[BX]
copy

图片描述

5. 寄存器相对寻址方式("MOV AX,25[SI]"表示把段地址为DS,偏移地址为(寄存器SI值+25H),(寄存器SI值+25H+1H)两个内存单元读出一个字(两个字节)送入AX。)

-A
MOV SI7310
MOV AX25[SI]
copy

图片描述

** 实验部分** (1)两个操作数相减运算,结果放在数据段的16号单元。 1)AX、BX寄存器分别赋值为0008H和0010H。 2)AX和BX的内容相减(SUB指令),结果在AX中。 3)用直接寻址方式将相减的结果保存到16号单元。

图片描述

(2)两个操作数相加运算,结果放在附加段的0020H号单元。 1)AX的值为0034H。 2)AX和65相加,结果在AX中。 3)用寄存器间接寻址方式(段超越)保存运算结果。

图片描述

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

图片描述

最新评论
暂无评论~