汇编语言:实验一 查看CPU和内存,用汇编指令和机器指令编程
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和内存,用汇编指令和机器指令编程相关推荐
- [汇编语言]实验一:查看CPU和内存,用机器指令和汇编指令编程。
实验一 实验任务: 查看CPU和内存,用机器指令和汇编指令编程. 实验内容: (1)实验代码: 开始执行命令: (2)实验代码: (3)实验代码: 找到了,日期为:01/01/92,这个是虚拟机dos ...
- 实验1 查看CPU和内存、用机器指令和汇编指令编程
实验任务 一.使用Debug,用E命令和A命令以两种方式将指令写入内存 机器码 汇编指令 b8 20 4e mov ax,4E20H 05 16 14 add ax,1 ...
- 实验一 查看CPU和内存 用机器指令和汇编指令编程
一. Debug的使用 1. 什么是Debug Debug是Dos.Windows都提供的实模式(8086方式)程序调试的工具.使用它,可以查看CPU各种寄存器的内容.内存的情况和在机器码级跟踪程序运 ...
- 实验1 查看cpu和内存,用机器指令和汇编指令编程
四:实验结论 实验1 分别用E命令和A命令将指令写入内存: (1)E命令 再用u命令进行反汇编: (2)A命令 (3)用t命令逐条执行 在执行之前要注意cs:ip的指向,因此要用r命令进行修改: 再用 ...
- 实验一 查看CPU和内存,用机器指令和汇编指令编程
1.打开DosBox,输入指令:mount c d:\masm 2.使用R命令查看.改变CPU寄存器的内容 (1)查看 CS=073F,IP=0100,所以内存073F:0100处的指令为CPU当前要 ...
- 汇编语言——用DOSBox的debug查看CPU和内存 用机器指令和汇编指令编程
实验一 查看CPU和内存,用机器指令和汇编指令编程 实验目的 了解什么是Debug,以及Debug中需要用的一些功能 R:查看.改变CPU寄存器的内容 D:查看内存中的内容 E:改写内存中的内容 ...
- 【实验报告】微处理器原理与应用 CPUHomework1.2 上篇【掌握DEBUG基本命令及其功能 查看CPU和内存 用机器指令和汇编指令编程】
实验报告 课程名称:微处理器原理与应用 实验名称:CPUHomework1.2 掌握 DEBUG 基本命令及其功能 文章目录 实验报告 [实验目的] [实验要求] 上篇[查看CPU和内存,用机器指令和 ...
- CentOS查看CPU、内存、网络流量和磁盘 I/O
安装 yum install -y sysstat sar -d 1 1 rrqm/s: 每秒进行 merge 的读操作数目.即 delta(rmerge)/s wrqm/s: 每秒进行 merge ...
- cpu使用率 htop显示_Linux查看CPU和内存使用情况
1.gnome-system-monitor GNOME System Monitor 是一个显示最近一段时间内的CPU.内存.交换区及网络的使用情况的视图工具.它还提供了一种查看CPU及内存使用情况 ...
最新文章
- 2021年春季学期-信号与系统-第十一次作业参考答案-第三小题
- C语言标准库函数getenv的实现
- java第10次作业 计科1501 张鹏
- markdown转html
- torch_geometric 笔记:nn.ChebNet
- DevExpress的GridControl的使用以及怎样添加列和绑定数据源
- MyEclipse下安装MyBatis Generator代码反向生成工具
- Python使用datetime来判断近七天
- zabbix3.0 安装方法
- Ubuntu下载安装CUDA
- 信道估计(一):信道估计基础知识
- python处理ts_python将ts转换成MP4
- 【nn.Parameter】Pytorch特征融合自适应权重设置(可学习权重使用)
- 读史可以使人明智,鉴以往可以知未来
- RabbitMQ学习笔记:消息优先级(priority)
- crontab一些常用的语法 每天凌晨1点重启一遍
- slotformatcombinations_向未授权频谱中的小区应用时隙格式指示的方法和设备与流程...
- 微软 Windows 10 官方下载地址
- java 根据已有word模板进行数据下载导出
- [再寄小读者之数学篇](2014-11-24 积分中值定理)
热门文章
- OpenCvSharp 图像像素归一化
- springdatajpa命名规则_简单了解下spring data jpa
- 地域和地方的区别_商标、品牌、LOGO,三者区别在哪里?
- linux 重新分区挂载,Linux:挂载磁盘分区,linux已挂载磁盘重新分区
- 单片机中存储器扩展位地址线怎么算_关于单片机外扩存储器的编址方法
- 二维空间有没有厚度_平面设计并不平!空间构成了解一下
- 8.QML Qt Quick Controls 2中常用的界面形式——堆叠式界面(StackView)
- Python进阶2——向量模拟
- Basler相机Pylon4配置VC++6.0
- 求非线性方程组的最小二乘解的广义逆法C实现