zoukankan      html  css  js  c++  java
  • 第五章----过程

    控制台窗口:所有windows版本控制台窗口的大小默认是25行乘以80列
    可以使用mode命令修改行数和列数(cmd下命令)
      mode con cols=80 lines=80

    运行时栈:
      由CPU直接管理使用两个寄存器SS,Esp
    PUSH 压栈 -
      过程: PUSH指令首先减少ESP的值,然后把一个16位或者32位的源操作数复制到堆栈上
    POP 出栈 +

    PUSHFD 压入32位的EFLAGS寄存器的值
    POPFD 弹出堆栈的值到EFLAGS寄存器中
    PUSHAD 顺序压入所有的32位通用寄存器
    POPAD 同上面相反
    PUSHA 顺序压入16位寄存器
    POPA 同上面相反
    过程:
      过程定义:
        main proc
        ...

        main endp
    除了启动过程之外的其他过程应以ret指令结束,强制CPU返回到过程被调用的地方
    启动过程(main)以exit结束,实际上是调用了 invoke ExitProcess,0
    CALL:把返回地址压入堆栈并把被调用过程的地址复制到指令指针寄存器中
    RET:弹出程序返回地址,并设置指针寄存器
    USES:允许列出被过程修改的所有寄存器,在ret时出栈
      eg. temp proc uses esi eax

      ret
      temp endp

  • 相关阅读:
    react生命周期-渲染阶段
    react声明周期详解
    react子传父
    react 爷爷组件件传递给孙子组件
    react验证参数格式类型
    原生input上传视拼,参数形式 file: (binary)形式的
    L2-4 彩虹瓶 (25分)
    L2-3 深入虎穴 (25分)
    L2-1 链表去重 (25分)
    L1-1 帅到没朋友 (20分)
  • 原文地址:https://www.cnblogs.com/student-note/p/8626511.html
Copyright © 2011-2022 走看看