汇编实验一 查看CPU和内存,用机器指令和汇编语言指令编程
在装完DosBox环境之后,就可以用debug模式进行汇编指令的编程了。
- 实验内容:
首先用a指令进行数据的储存,然后用t命令进行调试。
可以发现ax,bx在不同的命令下发生了改变,cs的地址和指令是相同的,ip的值也是根据输入指令的长度而不断的增加。
(2)将下面3条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的8次方。
mov ax,1
add ax,ax
jmp 2000:0003
先观察一下实验要求,执行完第一步后ax= 1,第二步后ax = 2,执行add 1次 2*2,执行2次,就是2*2*2就是2的3次方,那么2的8次方 就 add 执行 7次。
执行之前先将指令指向add语句 这样就会重复执行 add语句,用jmp 指令更改CS、IP寄存器的值,从而控制CPU执行目标指令。之后,就可执行我们写的汇编指令了,我们要先使用r指令改变 cs 和ip的指向,cs为代码段寄存器,ip为指针寄存器。在任意时刻,CPU将cs:ip指向的内容当做指令执行。
关于执行命令t的执行次数:执行第一二步执行需 2个t,那么执行第三步的t的时候实际上只是改变cs:ip的指向,并没执行cs:ip指向内容的机器指令,后面的7个jmp 每个需要执行2个t才能执行add方法。所以共需要执行t 16次才能计算出2的8次方。
第一次t命令:
最后一次t命令:(最后短线位置的t手抖了)
(3)查看内存中的内容。
PC机主板上的ROM中有一个生产日期,在内存FFF00H-FFFFFH的某几个单元中,请找到这个生产日期并试图改变它。
、
尝试修改:
发现无法修改。
(4)向内存从B8100H开始的单元中填写数据,如:
-e B8100:0000 01 01 02 02 03 03 04 04
请读者先填写不同的数据,观察产生的现象;再改变填写的地址,观察产生的现象。
可以看到,向B8100H单元中输入这些数据后,可以观察到界面上出现了一些彩色的图案,黄方框标识。
接着在相同的地址内填写不同的数据,可以看到出现了完全不同的图案。
下面改变输入数据的地址,可以看到显示的内容不变,位置改变了。
说实话,我也不知道这是怎么回事。我就去查了查,度娘告诉我:这一段内存为显存,是RAM,可以改变其值在屏幕上的显示,其中这一个字符占两个字节,前一个(低)为字符的ASCII码,后一个(高)为要显示的颜色。
实验总结:
(1)首先得理解并且熟练操作的一些指令。
在debug模式下常用的命令:
R命令:查看、改变CPU寄存器的内容;
D命令:查看内存中的内容;
E命令:改写内存中的内容;
U命令:将内存中的机器指令翻译成汇编指令;
T命令:执行一条机器指令;
A命令:以汇编指针的格式在内存中写入一条机器指令。
(2)通过这次实验,对debug的一些基本操作有了基本了解,如何写入机器代码和汇编代码,查看所需要的内容,并且知道了某些内存中存储的内容,以及它们中的内容是否可变等知识。
如果有什么错误的话,还希望各位大佬指出。谢谢!
汇编实验一 查看CPU和内存,用机器指令和汇编语言指令编程相关推荐
- 实验一 查看CPU和内存 用机器指令和汇编指令编程
一. Debug的使用 1. 什么是Debug Debug是Dos.Windows都提供的实模式(8086方式)程序调试的工具.使用它,可以查看CPU各种寄存器的内容.内存的情况和在机器码级跟踪程序运 ...
- [汇编语言]实验一:查看CPU和内存,用机器指令和汇编指令编程。
实验一 实验任务: 查看CPU和内存,用机器指令和汇编指令编程. 实验内容: (1)实验代码: 开始执行命令: (2)实验代码: (3)实验代码: 找到了,日期为:01/01/92,这个是虚拟机dos ...
- 汇编语言——用DOSBox的debug查看CPU和内存 用机器指令和汇编指令编程
实验一 查看CPU和内存,用机器指令和汇编指令编程 实验目的 了解什么是Debug,以及Debug中需要用的一些功能 R:查看.改变CPU寄存器的内容 D:查看内存中的内容 E:改写内存中的内容 ...
- 【实验报告】微处理器原理与应用 CPUHomework1.2 上篇【掌握DEBUG基本命令及其功能 查看CPU和内存 用机器指令和汇编指令编程】
实验报告 课程名称:微处理器原理与应用 实验名称:CPUHomework1.2 掌握 DEBUG 基本命令及其功能 文章目录 实验报告 [实验目的] [实验要求] 上篇[查看CPU和内存,用机器指令和 ...
- 实验一 查看CPU和内存,用机器指令和汇编指令编程
1.打开DosBox,输入指令:mount c d:\masm 2.使用R命令查看.改变CPU寄存器的内容 (1)查看 CS=073F,IP=0100,所以内存073F:0100处的指令为CPU当前要 ...
- 实验1 查看cpu和内存,用机器指令和汇编指令编程
四:实验结论 实验1 分别用E命令和A命令将指令写入内存: (1)E命令 再用u命令进行反汇编: (2)A命令 (3)用t命令逐条执行 在执行之前要注意cs:ip的指向,因此要用r命令进行修改: 再用 ...
- 实验1 查看CPU和内存、用机器指令和汇编指令编程
实验任务 一.使用Debug,用E命令和A命令以两种方式将指令写入内存 机器码 汇编指令 b8 20 4e mov ax,4E20H 05 16 14 add ax,1 ...
- 汇编语言:实验一 查看CPU和内存,用汇编指令和机器指令编程
Debug的使用: Debug 是DOS和Windows 实模式 (8086方式)的调试器,可以查看修改寄存器内容以及内存内容,机器码级别 Debug命令: 1)R命令:显示或修改寄存器内容 -r 显 ...
- 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及内存使用情况 ...
最新文章
- 使用IntelliJ IDEA 15和Maven创建Java Web项目
- 我的世界服务器物品绑定插件,我的世界灵魂绑定插件详解
- NFS Volume Provider(Part I) - 每天5分钟玩转 OpenStack(62
- MyBatis Generator 学习
- 反思快速在新项目中找字段的方法
- 《重返人类演化现场》阅读笔记
- apache 配置php 版本错误u,PHP+Apache+MySQL 在配置环境时遇到的问题
- 这种简历咋找工作?(运营)
- Migrate blog from blogcn here
- oracle32转64,Oracle10g下载地址--多平台下的32位和64位 (转)
- Linux-lsof
- 模型预测控制的缺点_开发者说丨Apollo代码学习—模型预测控制(MPC)
- Java GC G1 详解
- 一元二次方程的解c语言,一元二次方程求解程序完整代码
- TestFlight构建版本提示缺少出口合规证明
- 茶云个人导航系统v1.2源码 带后台+网易云歌单播放功能+腾讯智能在线客服功能
- ACAD和dll资源切换
- 程序员福音 免费在线制作证件照
- abb机器人码垛编程详解_ABB机器人码垛程序
- kaggle医学图像中的CT值(Hounsfield Unit)