• 6.汇编语言--汇编基本元素、寄存器、内存初步调试


    基本知识点:

    (1)ESP:栈指针寄存器(extended stack pointer),其内存放着一个指针,该指针永远指向系统栈最上面一个栈帧的栈顶。
    (2)EBP:基址指针寄存器(extended base pointer),其内存放着一个指针,该指针永远指向系统栈最上面一个栈帧的底部。

    汇编实现加法运算调试寄存器和内存

    .586    
    .MODEL flat,stdcall
    option casemap:none
    
    ; inc 是一个头文件
    include  windows.inc
    include user32.inc
    include kernel32.inc
    ;msvcrt.inc 引用c中的输入输出功能
    include  msvcrt.inc
    
    ;库文件
    includelib user32.lib
    includelib kernel32.lib
    includelib msvcrt.lib
    
    .data
    format db "%d",0
    
    .code
    main proc
        ;将5放到eax寄存器中  mov 有两个操作数
        mov eax,5
    
        ;add 是加法指令  操作数1+操作数2 结果放在操作1里面
        add eax,6
        push eax
        push offset format
        call crt_printf
        ;压栈平衡 出栈
        add esp,8
        push 0
        call ExitProcess
        add esp,4
    
    main ENDP
    END    main
    
    ; 整数产量
    ;2进制 后面加b
    ;8 o/q
    ;10 d
    ;16 h

    调试过程

    将5放在eax 寄存器中

    mov eax 5

     add 实现加法运算:

    push 入栈   数字占4个字节

    ESP:栈指针寄存器(extended stack pointer),其内存放着一个指针,该指针永远指向系统栈最上面一个栈帧的栈顶

     继续push 入栈,向里面推4个字节

     打印出栈里面的内容

     add exp,8   出栈8个字节,前面入栈的全部出栈,堆栈平衡

  • 相关阅读:
    ServletConfig对象
    乱码问题
    response request
    mysql
    数据库三范式 简单理解
    会话 cookie
    ServletContext对象
    读取工程中的配置文件
    Servlet与缓存
    C#捕获异常崩溃时
  • 原文地址:https://www.cnblogs.com/trevain/p/14502583.html
Copyright © 2020-2023  润新知