AT&T汇编基础

数据段 .data

   数据类型

       .ascii    文本字符串

       .asciz    以空字符结尾的文本字符串

       .byte     字节值

       .double   双精度浮点数

       .float    单精度浮点数

       .int      32位整数

       .long     32位整数

       .octa     16字节整数

       .quad     8字节整数

       .short    16为整数

       .single   单精度浮点数

    .bss

       .comm       声明未初始化的数据的通用内存区域

       .lcomm      声明未初始化的数据的本地通用内存区域

      eg .comm synbol ,length

mov指令格式

movx source, destination

其中的x可以是如下字符

       l    用于32位的长字

       w    用于16位的字值

       b    用于8位的字节值

eflag寄存器的标志位

       CF  进位标志

       OF  溢出标志

       PF  奇偶标志

       SP  符号位

       ZF  零标志

条件传送

   1.无符号条件传送       eflag状态

       CMOVA/CMOVNBE      CF/ZF = 0    大于/不小于或者等于

       CMOVAE/CMOVNB      CF = 0       大于或者等于/不小于

       CMOVNC             CF = 0       无进位

       CMOVB/CMOVNAE      CF = 1        小于/不大于或者等于

       CMOVC              CF = 1        进位

       CMOVBE/CMOVNA      CF / ZF  = 1   小于或者等于/不大于

       CMOVE/CMOVZ        ZF = 1         等于/零

       CMOVNE/CMOVNZ      ZF = 0         不等于/不为零

       CMOVP/CMOVPE       PF = 1          奇偶校验/偶校验

       CMOVNP/CMOVPO      PF = 0          奇偶校验/奇校验

   2.有符号

       CMOVGE/CMOVNL      (SF异或OF) = 0

       CMOVL/CMOVNGE      (SF异或OF) = 1

       CMOVLE/CMOVNG       ((SF异或OF) 或者 ZF) = 1

       CMOVO               OF= 1

       CMOVNO              OF = 0

       CMOVS               SF = 1

       CMOVNS              SF = 0

本文出自 “朴树” 博客,转载请与作者联系!

你可能感兴趣的:(AT&T汇编基础)