linux 下汇编初体验

 这几天看来linux C 里面有一些关于汇编到基础知识,我就把看后到心得说出来听听,每天都有连载哦@!。

  和C一样,汇编也有相似到格式。

  1.   .section .data   下面的相当于全局变量

  2.  .section .text      下面的相当于写的代码

        (.section   表达到意思是段   以他开头的指令是 汇编指示 不翻译成机器指令)

  3. .globl _start      和C中到 int main() 是一样的

  4. movl $1, %eax  将类型为long型到立即数1 放到eax中去 (1放入eax寄存器是_exit的系统调用号   内核需要eax判断用户需要那种系统调用   ebx的值是给_exit传到 表退出状态)

  5.x86 通用寄存器eax ebx ecx edx edi esi                eip 是 程序计数器  eflags保存计算中的标志位     ebp 和 esp用于维护函数调用的栈帧

  6.as 是汇编命令 变成 *.o 文件         ld 是链接汇编命令 变成可执行文件     

  7.ELF 文件 读出目标文件的ELF    readelf -a *.o              hexdump -C *.o  打印全部文件信息        objdump -d *.o  反汇编命令


猜你喜欢

转载自blog.csdn.net/q648253885/article/details/6844743
今日推荐