zoukankan      html  css  js  c++  java
  • 嵌入式培训学习历程第十九天

                汇编呀,,汇编      推荐一本汇编入门书  《Programming from the ground up》

      1.wget    非交互式的网络下载工具

      2.Linux程序正常退出,返回0, 否则返回非0

      3. 汇编使用'#'注释

      4.

    software(user space) system call
    os(cernel space)
    diver  
    hardware  

      5.中断  硬件中断和软件中断两种。

            system call 中断号:0x80

      6. 在汇编中

        $1 :表示数字1

        1 : 表示地址1

        movl :表示mov4个字节的内容

        .section .data :定义一段空间放数据

        .section .text : 定义代码段

        .section .debug : 用于调试的空间

        .globl _start : 定义全局的_start

        Linux 下,所有以%开头的都是寄存器

        汇编器 as  链接器 :ld

        链接主要有两个作用 : 

           (1). 修改目标文件中的信息,对地址进行重定位

           (2). 把多个目标文件合并成一个可执行文件

        以.开头的名称是汇编指示或伪操作

      7.符号在汇编中代表一个地址

      8.x86的通用寄存器 : eax, ebx, ecx, edx, edi, esi,

       x86的特殊寄存器 : ebp(栈基), esp(栈顶), eip(指令), eflags(标志)

      9.exit(int)  : 只使用低8位去保存退出值

      10.寻址方式  

          ADDRESS_OR_OFFSET(%BASE_OR_OFFSET, %INDEX, MULTIPLIER)

          类似于 A(B, C, D)

          计算公式 : A + B + C + D

          直接寻址: 只使用 ADDRESS_OR_OFFSET

          变址寻址 : 用于访问数组元素比较方便

          间接寻址 : 只使用BASE_OR_OFFSET寻址  

          基址寻址 : 只是用ADDRESS_OR_OFFSET和BASE_OR_OFFSET寻址

          立即数寻址: 指令中有一个操作数是立即数

          寄存器寻址: 指令中有一个操作数是寄存器

      11.

        在Linux上 是ELF 文件 

        在Windows上是 PE 

      12. ELF格式 有三种不同的类型

         可重定位的目标文件(Relocatable,或者Object File)

         可执行文件(Executable)

         共享库(Shared Object,或者Shared Library)

         扩展 : core文件 发生段错误时生成的文件

      13. File :查看文件类型

      14. hexdump : 把目标文件的字节全部打印出来

      15.objdump -d : 查看目标文件反汇编的结果

      16. readelf  

          -h : 查看file -header

          -S :  section-headers

          -s :  显示符号表

      推荐编译器相关的书籍 《linker and loader》《程序员的自我修养》

      英语 : index register (索引寄存器)  loop(循环)  values(值)  status code(状态码)

  • 相关阅读:
    GDB调试汇编堆栈过程分析
    20145335郝昊 《信息安全系统设计基础》第11周学习总结
    20145335郝昊 《信息安全系统设计基础》第10周学习总结
    信息安全系统设计基础》实验五实验报告
    《信息安全系统设计基础》实验四实验报告
    《信息安全系统设计基础》实验二实验报告
    20145335郝昊 《信息安全系统设计基础》第9周学习总结
    20145335《信息安全系统设计基础》实验一实验报告
    20145335郝昊 《信息安全系统设计基础》期中总结
    20145334 《信息安全系统设计基础》第十二周学习总结
  • 原文地址:https://www.cnblogs.com/cxw825873709/p/3250442.html
Copyright © 2011-2022 走看看