实验1 查看CPU和内存,用机器指令和汇编指令编程
1.使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后CPU中相关寄存器中内容的变化。
•(1)用E命令修改从0:200开始的内存单元,写入机器码
(2)用U命令查看内存中机器码的含义
(3)CPU初始状态CS=073F,IP=0100,故先用R命令修改CS、IP中的内容
(4)用T命令逐条执行
•(1)用A命令将汇编指令写入内存
(2)用D命令查看内存中的机器码
(3)用T命令逐条执行(如上)
2.将下面3条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的8次方。
(1)用A命令将指令写入从2000:0开始的内存单元中
(2)修改CS、IP的值,并用T命令单步执行
(3)执行16次T命令,此时AX=0100
3.查看内存中的内容。
(1)用D命令查看内存中的生产日期,找到生产日期为01/01/92
(2)用E命令尝试修改此日期,再用D命令查看,发现修改失败
4.向内存从B8100H开始的单元中填写数据。
改变填写的数据和填写的地址,发现一个图案是由两个内存单元控制的,前者控制样式,后者控制颜色。
实验总结与体会
•CPU向内存地址为C0000到FFFFF的内存中写入数据的操作是没有结果的,单元中的内容不会被改变,因为这等于改写只读存储器的内容。
•在第一个任务需要修改CS、IP的值时,我一开始没有用R命令,而是用 JMP指令,结果报错了,我发现虽然JMP指令和R命令都能修改CS、IP的值,但它们使用的情况是不同的,这也加深了我对JMP指令的理解。