Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1011863
  • 博文数量: 135
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1785
  • 用 户 组: 普通用户
  • 注册时间: 2016-12-21 22:26
个人简介

90后空巢老码农

文章分类

全部博文(135)

文章存档

2020年(33)

2019年(54)

2018年(47)

2017年(1)

我的朋友

分类: IT业界

2020-05-28 19:21:06

x86-64的CPU当中包含16个存储64位值的通用目的寄存器,用来存储整数数据和指针,下图只列出了前8个,后面还有r8-r15,结构类似

上述寄存器以及相关默认功能
rax 保存所有api函数返回值
rbx 基地址寄存器,在内存寻址时存放基地址
rcx 计数器,是REP前缀指令和loop指令的默认计数器
rdx 存放整数除法产生的余数
rsi 源索引寄存器,字符串操作中,指向源串
rdi 目标索引寄存器,字符串操作中,指向目标串
rbp 基址指针寄存器,其内存放着一个指针,永远指向系统栈最上面一个栈的底部
rsp 栈指针寄存器,其内存放着一个指针,该指针指向系统最上面一个栈帧的栈顶
内存寻址的几种格式
类型 格式 操作数值 名称
立即数 $Imm Imm 立即数寻址
寄存器 ra R[ra] 寄存器寻址
存储器 Imm M[Imm] 绝对寻址
存储器 (r) M[R[r]] 间接寻址
存储器 Imm(r) M[Imm+R[r]] (基址+偏移量)寻址
存储器 (r1, r2) M[R[r1]+R[r2]] 变址寻址
存储器 Imm(r1, r2) M[Imm + R[r1]+R[r2]] 变址寻址
存储器 (,r,s) M[R[r]*s] 比例变址寻址
存储器 Imm(,r,s) M[Imm+R[r]*s] 比例变址寻址
存储器 (r1,r2,s) M[R[r1]+R[r2]*s] 比例变址寻址
存储器 Imm(r1,r2,s) M[Imm+R[r1]+R[r2]*s] 比例变址寻址
上表中,s必须为1,2,4,8





阅读(75) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~