||
https://baike.baidu.com/item/%E5%86%85%E8%81%94%E6%B1%87%E7%BC%96/3183809
本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
内联汇编,指在C语言中插入汇编语言,其是Linux中使用的基本汇编程序语法。
中文名
内联汇编
解 释
在C语言中可以插入汇编语言
GNU 汇编简述
Linux 中使用的基本汇编程序语法
寄存器命名
寄存器名称有 % 前缀
操作数大小
字节 ,字 ,长型 。
立即操作数
通过使用 $ 指定直接操作数
在C语言中可以插入汇编语言。
Linux 中使用的基本汇编程序语法。GCC(用于 Linux 的 GNU C 编译器)使用 AT&T 汇编语法。下面列出了这种语法的一些基本规则。
寄存器名称有 % 前缀。即,如果必须使用 eax,它应该用作 %eax。
在所有指令中,先是源操作数,然后才是目的操作数。这与将源操作数放在目的操作数之后的 Intel 语法不同。
mov %eax, %ebx, transfers the contents of eax to ebx. |
根据操作数是字节 (byte)、字 (word) 还是长型 (long),指令的后缀可以是 b、w 或 l。这并不是强制性的;GCC 会尝试通过读取操作数来提供相应的后缀。但手工指定后缀可以改善代码的可读性,并可以消除编译器猜测不正确的可能性。
movb %al, %bl -- Byte move movw %ax |
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-21 05:32
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社