zoukankan      html  css  js  c++  java
  • 汇编语言(王爽)实验三 编程、编译、连接、跟踪

    (1)将下面程序保存为t1.asm,生成可执行文件t1.exe。

    assume cs:codesg
    
    codesg segment
       mov ax,2000H
       mov ss,ax
       mov sp,0
       add sp,10
       pop ax
       pop bx
       push ax
       push bx
       pop ax
       pop bx
    
       mov ax,4c00H
       int 21H
    
    codesg ends
    
    end

    (2)用debug跟踪t1.exe的执行过程,写出每一步执行后,相关寄存器中的内容和栈顶内容。
     step 0:通过debug t1.exe加载程序后:

    ax=0000H;bx=0000H;

    cx=0016H(表示程序长度,为22个字节);

    ds=13D5H(表示操作系统给t1.exe分配的空闲区域的段地址);

    cs=13e5H(=ds+10H,与之前描述一致);

    ss=13e5H,sp=0000H;通过d 13e5:0 1命令查看栈顶内容,为00b8H;

    step1:单步执行第一条指令后:

    ax=2000H;bx=0000H;

    其余cx,ds,cs,ss,sp均不变;

    此时栈顶内容理应不变,查看依旧为00b8H;

    step2:单步执行第二条指令后,自动连带执行第三条指令:

    ax=2000H;bx=0000H;

    其余cx,ds,cs均不变;ss和sp被重置,栈顶指向:2000:0,查看栈顶内容,为:0ff1H;

    step3:单步执行第四条指令后:

    ax=2000H;bx=0000H;

    其余cx,ds,cs,ss均不变;sp被重置,栈顶指向:2000:0a,查看栈顶内容,为:615fH;

    step4:单步执行第五条指令后:

    ax=615fH(与上一步所得一致);bx=0000H;

    其余cx,ds,cs,ss均不变;sp=sp+2,栈顶指向:2000:0c,查看栈顶内容,为:0DF0H;

    ----------因重新debug,导致前后ax不一致-----------

    step5:单步执行第六条指令后:

    ax=13e5H;bx=0DF0H(与上一步所得一致);

    其余cx,ds,cs,ss均不变;sp=sp+2,栈顶指向:2000:0E,查看栈顶内容,为:0B16H;

    step6:单步执行第七条指令后:

    ax=13e5H;bx=0DF0H;

    其余cx,ds,cs,ss均不变;sp=sp-2,栈顶指向:2000:0C,查看栈顶内容,为:13E5H(与AX一致);

    step7:单步执行第八条指令后:

    ax,bx,cx,ds,cs,ss均不变;sp=sp-2,栈顶指向:2000:0A,查看栈顶内容,为:0DF0H(与BX一致);

    step8:单步执行第九条指令后:

    ax=0DF0H(与上步查看一致);

    bx,cx,ds,cs,ss均不变;sp=sp+2,栈顶指向:2000:0C,查看栈顶内容,为:13E5H;

    step9:单步执行第十条指令后:

    bx=13E5H(与上步查看一致);

    ax,cx,ds,cs,ss均不变;sp=sp+2,栈顶指向:2000:0E,查看栈顶内容,为:0B16H;

    (3)PSP头两个字节为CD 20,用debug加载t1.exe.查看PSP内容:

    PSP区域地址范围为:ds:0~ds:ff.

  • 相关阅读:
    智慧园区数字孪生平台GIS+三维可视化的研究
    树莓派联通家庭宽带端口映射
    NetCore 5.0 Dokcer中发布报NU3028、NU3037
    django导入导出excel实践
    MySQL JSON类型
    业务、设计模式、算法
    VIM 简单教程
    k8s go-client 使用简介
    如何健壮你的后端服务
    公共dto打包时按条件导出实现feignclient接口的bean,解决feign.Feign$Builder类找不到的问题
  • 原文地址:https://www.cnblogs.com/tsembrace/p/3223419.html
Copyright © 2011-2022 走看看