汇编语言

  • 寄存器
    • 寄存器的分类
    • 几条常用的汇编指令
    • 物理地址
    • 段寄存器
      • CS和IP
      • 修改CS,IP指令
    • debug常用命令:
    • 内存中字的存储

寄存器

寄存器的分类

8086CPU有14个寄存器,分别是:AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW

通常我们常用的寄存器是AX,BX,CX,DX,这四类寄存器称为通用寄存器,用来存放一般数据

几条常用的汇编指令

汇编指令 控制CPU完成的操作
mov ax,01 将01送入寄存器AX
mov ah,78 将78送入寄存器AH
add ax,8 将寄存器AX的数值加上8
mov ax,bx 将寄存器BX的内容送到寄存器AX

物理地址

8086CPU的物理地址计算方法:物理地址=段地址*16+偏移地址,由地址加法器完成

当8086CPU要读写内存时:

  1. 相关部件提供两个16位的地址,即段地址和偏移地址
  2. 段地址和偏移地址通过内部总线送入一个称之为地址加法器的部件
  3. 地址加法器将两个16位的地址合成一个20位的物理地址
  4. 地址加法器通过内部总线将20位的物理地址送入输入输出控制电路
  5. 输入输出控制电路将20位物理地址送上地址总线
  6. 20位的物理地址被地址总线送入存储器

段寄存器

段寄存器用于存放CPU的段地址

段地址有:CS,DS,SS,ES

CS和IP

  • CS为代码段寄存器
  • IP为指令指针寄存器

在任意时刻,CPU将CS:IP指向的内容当做指令执行

修改CS,IP指令

我们如何修改CS,IP指令呢?

显然,CPU必须提供相应的指令,而修改CS,IP的指令,8086CPU给我们提供了jmp指令,弱项修改CS,IP指令,可以有如下操作:jmp 段地址:偏移地址

例如:jmp 2AE3:3执行后 CS=2AE3H,IP=0003H,CPU将从2AE33H处读取指令

指令中段地址修改CS,偏移地址修改IP,而若想只修改IP,还可以通过jmp ax来修改,jmp ax 好似 mov IP,ax,但是切记,mov IP,ax是不合法的指令,在这里只是为了能更好的理解jmp ax

debug常用命令:

命令 作用
R 查看,改变CPU寄存器的内容
D 查看内存中的内容
E 改写内存器中的内容
U 将内存中的机器指令翻译成汇编指令
T 执行一条机器指令
A 以汇编指令的格式在内存中写入一条机器指令

内存中字的存储

CPU中,用16位的寄存器来存储一个字,高8位存放在高位字节,低8位存放在低位字节。在内存中存储时,由于内存单元是字节单元,所以一个字要用两个连续地址的内存单元来存放

因此,我们提出字单元的概念:存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成

汇编语言 (王爽) 第二章笔记相关推荐

  1. 汇编语言 王爽第二版 总结

    汇编语言 王爽第二版 总结,所以内容都是8086的 summary asssembly ,汇编总结 why: 最初始的编程语言就是使用打孔机,打出来的0 1 代码,然后把卡片插入到电脑中运行然后 看输 ...

  2. 汇编语言王爽第二版-课后答案以及解析

    检测点1.1 (1)1个CPU的寻址能力为8KB,那么它的地址总线的宽度为 13位. (2)1KB的存储器有 1024 个存储单元,存储单元的编号从 0 到 1023 . (3)1KB的存储器可以存 ...

  3. 汇编语言 王爽 第四版 第二章 检测点2.2

    汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~ 检测点2.2 给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为 0010H 到 1000FH . 最小肯定是偏移地址为0, ...

  4. 汇编语言 王爽 第四版 第三章 检测点3.2

    汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~ 检测点3.2 1 补全下面的程序,使其可以将10000H-1000FH中的8个字,逆序拷贝到20000H-2000FH中. mov ax,1 ...

  5. 汇编语言 王爽 第四版 第六章 检测点6.1

    汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~ 检测点6.1 1 下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,完成程序: assume cs:codesg cod ...

  6. 《Spring Recipes》第二章笔记:Creating Beans by Invokin...

    2019独角兽企业重金招聘Python工程师标准>>> <Spring Recipes>第二章笔记:Creating Beans by Invoking an Insta ...

  7. 《Spring Recipes》第二章笔记:Customizing Bean Initiali...

    2019独角兽企业重金招聘Python工程师标准>>> <Spring Recipes>第二章笔记:Customizing Bean Initialization and ...

  8. 汇编语言——王爽版 总结

    汇编语言-王爽summary<考试复习版> 摆烂一学期,期末抱佛脚 只针对必要内容总结,并非按目录总结 文章目录 汇编语言-王爽summary<考试复习版> `只针对必要内容总 ...

  9. 【汇编语言 王爽】实验14代码

    实验需求如下: 编程,以"年/月/日 时:分:秒"的格式显示时间 注意:CMOS RAM中储存着系统的配置信息,除了保存时间信息的单元外,不要向其他单元写入内容,否则将引起一些系统 ...

  10. 算法图解第二章笔记与习题(选择排序)

    算法图解第二章笔记与习题(选择排序) 文章目录 算法图解第二章笔记与习题(选择排序) 2.2 数组和链表 2.2.1 链表 2.2.2 数组 2.2.3 数组和链表的读取.插入和删除操作的时间复杂度 ...

最新文章

  1. Alibaba Java诊断利器Arthas实践--使用redefine排查应用奇怪的日志来源
  2. 利用svn自动同步更新到网站服务器 -- 网摘
  3. vc 中对对话框的几种操作
  4. Nhibernate 3.0 cookbook学习笔记 配置与架构
  5. Linux缺少qt5core,关于qt5:无法运行Qt应用:找不到版本“ Qt_5”
  6. 与fastboot相关的知识
  7. IOS的 testflight测试设置
  8. Spring Boot EasyPoi导出Excel下载
  9. SpringMvc-HandlerExceptionResolver
  10. 在没有鼠标或键盘的情况下在 Mac 上如何启用蓝牙?
  11. 遭遇nat.exe,socks.exe,USP10.dll,BOSC.dll,kb080387.CNT,~ctwxw.txt等1
  12. 单应性矩阵的理解及求解
  13. IDEA 修改主题设置修改主题字体,编辑区字体
  14. 星号下三角形python答案_Python练习题:星号三角形
  15. 关于路由器中家长控制和上网控制的设置
  16. 【产品经理学习笔记】Part 13 产品运营案例分析
  17. 2021-05-22 黑板异或游戏
  18. 电子采购平台解决方案:构建企业采购管理系统业务架构、应用场景
  19. 清华大学公开课线性代数2——第9讲:马尔科夫矩阵和正矩阵
  20. 双节锂电池充电方案芯片IP2320,支持5V输入同步开关升压充电

热门文章

  1. 没想到!网络美女直播背后的真相居然是这样
  2. 素描小子跑酷html5游戏在线玩,推荐14款强大的HTML5素描及绘图工具
  3. 在上海创业的日子之我们开始创业了
  4. 【Y忍冬草】QT更改构建目录
  5. vim 向前,向后查找
  6. 网络安全工具 Godzilla 哥斯拉内存马使用
  7. 湖南科技大学c语言试题,湖南科技大学c语言期末试题库
  8. IPV6ND协议之NUD与DAD机制
  9. 【Proteus仿真】【STM32单片机】酒精浓度检测系统设计
  10. 详解扫雷游戏(C语言)