汇编指令入门级整理 汇编指令( 二 )


我们常说32位和64位CPU指的是数据总线的宽度或数量,寄存器是暂时存储数据和中间结果的单元 。所以寄存器的位数,也就是处理数据的长度,和数据总线的数量是一样的,所以32位CPU对应的寄存器也应该是32位的 。
常用寄存器用法
上面提到的八个寄存器都有其特定的用途 。让我们以32位CPU为例,简要说明这些寄存器的功能,并在下表中进行排序:
语域EAX、AX、AH和AL的关系
在上面的图标中,每个常用寄存器后面都有其他名称,它们是同一寄存器在不同用途下的不同名称 。例如,在32位CPU上,e AX是32位寄存器,而AX是EAX的低16位,AH是AX的高8位,AL是AX的低8位 。它们的对比关系如下:
00000000 00000000 00000000 00000000|===============EAX===============|---4个字节|======AX=======|---2个字节|==AH===|-----------1个字节|===AL==|---1个字节
汇编语言指令
最后,我们讨论常见的组装说明 。因为linux和windows下的汇编语法有些不同,我们先来学习windows下的汇编指令,然后对比一下两者的区别 。
数据移动指令
算术运算指令
逻辑运算指令
循环控制指令
自反序
Linux和windows汇编的区别
如前所述,linux和windows下的汇编语法是不同的 。事实上,这两种语法差异和系统差异之间并没有绝对的关系 。一般在linux上使用gcc/g++编译器,而在windows上使用微软的cl,即MSBUILD 。因此,不同的编译器会产生不同的代码 。gcc下采用AT T的汇编语法格式,MSBUILD采用英特尔的汇编语法格式 。
摘要
汇编指令是机器指令的助记符,与机器指令一一对应 。
at的汇编语法格式与英特尔不同 。
通用登记册:EAX、EBX、ECX、EDX、电子数据交换、环境信息系统、EBP、特别程序
访问速度从高到低依次为:寄存器一级缓存二级缓存三级缓存内存硬盘 。
常用的组装说明:mov、je、jmp、call、add、sub、inc、dec和或
版权声明:本文系CSDN博主“AlbertS”原创文章,遵循CC 4.0 BY-SA版权协议 。转载请附上原始来源链接和本声明 。
原文:https://blog.csdn.net/albertsh/article/details/106041560
?华为全球分析师大会:HMS Core全球开发者应用集成的数量加速增长,打造全场景智慧体验?腾讯人均月薪 8 万,恍恍惚惚,又被平均了??200 万年薪请不到!清华姚班到底有多牛?| 原力计划?量子计算与AI“双拳”出击,他们锁定38种潜在抗疫药物?我们已经不用AOP做操作日志了!| 原力计划?国外这三位帅小伙,居然搞了个用比特币付款、无人机运送的水培沙拉项目?
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人 。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任 。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 2672143071@qq.com 举报,一经查实,本站将立刻删除 。

推荐阅读