环境搭建与Debug使用初步

 更多内容请访问:https://www.liangking.me/2017/03/19/assembly-experienment1/

实验一 环境搭建与Debug使用初步

 

一、实验目的

l 学会搭建汇编语言程序设计的软件平台

l 学会Debug实用程序的基本功能

l 对汇编指令、寄存器、内存空间产生直观的认识

二、实验内容过程记录

任务1-Debug程序的使用

参考视频“0205 Debug的使用”和教材P35页对应的讲解,自行演练相关的Debug命令。

l  用R命令查看、改变CPU寄存器的内容

命令:R

期望的结果:输出所有寄存器的内容

运行如下:


l  用D命令查看内存中的内容

命令:d 1000:0

期望的结果:列出1000:0 ~ 1000:7f中的内容

运行如下:


l  用E命令改变内存中的内容

命令:e 1000:0 0 1 2 3 4 5 6 7 8 9

期望的结果:从1000:0 ~ 1000:a 的内存内容变为0 1 2 3 45 6 7 8 9。

运行如下:

 

l  用U命令将内存中的机器指令翻译成汇编指令

命令:u 1000:0

期望的结果:从1000:0开始的内存单元中的内容编译为汇编指令,并显示出来。

运行如下:

 

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

命令:a 1000:0

期望的结果:以汇编指令的格式在1000:0开始的内存中写入mov ax,1111这条机器指令

运行如下:

 

 

l  用T命令执行机器指令

命令:t

期望的结果:运行1000:0处的mov指令,ax变为1111

运行如下:


任务2-使用Debug运行程序

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

程序是:

mov ax, 4E20H

add ax, 1416H

mov bx, 2000H

add ax, bx

mov bx, ax

add ax, bx

mov ax, 001AH

mov bx, 0026H

add al, bl

add ah, bl

add bh, al

mov ah, 0

add al, bl

add al, 9cH

(1)将程序写入内存

命令:a 1000:0000

执行命令后的界面是:

 

(2)单步执行程序

命令:t

执行过程如下:


对执行结果的解释:执行mov ax,4e20


以后与此类似,使用t命令单步执行,不再列出

 

任务3-查看内存中的内容

在内存FFF00H~FFFFF间浏览(用d命令),找到一段记录日期值的内存,截屏并说明日期值。

命令:d fff0:0

结果:


对结果的解释:执行d命令列出了从fff0:0000开始的128个内存的信息,但没有找到保存日期的内存,所以再向下查询一下内存,再次使用d命令,找到了 01/01/92 这个日期信息。

 

任务4-在屏幕上显示多彩符号

向内存B8100开始的空间中写入如下数据“01 01 02 02 03 03 04 04”(用e命令),观察并记录产生的现象,再修改写入的数据,如改写为“4C 17 6F 92 76 a3 65 84”,以及你想玩的其他数值,再观察和记录。

命令:e b810:0000 01 01 0202 03 03 04 04

结果:


对结果的解释:从a0000到bffff为显存的内容,b8100刚好在此区间中,所以写入数据时就刚好写在显存中了,就在屏幕中显示出了彩色图案。

 

三、实验总结

O(事实):本次实验学习了汇编语言运行环境的搭建,练习使用了debug常用的命令

R(感受):初次接触debug这种工作环境,对此充满兴趣,对很多东西感到很好奇。

I(思考):debug是学习汇编语言的有力工具,可以准确的模拟出汇编程序运行的过程,让人能够清楚各个寄存器的数据情况,必须要好好掌握它。

D(决定):要熟练掌握debug中的相关命令,掌握调试汇编程序的一些技巧。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值