此文档是上海工程技术大学的微机课的三个实验,有的部分有
ADD AL,[0004] ADD AX,[0004]
ADD BYTE PTR [0006],9C ADD WORD PTR [0006],9C MOV BX,000A MOV AL,[BX] MOV AX,3[BX] MOV SI,0001 MOV AH,[SI+5] MOV AX,2[BX][SI] JMP 0004
3 )使用R命令将CS设置为200CH,IP设置为0004H,然后使用T命令进入单步调试状态,观察指令的执行情况,写出指令的执行序列、每条指令的寻址方式和每条指令执行前后相关寄存器和存储器(以字节为单位)的变化情况;
四、实验结果
1 、查看内存中的数据
Debug相关命令和写入前后的截图 2 、修改内存中的数据
Debug相关命令和写入后的结果截图 3 、查看内存中的指令
Debug相关命令和第一条指令内容截图
4 、使用Debug工具将以下数据和指令写入内存并观察运行结果 1 )使用E命令将以下数据依次写入内存空间(200A0H-200BFH),并截图记录写入后的内存相关地址上的内容(数据):
Debug相关命令和写入后的结果截图
2 )使用A命令将以下指令写入内存空间(起始地址:200CH:0004H),并截图记录写入后的内存相关地址上的内容(指令):
Debug相关命令和写入后的结果截图
3 )使用R命令将CS设置为200CH,IP设置为0004H,然后使用T命令进入单步调试状态,观察指令的执行情况,写出指令的执行序列、每条指令的寻址方式和每条指令执行前后相关寄存器和存储器(以字节为单位)的变化情况:
此文档是上海工程技术大学的微机课的三个实验,有的部分有
五、实验思考
1 、通常使用Debug工具的T命令,会使CPU执行当前指令后停止继续执行并显示当前CPU各个寄存器的状态和下一条要执行的指令,而当使用它执行修改堆栈段寄存器的指令如mov ss,ax时,却不是这样,它的下一条指令如mov sp,10紧接着也执行了,想想这是为什么? 2 、结合使用Debug工具的T命令和D命令,观察指令mov ss,ax执行前后,内存中栈中的数据是否会发生改变?如果会,为什么?