Debug的使用:

Debug 是DOS和Windows 实模式 (8086方式)的调试器,可以查看修改寄存器内容以及内存内容,机器码级别

Debug命令:

  1)R命令:显示或修改寄存器内容

    -r 显示所有寄存器及内容,且在末尾显示当前CS:IP指向的内存单元的指令

    -r ax 修改ax寄存器值,会出现:提示输入

      注意修改CS和IP可以使用r命令,与汇编指令区别开(汇编jmp,debug -r)

  2)D命令:显示内存内容

    -d 无参数显示当前CS:IP地址开始128个内存单元数值及对应ASCII码

    -d 1000:0 显示1000H:0H地址开始128个内存单元数值及对应ASCII码

    -d 1000:0 F 显示1000H:0H地址开始F个内存单元数值及对应ASCII码

  3)E命令:修改内存内容

    -e 1000:0 1 2 3 ....从1000H:0H地址开始每个内存单元依次是0,1,2...要改多少就写多少

    -e 1000:0 以提问方式依次写入各个单元内容,输入此命令之后显示1000H:0H的数值并且显示一个 . ,在点之后输入新的数值

          按空格跳到下一个内存单元, . 后不输入数值按空格表示不修改该内存单元数值,回车键结束命令

    -e 1000:0 1 'a' 2 'b'  输入字符, 对应内存单元数值为: 01 61 02 62      61十进制是91表示小写字母a

    -e 1000:0 1 "a+b" 2 "nihao" 输入字符串

    对内存来说数据和指令都是二进制没有区别的,所以用E命令也可以把指令写入内存

    1. mov ax,0001指令对应的机器码是b80100

    2. -e 1000:0 b8 01 00 把指令的机器码写入内存

    3. -r cs      :1000   -r ip    :0 设置CS:IP使下个指令指向我们覆盖的内存

    4.-t 运行一次指令

  4)U命令:将内存中的机器码翻译成汇编指令并显示

    1. -e 1000:0 b8 01 00 把指令的机器码写入内存

    2. -u 1000:0 从1000:0内存开始把内存中数值翻译成汇编指令

      结果 :   1000:0000 B80100 MOV AX,0001

           1000:0003  ...

  5)T命令:执行当前CS:IP指向的指令,执行完自动显示寄存器内容

  6)A命令:以字符串方式把指令写入内存

    -a 1000:0 回车后自动显示1000:0000

          输入mov ax,1之后自动显示1000:0003 再输入其他指令,输入结束回车

 

 实验:

  1.计算2的N次方:

  从1000:0初开始输入指令  

  mov ax,1

  add ax,ax

  jmp 1000:0003    :跳转到add指令

  2.查看PC主机ROM内存上的生产日期,地址位于FFF00H到FFFFFH

  -d FFF0:0 查看从FFF00H开始的128内存单元

  -d 查看接下来的128内存单元

  用-e修改是不可以的,ROM只读的

  

    

转载于:https://www.cnblogs.com/superzhao/p/4602230.html

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. CentOS查看CPU、内存、网络流量和磁盘 I/O

    安装 yum install -y sysstat sar -d 1 1 rrqm/s: 每秒进行 merge 的读操作数目.即 delta(rmerge)/s wrqm/s: 每秒进行 merge ...

  9. cpu使用率 htop显示_Linux查看CPU和内存使用情况

    1.gnome-system-monitor GNOME System Monitor 是一个显示最近一段时间内的CPU.内存.交换区及网络的使用情况的视图工具.它还提供了一种查看CPU及内存使用情况 ...

最新文章

  1. 2021年春季学期-信号与系统-第十一次作业参考答案-第三小题
  2. C语言标准库函数getenv的实现
  3. java第10次作业 计科1501 张鹏
  4. markdown转html
  5. torch_geometric 笔记:nn.ChebNet
  6. DevExpress的GridControl的使用以及怎样添加列和绑定数据源
  7. MyEclipse下安装MyBatis Generator代码反向生成工具
  8. Python使用datetime来判断近七天
  9. zabbix3.0 安装方法
  10. Ubuntu下载安装CUDA
  11. 信道估计(一):信道估计基础知识
  12. python处理ts_python将ts转换成MP4
  13. 【nn.Parameter】Pytorch特征融合自适应权重设置(可学习权重使用)
  14. 读史可以使人明智,鉴以往可以知未来
  15. RabbitMQ学习笔记:消息优先级(priority)
  16. crontab一些常用的语法 每天凌晨1点重启一遍
  17. slotformatcombinations_向未授权频谱中的小区应用时隙格式指示的方法和设备与流程...
  18. 微软 Windows 10 官方下载地址
  19. java 根据已有word模板进行数据下载导出
  20. [再寄小读者之数学篇](2014-11-24 积分中值定理)

热门文章

  1. OpenCvSharp 图像像素归一化
  2. springdatajpa命名规则_简单了解下spring data jpa
  3. 地域和地方的区别_商标、品牌、LOGO,三者区别在哪里?
  4. linux 重新分区挂载,Linux:挂载磁盘分区,linux已挂载磁盘重新分区
  5. 单片机中存储器扩展位地址线怎么算_关于单片机外扩存储器的编址方法
  6. 二维空间有没有厚度_平面设计并不平!空间构成了解一下
  7. 8.QML Qt Quick Controls 2中常用的界面形式——堆叠式界面(StackView)
  8. Python进阶2——向量模拟
  9. Basler相机Pylon4配置VC++6.0
  10. 求非线性方程组的最小二乘解的广义逆法C实现