实验一 查看CPU和内存,用机器指令和汇编指令编程

---恢复内容开始---

(1)使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后CPU中相关寄存器中内容的变化。

     机械码             汇编指令

b8 20 4e           mov ax ,4E20H

05 16 14           add ax ,1416H

Bb 00 20           mov bx ,2000H

01 d8                add ax ,bx

89 c3                mov bx ,ax

01 d8                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 ,9CH

提示,可用E命令和A命令以两种方式将指令写入内存。注意用T命令执行时,CS:IP的指向。

 

<1>以E命令写入并执行:

<2>A命令写入并执行:

 

(2)将下面三条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的8次方。

     mov ax ,1

     add ax ,ax

     jmp 2000:0003

 

28次方对应十六进制为0100H,执行多次得如下结果:

 

(3)查看内存中的内容。

     PC机主板上的ROM中写有一个生产日期,在内存FFF00H~FFFFFH 的某几个单元中,请找到这个生产日期并试图改变它。

D命令查找到日期:

 

E命令试图改写:

 

D命令再次查询:

结论:改写失败。

 

(4)向内存从B8100H开始的单元中填写数据,如:

     -e B810:0000 01 01 02 02 03 03 04 04

(填写不同数据和地址,观察现象)

 

实验总结:

1. 熟悉Windows10Debug的使用,学会基本的操作指令,如下:

(1) R命令可查看、改变CPU寄存器的内容

(2) D命令查看内存中的内容

(3) E命令改写内存中的内容

(4) T命令执行一条机械指令

(5) A命令以汇编指令的格式在内存中写入一条机械指令

2. 任务(3)中无法改变PC主板上的生产日期。

3. 任务(4)中写入机械码可观察到窗口中出现了图案,改变数据,图案发生变化,改变地址,图案位置转移。

 

posted @ 2018-10-06 12:36  但愿人长久的路小周  阅读(287)  评论(2编辑  收藏  举报