1.2 debug的六种指令的使用,四个通用寄存器

汇编语言

首先进入环境

mount c d:masm		//把c挂载在d盘中的masm当中
c:		//进入c,进入到编译环境
dir		//查看文件,可有可无
  • Debug是DOS、Windows都提供的实模式(8086 方式)程序的调试工具。使用它可以查看CPU各种寄存器中的内容、内存的情况和在机器码级跟踪程序的运行。

我们用到的Debug功能:
首先输入debug进入debug模式

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

在这里插入图片描述
这里的数都是16进制表示,相当于右边的值赋值给左边的变量

修改一个寄存器中的值

可以用r命令后加寄存器名来进行
如下:
在这里插入图片描述
这样子ax的值就变成了5678.

2. 用Debug的D命令查看内存中的内容

  • 如果我们想知道内存10000H 处的内容,可以用d 段地址:偏移地址的格式来查看
    如下:
    在这里插入图片描述

  • 如果一直输入d,会发现地址偏移,在汇编中,用两个数来代表一个内存
    在这里插入图片描述

  • 在偏移地址后输入值,可以限制值的展示
    在这里插入图片描述

  • 用d 1000:9查看1000:9处的内容
    在这里插入图片描述
    Debug从1000:9 开始显示,一直到 1000:88 ,一共是128个字节。第一行中的1000:0到1000:8 单元中的内容不显示。

3. 用Debug的E命令改写内存中的内容

e 段内地址:偏移地址 值 值……
在这里插入图片描述

  • 可以输入e 段内地址:偏移地址回车,可以一个个修改值,空格显示下一个修改的值
    在这里插入图片描述

4. 用Debug的U命令将内存中的机器指令翻译成汇编指令

在这里插入图片描述
左边是机器码,右边是翻译过后的代码,代码也是有内存的,用机器码存放到内存当中,u指令就是来翻译这些机器码

5. 用Debug的T命令执行一条机器指令

6. 用Debug的A命令以汇编指令的格式在内存中写入一条机器指令

在这里插入图片描述

  1. 先输入r,查看寄存器的内容,其中cs和ip是寄存器
  2. 写入指令
a 073f:0108
add bx,ax		//将bx与ax的值相加再赋值给bx
mov cx,ax		//将ax的值拷贝一份给cxt		//一个t命令执行一条机器指令t		//一个t命令执行一条机器指令

在这里插入图片描述

7. 记忆方法(true ad)

R:register
D:display
E:edit
U:upgrade ,向上升级以便于翻译成代码
T:execute
A:add

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/499629.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何提取测试点

如何提取测试点 首先会想到从需求文档中提取测试点,每一次迭代之后,都会有需求,需求经理评审之后,我们要基于需求去写测试计划,包括梳理出来的测试点,梳理完测试点之后,编写对应的测试用例&…

Linux添加用户分组练习

一、复制/etc/skel目录为/home/tuser1(/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限)。 cp -a /etc/skel /home/tuser1 chown -R tuser1:tuser1 /home/tuser1 chmod -R 700 /home/tuser1 二、编辑/etc/group文件,添加组h…

租赁小程序|租赁系统|租赁软件开发带来高效运营

随着社会的不断发展和科技的不断进步,越来越多的企业开始关注设备租赁业务。设备租赁作为一种短期使用设备的方式,为企业提供了灵活和成本节约的优势。针对设备租赁业务的管理和提升企业竞争力的需求,很多企业选择定制开发设备租赁系统。本文…

抖音作品评论id提取工具|视频内容提取软件

抖音视频提取便捷高效,抖音作品评论id提取工具助您快速获取数据 针对抖音作品评论id提取的需求,我们推出了一款功能强大的工具,旨在帮助用户快速提取抖音作品的评论id。无论您是进行数据分析、社交媒体研究还是其他用途,我们的工…

Linux------进程地址空间

目录 一、进程地址空间 二、地址空间本质 三、什么是区域划分 四、为什么要有地址空间 1.让进程以统一的视角看到内存 2.进程访问内存的安全检查 3.将进程管理与内存管理进行解耦 一、进程地址空间 在我们学习C/C的时候,一定经常听到数据存放在堆区、栈区、…

Linux中如何在创建子线程的时候设置为分离属性

#include<stdio.h> #include<stdlib.h> #include<string.h> #include<sys/types.h> #include<unistd.h> #include <pthread.h> void *mythread(void *arg) {printf("id[%ld]\n",pthread_self()); } int main() { //定义pthread_…

【InternLM 实战营笔记】基于 InternLM 和 LangChain 搭建你的知识库

准备环境 bash /root/share/install_conda_env_internlm_base.sh InternLM升级PIP # 升级pip python -m pip install --upgrade pippip install modelscope1.9.5 pip install transformers4.35.2 pip install streamlit1.24.0 pip install sentencepiece0.1.99 pip install a…

定时任务框架

定时任务的框架有哪些 ● Timer&#xff0c;JDK自带的&#xff0c;比较简单&#xff0c;使用的时候&#xff0c;定义一个TimerTask&#xff0c;实现run方法&#xff0c;然后定义一个Timer类&#xff0c;调用timer.schedule(timerTask,1000,3000); ○ 缺点&#xff1a;单线程、…

发工资(个人学习笔记黑马学习)

某公司&#xff0c;账户余额有1W元&#xff0c;给20名员工发工资 员工编号从1到20&#xff0c;从编号1开始&#xff0c;依次领取工资&#xff0c;每人可领取1000元领工资时&#xff0c;财务判断员工的绩效分(1-10)(随机生成)&#xff0c;如果低于5&#xff0c;不发工资&#xf…

腾讯云优惠券领取的三个渠道,先领券再下单!

腾讯云代金券领取渠道有哪些&#xff1f;腾讯云官网可以领取、官方媒体账号可以领取代金券、完成任务可以领取代金券&#xff0c;大家也可以在腾讯云百科蹲守代金券&#xff0c;因为腾讯云代金券领取渠道比较分散&#xff0c;腾讯云百科txybk.com专注汇总优惠代金券领取页面&am…

计算机设计大赛 深度学习卷积神经网络垃圾分类系统 - 深度学习 神经网络 图像识别 垃圾分类 算法 小程序

文章目录 0 简介1 背景意义2 数据集3 数据探索4 数据增广(数据集补充)5 垃圾图像分类5.1 迁移学习5.1.1 什么是迁移学习&#xff1f;5.1.2 为什么要迁移学习&#xff1f; 5.2 模型选择5.3 训练环境5.3.1 硬件配置5.3.2 软件配置 5.4 训练过程5.5 模型分类效果(PC端) 6 构建垃圾…

Python算法100例-2.8 猜牌术

完整源代码项目地址&#xff0c;关注博主私信源代码后可获取 1.问题描述2.问题分析3.算法设计4.确定程序框架5.完整的程序6.运行结果 1&#xff0e;问题描述 魔术师利用一副牌中的13张黑桃&#xff0c;预先将它们排好后叠在一起&#xff0c;并使牌面朝下。然后他对观众说&am…