20、汇编语言中的AT&T语法与函数调用机制

汇编语言中的AT&T语法与函数调用机制

1. AT&T语法概述

在汇编语言中,除了常用的Intel语法,还有AT&T语法,它在大多数Linux发行版中是默认的。以下是一个用AT&T语法编写的最小C程序示例:

# doNothingProg_att.s 
# Minimum components of a C program, in assembly language. 
        .text 
        .globl  main 
        .type   main, @function 
main: 
        pushq   %rbp        # save caller's frame pointer 
        movq    %rsp, %rbp  # establish our frame pointer 

        movq    $0, %rax    # return 0; 

        movq    %rbp, %rsp  # restore stack pointer 
        popq    %rbp        # restore caller's frame pointer 
        ret                 # back to caller

1.1 AT&T语法与Intel语法的差异

  • 操作数大小后缀 :大多数指令助记符会添加一个指定操作数大小的字符作为后缀。具体的大小字母如下表所示:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值