汇编

    科技2022-07-16  128

    一.基础

    汇编语言的种类: 8086汇编:16bitx86汇编:32bitx64汇编:64bitARM汇编:嵌入式和移动设备 汇编语言的书写格式 Inter:Windows派系AT&T:UNIX派系 IOS开发主要的汇编语言是 AT&T汇编 -> mac上的IOS模拟器上的ARM汇编 -> 手机实机 基础语法: 寄存器命名:%rax操作数顺序: movq -0x18%rax,%rdx ->将地址为rax - 0x18中的值赋值给rdx常数:movq $0xa,0x1ff7(%rip) ->将0xa复制给地址为0x1ff7(%rip) 的内存空间取内存地址:leaq -0x18%rax,%rdx ->将地址]rax - 0x18赋值给rdxjmp和call:jmp后接一个地址,会跳转到那个地址继续往下执行。而call后面一般接的是一个函数的地址,并且和ret(return)配合使用,在函数中遇到ret后,会回到源代码中call的下一条语句继续执行。间接跳转在jmp和call后面加上*%和寄存器名字。 操作数长度: b = 8bits = 整数16或者浮点数32w = 16l = 整数32或浮点64q = 64t = 80 寄存器长度 rax一共64位,他的一半叫eax有32位,再拿一半叫ax有16位,这16位的高八位叫ah,低8位叫al
    Processed: 0.009, SQL: 8