王爽《汇编语言》实验1 查看CPU和内存,用机器指令和汇编指令编程

本文详细介绍了如何通过Debug工具观察程序执行过程中的寄存器变化,涉及汇编指令操作如加法和移动,以及对内存地址的操作,包括计算2的8次方和尝试修改ROM中的生产日期。
摘要由CSDN通过智能技术生成

 

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

 

先查看各个寄存器中的内容

 

使用a命令执行前七条指令

因为cs指向本就是073F,而执行的指令也是在073F中,所以不用再修改cs指向。

使用t命令单步执行。

执行mov ax,4e20(将十六进制4e20送入ax寄存器)

 

执行add ax,1416(将寄存器ax中的数加1416H送入ax寄存器)

 

执行mov bx,2000(将2000H送入bx寄存器)

 

执行add ax,bx(寄存器ax中数与bx寄存器中数相加送入ax寄存器)

执行mov bx,ax(将ax寄存器中的数送入寄存器bx)

 

执行add ax,bx(将寄存器ax的数加bx中的数送入ax寄存器)

执行mov ax,001a(将十六进制001a送入ax寄存器)

使用e命令

 

查看机器码对应的汇编指令

 

使用t命令单步执行。

执行mov bx,0026(将16进制0026送入寄存器bx中)

执行add al,bl(将ax低字节与寄存器bx低字节相加送入ax低字节)

 

执行add ah,bl(将ax高字节与bx低字节相加送入ax高字节)

执行add bh,al

 

 

逐条执行剩下三条指令

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

mov ax,1; add ax,ax; jmp2000:0003

首先将定位改为2000:0

 

将指令写入

 

执行指令

 

 

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

由图可看出生产日期在FFFF0:00F0中

修改生产日期,发现值并没有改变。

(4)向内存从B8100H开始的单元中填写数据,如:-e B810:0000 01 01 02 02 03 03 04 04,请读者先填写不同的数据,观察产生的现象;再改变填写的地址,观察产生的现象。

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值