查看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

(1)用A命令将指令写入内存,用T命令单步执行

 

(2)用E命令将指令写入内存,用T命令单步执行

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

    mov ax,1

    add  ax,ax

    jmp  2000:0003

  AX=0100即为2的8次方(256的16进制即为100H)

(3)查看内存中的内容

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

用E命令试图改写:

从而可知ROM上的内容无法修改

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

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

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

 

最后显示图案时,一定要让地址在显示地址空间内,否则无法显示图案

二:实验结论

1:我们可以用A指令和E指令两种不同的指令方法来完成任务

2:在一些内存单元中CPU是无法改变其中的数据的

3:改变一些段单元中的数据可以改变视觉效果

猜你喜欢

转载自www.cnblogs.com/Fenix-cxf/p/9750229.html