汇编语言 王爽 【第四版】实验一
实验一Debug的使用
- debug的功能
- 实验过程
首先完成win10下环境搭建DosBox,参考这篇博客即可 : 传送门
debug的功能
用R命令查看、改变CPU寄存器的内容
用D命令查看内存中的内容
用E命令改写内存中的内容
用U命令将内存中的机器指令翻译成为汇编指令
用T命令执行一条机器指令
用A命令以汇编指令的格式在内存中写入一条机器指令
实验过程
实验任务1:使用Debug,将下面的程序写入内存中,逐条执行,观察每条指令执行CPU中相关寄存器中的
用a命令输入汇编指令比e方便
输入完毕发现IP=0017时候输入的应该是add ah,bl可以用a 1000:0017精确的去更改掉指令(注意我们在输入的时候16进制的数后面是不需要加H的)
这时候我们的指令是输入在1000:0的位置的,我们执行的时候应该更改寄存器CS:IP指向这个位置
在执行前,用d查看内存中的内容,发现是数据;
u命令可以将内存中内容解释为机器指令对应的汇编指令
一直按t键执行汇编的指令**(注意观察ip的变化)**
实验2: 将下面的3条指令写入从2000:0开始的内存单元中,利用3条指令计算2的8次方
mov ax,1
add ax,ax
jmp 2000:0003
第一步将1放入ax寄存器(2000:0)
第二步将ax寄存器的内容乘以二(2000:3)
第三步,将CS:IP指令指向第二步的位置
此时应该比较明确了,我们每按t执行一次都会得到2的n次方
并且第三步跳到2000:3使得我们下一次执行还是让ax=ax+ax
而jmp 2000:0003起到了循环的效果
所以我们按8次就得到2^8了
汇编语言 王爽 【第四版】实验一相关推荐
- 汇编语言 王爽 第四版 实验5
汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~ 实验5 编写.调试具有多个段的程序 1 编译连接下面程序,用debug加载.跟踪,回答问题. assume cs:code,ds:data, ...
- 汇编语言 王爽 第四版 实验1
汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~ 文章目录 实验1 查看CPU和内存,用机器指令和汇编指令编程 1 开始执行命令: 2 指令 过程 3 4 实验1 查看CPU和内存,用机器指 ...
- 汇编语言 王爽 第四版 第二章 检测点2.2
汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~ 检测点2.2 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为 0010H 到 1000FH . 最小肯定是偏移地址为0, ...
- 汇编语言 王爽 第四版 第三章 检测点3.2
汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~ 检测点3.2 1 补全下面的程序,使其可以将10000H-1000FH中的8个字,逆序拷贝到20000H-2000FH中. mov ax,1 ...
- 汇编语言 王爽 第四版 第六章 检测点6.1
汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~ 检测点6.1 1 下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,完成程序: assume cs:codesg cod ...
- 汇编语言(王爽第三版)实验一
实验一 题目预览 使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后的CPU中相关寄存器中内容的变化. 将下面3条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的8次方 ...
- 汇编语言(王爽第三版)实验大全
实验大全 实验1 查看CPU和内存,用机器指令和汇编指令编程 实验2 用机器指令和汇编指令编程 实验3 编程.编译.连接.跟踪 实验4 [bx]和loop的使用 实验5 编写.调试具有多个段的程序 实 ...
- 汇编语言 王爽 第四版 前两章学习心得
博客开篇 从大学入学开始,心里就萌生了写博客的想法,奈何自己太懒惰,一直没有付诸于行动.工作后,最近上班还算清闲,故又萌生出了写博客的想法.千里之行,始于足下.谨以此篇博客作为自己的博客开端,文中不足 ...
- 《汇编语言》王爽(第四版) 第十章 实验10
文章目录 前言 一.子程序1 显示字符串 1.实验任务 2.分析 (1)如何在指定位置显示 (2)如何显示指定颜色 (3)保存子程序中用到的寄存器 3.代码 二.子程序2 解决除法溢出的问题 1.实验 ...
- 《汇编语言》王爽(第四版) 第十二章 实验12
文章目录 前言 一.思路分析 1.安装 2.设置中断向量 3.do0程序 4.测试 5.优化 二.最终成果 1.完整代码 2.效果图 总结 前言 本文是王爽老师<汇编语言>(第四版) 第十 ...
最新文章
- python中forward的参数_如何将关键字参数传递给preforward钩子使用的forward?
- 基于SpringMVC下的Rest服务框架搭建【1、集成Swagger】
- 侠客X开发工作已经持续了2个月左右了。
- python socket服务器多线程_Python多线程socket服务器端
- rabbitmq在web管理界面登录失败login fail
- 词向量之Word2vector原理浅析
- QML笔记-Particle的基本使用(粒子系统的基本使用)
- 数据结构-树的基础代码
- Java讲课笔记19:throw关键字、自定义异常与垃圾回收
- Golang包管理工具之govendor的使用
- sql有循环吗_我把 SQL 执行效率提高了 10,000,000 倍!
- 《设计模式》读懂UML类图
- Sipdroid项目的编译运行
- GPS数据格式的分析与处理
- echarts世界地图各个国家及中国城市的经纬度数组
- matlab 仿真短路故障设置,基于MatlabSimulink的电力系统故障仿真与
- Android项目实战--手机卫士34--流量管理
- Silvaco学习笔记(九)毕设相关
- 如何下载打印计算机二级准考证(江西)
- 【Java】基本类型之short(四)