(1)使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后CPU中相关寄存器中内容的变化。
先查看各个寄存器中的内容
使用a命令执行前七条指令
因为cs指向本就是073F,而执行的指令也是在073F中,所以不用再修改cs指向。
使用t命令单步执行。
执行mov ax,4e20(将十六进制4e20送入ax寄存器)
执行add ax,1416(将寄存器ax中的数加1416H送入ax寄存器)
执行mov bx,2000(将2000H送入bx寄存器)
执行add ax,bx(寄存器ax中数与bx寄存器中数相加送入ax寄存器)
执行mov bx,ax(将ax寄存器中的数送入寄存器bx)
执行add ax,bx(将寄存器ax的数加bx中的数送入ax寄存器)
执行mov ax,001a(将十六进制001a送入ax寄存器)
使用e命令
查看机器码对应的汇编指令
使用t命令单步执行。
执行mov bx,0026(将16进制0026送入寄存器bx中)
执行add al,bl(将ax低字节与寄存器bx低字节相加送入ax低字节)
执行add ah,bl(将ax高字节与bx低字节相加送入ax高字节)
执行add bh,al
逐条执行剩下三条指令
(2)将下面3条指令写入从2000:0开始的内存单元中,利用这三条指令计算2的8次方。
mov ax,1; add ax,ax; jmp2000:0003
首先将定位改为2000:0
将指令写入
执行指令
(3)查看内存中的内容。PC机主板上的ROM中写有一个生产日期,在内存FFF00H-FFFFFH的某几个单元中,请找到这个生产日期并试图改变它。
由图可看出生产日期在FFFF0:00F0中
修改生产日期,发现值并没有改变。
(4)向内存从B8100H开始的单元中填写数据,如:-e B810:0000 01 01 02 02 03 03 04 04,请读者先填写不同的数据,观察产生的现象;再改变填写的地址,观察产生的现象。