指令 描述 示例
数据交换指令 xchg    
bswap    
xadd    
cmpxchg8b    

archlinux(x86_64)环境中搭建32位汇编开发环境

  1. GNU汇编器:gas(base-devle:binutils包中)
  2. GNU连接器:ld(base-devle:binutils包中)
  3. 安装32位glib库:lib32-glibc
  4. 简档器:gprof(base-devle:binutils包中)
    gcc -pg test.c -o test
    ./test (产生gmon.out简档文件)
    gprof test > result.txt (gprof自动调用gmon.out,产生报告result.txt)
    
  1. 汇编程序的编译与链接
    as --32 $^ -o obj.o
    ld --dynamic-linker /lib/ld-linux.so.2 -L/usr/lib32 -lc -m elf_i386 obj.o
    

IA-32平台AT&T汇编语言(Linux)

命令 数据类型 示例
.ascii 文本字符串  
.asciz 以空字符结尾的文本字符串  
.byte 字节值  
.double 双精度浮点数  
.float 单精度浮点数  
.int 32位整数  
.long 32位整数(同.int)  
.octa 16字节整数  
.quad 8字节整数  
.short 16位整数  
.single 单精度浮点数(同.float)  
.fill 拷贝填充类型 .fill repeat, size(1), value(0)