汇编学习
全速前行
昵称已经改过三次,每个名称都代表了当时自己的心境。而这个全速前行是让自己更快的行动起来,不能总是光想而不做。也督促自己一定要快速建模,行动起来,才知道程序到底优势和缺陷在哪。我,还是那个快乐的移动开发者
展开
-
32位CPU所含有的寄存器
4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)1、数据寄存器数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。32位CPU有4个32位的通用寄存器EAX、EBX、ECX和转载 2010-04-01 11:23:00 · 3911 阅读 · 0 评论 -
汇编语言里 eax, ebx, ecx, edx, esi, edi, ebp, esp这些都是什么意思啊?
eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编语言中CPU上的通用寄存器的名称,是32位的寄存器。如果用C语言来解释,可以把这些寄存器当作变量看待。比方说:add eax,-2 ; //可以认为是给变量eax加上-2这样的一个值。这些32位寄存器有多种用途,但每一个都有“专长”,有各自的特别之处。EAX 是"累加器"(accum转载 2010-04-01 13:05:00 · 36509 阅读 · 5 评论 -
ARM 指令的条件码
1.程序状态寄存器的条件标志位N 运算结果的b31位值。对于有符号二进制补码,结果为负数时N=1,结果为正数或零时N=0;Z 指令结果为0时Z=1,否则Z=0;C 使用加法运算(包括CMN指令),b31位产生进位时C=1,否则C=0。使用减法运算(包括CMP),b31位产生借位时C=0,否则C=1。对于结合移位操作的非加法/减法指令,C为b31位最后的移出值,其它指令C通常不原创 2013-10-30 10:52:50 · 7826 阅读 · 0 评论 -
AT&T与Intel格式的汇编语法
一、AT&T 格式Linux 汇编语法格式在 AT&T 汇编格式中,寄存器名要加上 '%' 作为前缀;而在 Intel 汇编格式中,寄存器名不需要加前缀。例如:AT&T 格式Intel 格式pushl %eaxpush eax在 AT&T 汇编格式中,用 '$' 前缀表示一个立即操作数;转载 2014-06-27 21:10:20 · 5830 阅读 · 0 评论