首页 > 解决方案 > src 或 destination 中两个值的汇编语言含义

问题描述

例如,两者之间有什么区别

cmpl $0x7, 0x8(%rsp)

cmpl $0x7, (%rsp)

cmp还有和有什么区别cmpl

标签: assemblyx86-64attaddressing-mode

解决方案


AT&T 语法中 x86 上的内存操作数通常是“ offset ( base , index , scale )”,其中offset是(常量)偏移量,base是(基)寄存器,index是(索引)寄存器,scale是常量1、2、4 或 8。但是,可以省略这些字段中的大多数以获取默认值。无偏移量表示偏移量为 0。无基数表示无基址寄存器。没有索引比例意味着没有索引寄存器。

在您的具体示例中,(%rsp)表示%rsp作为基址寄存器,没有偏移量和索引。 0x8(%rsp)表示%rsp作为基址寄存器和 0x8 (8) 作为偏移量。


推荐阅读