当前位置: 首页 > article >正文

王爽-汇编语言第二版学习-day1

学习日记day1

查看CPU和内存,用机器指令和汇编指令编程

版本:Windows XP 5.1.2006

R命令查看、改变CPU寄存器的内容

在这里插入图片描述
CS = 0AE1
IP = 0100
也就是说,内存0AE1:0100处的指令为CPU当前要读取和执行的指令。并且CS:IP所指向的内存单元为0AE1:0100,此处存放的机器码为DF998916,对应的汇编指令为FISTP WORF PTR,【BX+DI+1689】

R命令改变寄存器的内容

在这里插入图片描述
在这里插入图片描述
CS:IP的内容仅与本身内容有关,自然不会受到其他寄存器的影响。

D命令查看内存中的内容

在这里插入图片描述
d段地址:偏移地址,Debug将列出从指定内存单元开始的128个内存单元的内容,全0的可能是虚拟机下CPU与内存并不实际交换内容,从而保证内存始终为初始状态,我们查看FF00:0地址的内容,结果如下
在这里插入图片描述
因此,如有需要,我们将FF00:0替换到原书上的1000:0,另外,偏移地址是十六进制的,无论如何不要忘记这一点。因此,使用dFF00:9会显示:
在这里插入图片描述
那么,类似的 dFF00:F为
在这里插入图片描述
一进入Debug,用d命令直接查看,会列出预设的地址处的内容
在这里插入图片描述
在使用d段地址:偏移地址之后,接着使用d命令,可列出后续内容
在这里插入图片描述
采用d段地址:起始偏移地址 结尾偏移地址可指定d命令的查看范围
在这里插入图片描述
注意,因为从0开始,所以是10个数,就和0,1有两个数一样,之后的三个段地址:偏移地址也是这样

E命令改写内存中的内容

e 起始数据 数据 数据 数据…
在这里插入图片描述
也可采用提问的方式
在这里插入图片描述
可以用E命令向内存中写入字符
在这里插入图片描述
甚至可以
在这里插入图片描述
用E命令可以向内存中写入机器码
在这里插入图片描述

U命令将内存单元中的内容翻译为汇编指令

在这里插入图片描述

T命令执行指令

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

A命令直接以汇编指令的形式在内存中写入机器指令

在这里插入图片描述
其实光折腾VMware和网络就耗了我一个多小时,下次讲一下怎么快速设置完毕,网络问题也可以谈一谈,汇编其实也不太需要虚拟机的网络,XP系统总是让我回忆起了童年,贴几个图好啦,摸鱼快乐!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://www.kler.cn/a/5227.html

相关文章:

  • 测试覆盖率
  • STM32烧写失败之Contents mismatch at: 0800005CH (Flash=FFH Required=29H) !
  • C#语言的网络编程
  • Nginx:Stream模块
  • mysql -> 达梦数据迁移(mbp大小写问题兼容)
  • Mysql--基础篇--事务(ACID特征及实现原理,事务管理模式,隔离级别,并发问题,锁机制,行级锁,表级锁,意向锁,共享锁,排他锁,死锁,MVCC)
  • 最强绘图AI:一文搞定Midjourney(附送咒语)
  • MybatisPlus简讲 -- 狂神说JAVA版
  • gpt2中文训练教程-gpt2文本生成
  • 传感器实验讲解1
  • HarmonyOS/OpenHarmony应用开发-HUAWEI DevEco Studio 3.1API9集成SDK
  • 项目一:挑战6秒
  • 你看这个spring的aop它又大又宽
  • Node.js学习笔记——HTTP协议
  • 电脑微博批量删除-2023怎么批量删除微博网页版代码
  • OPNET Modeler 例程——创建一个包交换网络
  • Web前端学习:章四 -- JavaScript初级(六-七)
  • DBeaver连接达梦DM数据库及配置
  • 小黑仿生轮腿机器人(一)-本体说明及运动控制
  • 第08章_聚合函数
  • 【20230401】【每日一题】前K个高频元素
  • Springboot 多线程分批切割处理 大数据量List集合 ,实用示例
  • 【五】线程安全VS线程不安全
  • Postgersql神器之pgbadger安装配置
  • Vue项目中引入高德地图步骤详解
  • TensorFlow 1.x学习(系列二 :2):张量的动态形状与静态形状,基本的张量api