首页 > 其他分享 >常见寄存器

常见寄存器

时间:2023-02-07 20:25:36浏览次数:37  
标签:常见 函数调用 堆栈 参数 联用 寄存器 存储单元

寄存器名 寄存器简介 主要功能 63-0 31-0 15-0 8-0
rax 累加器,是算术运算的主要寄存器 存储返回值 rax eax ax al
rbx 基址寄存器,被调用者保存 存放存储区的起始地址 rbx ebx bx bl
rcx 计数寄存器 循环操作和字串处理的计数控制;函数调用时的第4个参数 rcx ecx cx cl
rdx I/O指针 I/O操作时提供外部设备接口的端口地址;函数调用时的第3个参数 rdx edx dx dl
rsi (source index)源变址寄存器,与rds段寄存器联用,可以访问数据段中的任一个存储单元 函数调用时的第2个参数 rsi esi si sil
rdi (destination index)目的变址寄存器,与res段寄存器联用,可以访问附加段中的任一个存储单元 函数调用时的第1个参数 rdi edi di dil
rbp (base pointer)基址指针寄存器,用于提供堆栈内某个单元的偏移地址,与rss段寄存器联用,可以访问堆栈中的任一个存储单元,被调用者保存 rbp ebp bp bpl
rsp (stack pointer)栈顶指针寄存器,提供堆栈栈顶单元的偏移地址,与rss段寄存器联用,以控制数据进栈和出栈 rsp esp sp spl

标签:常见,函数调用,堆栈,参数,联用,寄存器,存储单元
From: https://www.cnblogs.com/fallrain/p/17099683.html

相关文章

  • Django关于站点管理Admin Site的常见问题解决方法
    1.改变django默认语言的方法?仅需添加’django.middleware.locale.LocaleMiddlewar’到MIDDLEWARE_CLASSES设置中,并确保它在’django.contrib.sessions.middleware.Session......
  • 1.2 CPU是寄存器的集合体
    1.程序是把寄存器当作对象来描述的。2.汇编语言采用助记符来编写程序。3.机器语言是指CPU可以直接解释和执行的语言。4.汇编语言和机器语言基本上是一一对应的。 通......
  • 常见用法grep_tail_more
    grep用grep来搜索多个条件AND条件 使用-E'pattern1.*pattern2'实现AND操作。 grep-E'pattern1.*pattern2'filename grep-E'pattern1.*pattern2|pattern2......
  • 面试官:谈谈你知道的 DOM 常见的操作
    前言大家好,我是CoderBin,本次总结了JavaScript中DOM的一些常用操作,希望对大家有所帮助,谢谢!如果文中有不对、疑惑的地方,欢迎在评论区留言指正......
  • MySQL常见的几种优化方案
    Mysql常见优化分类:select[字段优化1]:主要是覆盖索引from[表]where[条件优化2]union[联合查询优化3]新建表CREATETABLE`student`(`id`int(11)NOT......
  • Dajngo开发常见问题汇总 -- Serializer篇
    常见问题一、Django枚举类型扩展方法(Model.get_FOO_display())问题#标准的枚举写法EXPERIENCE_CHOICES=((1,'应届毕业生'),(2,'3年及以下'),.........
  • Dajngo开发常见问题汇总 -- Model设计篇
    verbose_name可以作为第一个参数传入,使书写更加工整和有序;name=models.CharField('类别名',default="",max_length=30,help_text="类别名")请尽量为每个model和f......
  • Android 常见问题之Assets文件大小限制
    AndroidAssetPackagingTool(aapt)使用这个工具可打包所有数据ImageXML文件任何资源文件.在生成APK时aapt选择性的压缩各种资源来节省设备空间,aa......
  • python新手常见问题一:乱用表达式
    在函数参数中乱用表达式作为默认值Python允许给一个函数的某个参数设置默认值以使该参数成为一个可选参数。尽管这是这门语言很棒的一个功能,但是这当这个默认值是可变对象(mu......
  • Python新手常见问题二:不正确的使用类变量
    不正确的使用类变量看下面一个例子:>>>classA(object):...x=1...>>>classB(A):...pass...>>>classC(A):...pass...>>>printA.x,B.x,C.x111看起......