汇编语言-寄存器

汇编语言-寄存器

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

通用寄存器

AX,BX,CX,DX

为了兼容性可将16位寄存器分位两个8位寄存器 高8位和第8位

AH、AL、BH、BL、CH、CL、DH、DL

初识汇编指令

汇编指令 操作内容 高级语言语法描述
mov ax,18 将18送入寄存器AX AX = 18
mov ah,78 将78送入寄存器AH AH = 78
add ax,8 将寄存器AX中的数值加上8 AX = AX +8
mov ax,bx 将寄存器BX中的数据送入寄存器AX AX = BX
add ax,bx 将AX,BX的数值相加,结果存入AX AX = AX + BX

8086CPU给出物理地址的方法

8086CPU相关部件的逻辑结构

物理地址=段地址*16+偏移地址本质含义:CPU在访问内存时,用一个基础地址(段地址 *16)和一个相对于基础地址的偏移地址相加,给出内存单元的物理地址

段的概念

  • CPU可以用不同的段地址和偏移地址形成同一个物理地址

    当菜cpu要访问21F60H单元,则它给出的段地址SA和偏移地址EA满足SA*16+EA=21F60H即可

  • 如果给定一个段地址,仅通过变化偏移地址来寻址,最多可定位多少个内存单元?

    偏移地址16位,变化范围为0~FFFFH,仅用偏移地址来寻址最多可寻64KB个内存单元

段寄存器

CS:代码段寄存器 IP:指令指针寄存器

CPU将CS:IP☞的内容当作指令执行

  • 从CS:IP☞的内存单元读取指令,读取的指令进入指令缓冲器
  • IP=IP+所读取指令的长度,从而指向下一条指令
  • 执行指令。前往第一个步骤,重复。

修改CS:IP的指令

jmp 段地址:偏移地址 :用指令中的段地址修改CS,偏移地址修改IP

jmp 寄存器 :用寄存器中的值修改IP

posted @   且任荣枯  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· c# 半导体/led行业 晶圆片WaferMap实现 map图实现入门篇
· 易语言 —— 开山篇
点击右上角即可分享
微信分享提示