汇编语言(第三版)王爽——实验一


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

debug的使用

安装DOSBOX进行实验

R命令查看改变CPU寄存器内容

在所有寄存器的下方,debug还列出了CS:IP所指向的内存单元处所存放的机器码,并将它翻译为机器指令。

此处CS:IP所指向的内存单元为073F:0100.此处存放的及机器码为 0000 ,对应的汇编指令为 ADD [BX+SI],AL。

还可以利用R指令修改寄存器中的内容

D命令查看内存中的内容

d 段地址:偏移地址

debug将列出从指定内存单元往后128个内存单元的内容(1000:0~1000:F)

也可以指定查看的范围 d 段地址:起始偏移地址 结尾偏移地址

用D命令改写内存内容

e 起始地址 数据 数据 数据 数据...

也可以采用提问的方式来逐个的修改内存的内容

用E命令向内存中写入机器码,用U命令查看内存中机器码的含义,用T命令执行内存中的机器码

写入机器码

mov ax,0001

mov cx,0002

add ax,cx

使用U命令翻译

简单的使用T命令可以执行CS:IP指向的指令

若要用T命令控制CPU执行某个指令,必须先让CS:IP指向该指令

可用R命令修改CS:IP中的内容,使CS:IP指向指定的内容

再使用T命令执行指令

注意,指令执行后,AX中的内容被改写为1,IP改变为IP+3,CS:IP指向下一条指令

A命令以汇编指令的形式在内存中写入机器指令

本次实验中需要用到的命令

查看修改CPU寄存器的内容:R命令

查看内存中的内容:D命令

修改内存中的内容:E命令(可以写入数据指令)

将内存中的内容解释为机器指令和对应的汇编指令:U命令

执行CS:IP指向的内存单元处的指令:T命令

以汇编指令的形式向内存中写入指令:A命令

实验任务

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

提示:可用E命令和A命令以两种方式将指令写入内存

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

mov ax,1

add ax,ax

jmp 2000:0003

(3)查看内存中的内容

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

实验过程

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

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

执行八次即可得到2的8次方

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值