1、运行监控程序 2、使用监控命令 3、使用监控命令窗口或debug系统,将下面程序段写入内存,逐条执行,观察并记录每条指令执行后,CPU中相关寄存器内容的变化。 机器码 汇编指令 b8 20 4e mov ax, 4e20h 05 16 14 mov ax,1416h bb 00 20 mov bx,2000h 01 d8 add ax,bx 89 c3 mov bx,ax 0a db add ax,bx b8 1a 00 mov ax,001ah bb 26 00 mov bx,0026h 00 d8 add al,bl 00 dc add ah,bl 00 c7 add bh,al b4 00 mov ah,0 00 d8 add al,bl 04 9c add al,9c
时间: 2024-02-10 11:32:29 浏览: 423
在使用监控命令窗口或debug系统的情况下,将下面程序段写入内存,逐条执行,观察并记录每条指令执行后,CPU中相关寄存器内容的变化。
假设将程序段写入内存的起始地址为1000H。
1. 将4E20H赋给寄存器AX
机器码:B8 20 4E
执行该指令前寄存器AX、BX、CX、DX、SI、DI、BP、SP的内容分别为:0000H、0000H、0000H、0000H、0000H、0000H、0000H、0000H
执行该指令后,寄存器AX的内容变为4E20H,其他寄存器不变。
2. 将1416H赋给寄存器AX
机器码:05 16 14
执行该指令前寄存器AX、BX、CX、DX、SI、DI、BP、SP的内容分别为:4E20H、0000H、0000H、0000H、0000H、0000H、0000H、0000H
执行该指令后,寄存器AX的内容变为1416H,其他寄存器不变。
3. 将2000H赋给寄存器BX
机器码:BB 00 20
执行该指令前寄存器AX、BX、CX、DX、SI、DI、BP、SP的内容分别为:1416H、0000H、0000H、0000H、0000H、0000H、0000H、0000H
执行该指令后,寄存器BX的内容变为2000H,其他寄存器不变。
4. 将AX与BX相加,并将结果存入AX
机器码:01 D8
执行该指令前寄存器AX、BX、CX、DX、SI、DI、BP、SP的内容分别为:1416H、2000H、0000H、0000H、0000H、0000H、0000H、0000H
执行该指令后,寄存器AX的内容变为3416H,其他寄存器不变。
5. 将AX的内容赋给BX
机器码:89 C3
执行该指令前寄存器AX、BX、CX、DX、SI、DI、BP、SP的内容分别为:3416H、2000H、0000H、0000H、0000H、0000H、0000H、0000H
执行该指令后,寄存器BX的内容变为3416H,其他寄存器不变。
6. 将BX与AX相加,并将结果存入AX
机器码:0A DB
执行该指令前寄存器AX、BX、CX、DX、SI、DI、BP、SP的内容分别为:3416H、3416H、0000H、0000H、0000H、0000H、0000H、0000H
执行该指令后,寄存器AX的内容变为6832H,其他寄存器不变。
7. 将001AH赋给寄存器AX
机器码:B8 1A 00
执行该指令前寄存器AX、BX、CX、DX、SI、DI、BP、SP的内容分别为:6832H、3416H、0000H、0000H、0000H、0000H、0000H、0000H
执行该指令后,寄存器AX的内容变为001AH,其他寄存器不变。
8. 将0026H赋给寄存器BX
机器码:BB 26 00
执行该指令前寄存器AX、BX、CX、DX、SI、DI、BP、SP的内容分别为:001AH、3416H、0000H、0000H、0000H、0000H、0000H、0000H
执行该指令后,寄存器BX的内容变为0026H,其他寄存器不变。
9. 将AL与BL相加,并将结果存入AL
机器码:00 D8
执行该指令前寄存器AX、BX、CX、DX、SI、DI、BP、SP的内容分别为:001AH、0026H、0000H、0000H、0000H、0000H、0000H、0000H
执行该指令后,寄存器AL的内容变为3CH,其他寄存器不变。
10. 将AH与BL相加,并将结果存入AH
机器码:00 DC
执行该指令前寄存器AX、BX、CX、DX、SI、DI、BP、SP的内容分别为:003CH、0026H、0000H、0000H、0000H、0000H、0000H、0000H
执行该指令后,寄存器AH的内容变为28H,其他寄存器不变。
11. 将BH与AL相加,并将结果存入BH
机器码:00 C7
执行该指令前寄存器AX、BX、CX、DX、SI、DI、BP、SP的内容分别为:282CH、0026H、0000H、0000H、0000H、0000H、0000H、0000H
执行该指令后,寄存器BH的内容变为3CH,其他寄存器不变。
12. 将0赋给寄存器AH
机器码:B4 00
执行该指令前寄存器AX、BX、CX、DX、SI、DI、BP、SP的内容分别为:282CH、0026H、0000H、0000H、0000H、0000H、0000H、0000H
执行该指令后,寄存器AH的内容变为00H,其他寄存器不变。
13. 将AL与BL相加,并将结果存入AL
机器码:00 D8
执行该指令前寄存器AX、BX、CX、DX、SI、DI、BP、SP的内容分别为:282CH、0026H、0000H、0000H、0000H、0000H、0000H、0000H
执行该指令后,寄存器AL的内容变为C2H,其他寄存器不变。
14. 将9CH加到AL中
机器码:04 9C
执行该指令前寄存器AX、BX、CX、DX、SI、DI、BP、SP的内容分别为:C2H、0026H、0000H、0000H、0000H、0000H、0000H、0000H
执行该指令后,寄存器AL的内容变为5EH,其他寄存器不变。
以上是每条指令执行后,CPU中相关寄存器内容的变化记录。
阅读全文