欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-25 22:56:22
·实验任务 (1)使用Debug,用E命令和A命令以两种方式将指令写入内存 机器码 汇编指令 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 ......

·实验任务

(1)使用debug,用e命令和a命令以两种方式将指令写入内存

机器码        汇编指令

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

part 1:用a命令将指令写入内存,用t命令单步执行

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

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

最终结果:

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

part 2:用e命令将指令写入内存,用t命令单步执行

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

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

最终结果:

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

总结:

从实验结果可以看到用e命令和a命令两种方式将指令写入内存的结果相同,但是用a命令结果更简洁,即以汇编指令的格式在内存中写入一条机器指令。

 

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

mov ax,1

add  ax,ax

jmp  2000:0003

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

最终结果:

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

(3)pc机主板上的rom中写有一个生产日期,在内存fff00h~fffffh的某几个单元中,请找到这个生产日期并试图改变它

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

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

总结:

我们用e命令对rom的生产日期进行修改,但是日期仍不变,因为rom只读存储器,无法对存储器的值进行修改。

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

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

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

改变数值:

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

改变地址后:

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

总结:

在内存中输入不同的数据,产生的现象不同,改变地址后,也是如此。