zww219的个人空间 https://blog.eetop.cn/zeen [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

8086寄存器组和寻址方式 - 汇编(ZT)

已有 2766 次阅读| 2007-6-16 10:04

天气: 晴朗
心情: 高兴

8086寄存器组

通用寄存器:
EAX: (Accumulator) 累加器. 也被IO指令使用.
EBX: (base) 计算存储器地址时常用作基址寄存器.
ECX: (count) 在移位.循环.串处理指令中用作隐含的计数器.
EDX: (data) 做双字长的运算时.和AX连用. 另外.它存放IO端口地址.
变址寄存器:
ESP: (Stack Point) 堆栈指针寄存器. 指示段顶的偏移地址.
EBP: (Base Point) 基址指针寄存器. 可与SS连用确定堆栈段中的某一地址.
EDI: (Destination Index) 目的变址寄存器. DI 和 ES连用.
ESI: (Source Index) 源变址寄存器. SI 和 DS 连用.
专用寄存器:
EIP: 指令指针寄存器. 与CS连用确定下一条指令的地址.
EFLAGS: 标志寄存器.常用标志如下:
         OF 溢出   SF 符号   ZF 零   CF 进位   AF 辅助进位(第3位进位)   PF 奇偶(结果的1的个数)
         DF 方向   TF 陷阱(调试时若置位则每条指令后产生陷阱)   IF 中断(1表示允许相应可屏蔽中断)
段寄存器:
CS: (code segement) 代码段
DS: (data segement) 数据段
ES: (extra segement) 附加段
SS: (stack segement) 堆栈段
FS: 80386后增加的附加数据段
GS: 80386后增加的附加数据段


实模式存储器寻址
用来解决16位字长的机器里提供20位地址的问题.
解决的办法是分段. 20位物理地址由16位段地址和16位偏移地址组成.
段地址是一个段的起始地址(低4位为0).又称段基地址.

段    偏移
cs    ip
ss    sp   bp
ds    bx   di   si   或一个16位数
es    di


3. 80x86指令系统和寻址方式

3.1 寻址方式
立即数 如 5H
寄存器 如 AX
直接寻址 如 [2000H]
寄存器间接寻址 如   [BX] ,当寄存器用EBP或ESP时.段寄存器为SS. 否则段寄存器为DS.
寄存器相对寻址 如 COUNT[SI]. 或 [COUNT+SI]
基址变址寻址: 如 [BX][DI] 或 [BX + DI]
相对基址变址寻址 如   COUNT[BX][DI] 或 [COUNT + BX + DI]
比例变址寻址 如   COUNT[ESI*4]

转移地址

段内直接:如:
     JMP NEAR PTR PROGIA   
     JMP SHORT QUEST
其中PROGIA 和 QUEST 为断内符号地址. 在机器指令中它是一个位移量. 用IP和位移量的和做IP值.
NEAR 和 SHORT 表示近转移和短转移.

段内间接: 如:
     JMP BX
     JMP WORD PTR[BP+TABLE]
用寻址到的内存单元的值做IP值. 第2句的WORD PTR表示这是一个字的有效地址.

段间直接: 如:
     JMP FAR PTR NEXT
其中FAR PTR 表示段间转移. 它用NEXT符号地址的偏移值做IP值.用NEXT的段地址做CS值.

段间间接: 如:
     JMP DWORD PTR[INTERS+ BX]
其中DOWRD PTR 是双字操作符.表示在该地址上取双字. 其中一个字放入IP.一个字放入CS.


点赞

发表评论 评论 (1 个评论)

回复 vfdff 2007-6-19 02:25
不错的基础知识讲解

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 0

    获赞
  • 50

    评论
  • 1344

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-26 16:35 , Processed in 0.026004 second(s), 14 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部