一、 Debug的使用

1. 什么是Debug

Debug是Dos、Windows都提供的实模式(8086方式)程序调试的工具。使用它,可以查看CPU各种寄存器的内容。内存的情况和在机器码级跟踪程序运行。

2. Debug 常用功能

命令 功能
r 查看、改变CPU寄存器的内容
d 查看内存中的内容
e 改写内存中的内容
u 将内容中的机器指令翻译成汇编指令
t 执行一条机器指令
a 以汇编指令的格式在内存中写入一条机器指令

3. 进入Debug

支持与win7 32位以下
(1)win+R,然后输入canmand,进入后输入Debug

4. R命令 查看、改变CPU寄存器的内容

5. D命令 查看内存中的内容

(1)方法一:d 段地址:偏移地址

(2)方法二:d 段地址:起始偏移地址 结尾偏移地址

6. e命令 改写内存中的内容

格式:e 起始地址 数据 数据 数据 ...
比如,要将内存1000:0~1000:9 单元中的内容分别写为0、1、3、4、5、6、7、8、9

案例一:


案例二:写入字符

7. 1 e命令向内存写入机器码

机器码  对应汇编命令
b80100  mov ax,0001
b90200  mov cx,0002
01c8    add ax,cx


7.2 U命令翻译为汇编命令

7.3 t命令 执行汇编指令

(1)先修改 cs:ip=1000:0
(2)-t执行

8. a命令 汇编形式在内存写入机器指令

实验一 查看CPU和内存 用机器指令和汇编指令编程相关推荐

  1. 【实验报告】微处理器原理与应用 CPUHomework1.2 上篇【掌握DEBUG基本命令及其功能 查看CPU和内存 用机器指令和汇编指令编程】

    实验报告 课程名称:微处理器原理与应用 实验名称:CPUHomework1.2 掌握 DEBUG 基本命令及其功能 文章目录 实验报告 [实验目的] [实验要求] 上篇[查看CPU和内存,用机器指令和 ...

  2. 汇编语言——用DOSBox的debug查看CPU和内存 用机器指令和汇编指令编程

    实验一 查看CPU和内存,用机器指令和汇编指令编程   实验目的 了解什么是Debug,以及Debug中需要用的一些功能 R:查看.改变CPU寄存器的内容 D:查看内存中的内容 E:改写内存中的内容 ...

  3. [汇编语言]实验一:查看CPU和内存,用机器指令和汇编指令编程。

    实验一 实验任务: 查看CPU和内存,用机器指令和汇编指令编程. 实验内容: (1)实验代码: 开始执行命令: (2)实验代码: (3)实验代码: 找到了,日期为:01/01/92,这个是虚拟机dos ...

  4. 用机器指令和汇编指令编程(修改版)

    实验名称 用机器指令和汇编指令编程(1) 实验日期   2018.10.22 学院:计软院 专业:计算机科学与技术 年级:2017级 班次:5班 姓名:陈奕明 学号 20171308194 一.实验目 ...

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

     实验任务 一.使用Debug,用E命令和A命令以两种方式将指令写入内存 机器码        汇编指令 b8 20 4e     mov ax,4E20H 05 16 14     add ax,1 ...

  6. 汇编语言:实验一 查看CPU和内存,用汇编指令和机器指令编程

    Debug的使用: Debug 是DOS和Windows 实模式 (8086方式)的调试器,可以查看修改寄存器内容以及内存内容,机器码级别 Debug命令: 1)R命令:显示或修改寄存器内容 -r 显 ...

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

    四:实验结论 实验1 分别用E命令和A命令将指令写入内存: (1)E命令 再用u命令进行反汇编: (2)A命令 (3)用t命令逐条执行 在执行之前要注意cs:ip的指向,因此要用r命令进行修改: 再用 ...

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

    1.打开DosBox,输入指令:mount c d:\masm 2.使用R命令查看.改变CPU寄存器的内容 (1)查看 CS=073F,IP=0100,所以内存073F:0100处的指令为CPU当前要 ...

  9. 实验二:用机器指令和汇编指令编程

    实验任务(1) 1.使用 e 命令修改 0021:0~0021:f 数据,及修改后查看是否正确写入的操作 修改数据并查看 2.使用 a 命令输入的 p74 指令 输入汇编指令 3.每一行指令单步调试 ...

最新文章

  1. Kubernetes — HOST-DEVICE CNI
  2. Dubbo 源码分析 - 自适应拓展原理
  3. MyLiveSearch:它将会革掉Google的命?
  4. NodeJs系列二:你好,世界
  5. c打开指定路径文件_Selenium 系列篇(五):文件篇
  6. Objective-C:ARC自动释放对象内存
  7. 【C Sharp笔记】2010年9月25日
  8. Java、JS、C++ 依然强势,Go、Kotlin 等新语言为何不能破局?
  9. virtual关键字的使用(C# 参考)
  10. Linux中级之负载均衡(lvs,nginx,haproxy)、中间件
  11. 帆软填报联动 控件联动的几种方式
  12. 计算机病毒模块测试题,计算机病毒分类测试题集
  13. 电子书PDF文件的压缩实践
  14. git push报错 无法提交远程 [rejected] main -> main (fetch first)error: failed to push some refs to
  15. DRB-GAN: A Dynamic ResBlock Generative Adversarial Network for Artistic Style Transfer
  16. 【题解】10-19秀秀的森林(forest)
  17. java毕业设计大学生能力建设项目管理系统Mybatis+系统+数据库+调试部署
  18. 从零写一个操作系统之booting
  19. Excel职场小技巧:教你如何分页打印Excel表格
  20. docker 简单教程

热门文章

  1. 修改 keystore密码
  2. EndNote(二)之英文引文导入方式
  3. HDU 2040:亲和数
  4. SpringMVC根据客户端的不同的请求使用不同的VIEW进行响应
  5. Matlab的部分文件操作
  6. 如何学好计算机专业?
  7. 使用python来访问Hadoop HDFS存储实现文件的操作
  8. 关于运行中输入ping后,跳出“打开方式”选择对话框的问题
  9. 准备翻译Windows 8 动手实验系列教程
  10. DIV+CSS星号(*)选择器