zoukankan      html  css  js  c++  java
  • 实验 2 用机器指令和汇编指令编程

    实验任务一、

      ·使用e命令修改 0021:0~0021:f数据,将连续8个字节改为30H, 31H, 32H, 33H,34H,35H,36H,37H,使用d命令查看修改后的结果

      

      ·使用debug,写入程序段(将 P74 实验任务(1)中第 1行的 mov ax, ffff → 改为 mov ax, 0021)

      将程序段写入后,可以使用r指令查看当前CS:IP

      

      使用t指令单步执行查看结果

      ·mov ax,0021

      

      ·mov ds,ax

      

      ·mov ax,2200

      

      ·mov ss,ax

      

      【注意:此处指令 mov sp,0100被略过,原因:在执行修改ss的指令后,即此处执行mov ss,ax后,下一条指令因中断机制被紧接执行】

      ·mov ax,[0]

      

      ->ax=3130

      ·add ax,[2]

      

      ->ax=6462

      ·mov bx,[4]

      

      ->bx=3534

      ·add bx,[6]

      

      ->bx=6c6a

      ·push ax

      

      ->sp=00fe  修改的内存单元的地址为2200:00fe,内容为6462h

      ·push bx

      

      ->sp=00fc  修改的内存单元的地址为2200:00fc,内容为6c6ah

      ·pop ax

      

      ->sp=00fe  ax=6c6a

      ·pop bx

      

      ->sp=0100  bx=6462

      ·push [4]

      

      ->sp=00fe  修改的内存单元的地址为2200:00fe,内容为6c6ah

      ·push [6]

      

      ->sp=00fc  修改的内存单元的地址为2200:00fc,内容为3736h

    实验任务二、

      1.记录图 3.19 中使用 a命令输入的 7 行指令,使用 e 命令修改 2000:0~2000:f的值,及修改后查看的部分

      

      

      

      2.单步调试每一行汇编指令的截图。且每一条指令单步调试后,都使用 d 命令查看2000:0~2000:f 的值。

      第一步:mov ax,2000

      

      内容没有变化

      第二步+第三步:mov ss,ax+mov sp,10

      

      【注意到,此时在执行完mov ss,ax后,同样由于中断机制,紧接着执行mov sp,10语句。且mov sp,10必须跟在mov ss,ax后,(因为EA(有效地址)=段基址*16+偏移地址,设置了段基址,就得马上设置偏移地址,否则就会默认sp(堆栈指针)为0。故一般需要连着使用。)】

      前三步执行的作用:设置ss=2000h,sp=0010h 即初始化栈顶

      初始化栈顶2000:0010  初始化栈底:2000:0010

    总结、

      通过实验,更进一步了解了CPU提供的栈机制,也对push、pop两条指令有了更进一步的掌握。 

      

      

  • 相关阅读:
    【BZOJ2599】[IOI2011]Race 树的点分治
    【BZOJ1787】[Ahoi2008]Meet 紧急集合 LCA
    【BZOJ1834】[ZJOI2010]network 网络扩容 最大流+最小费用流
    【BZOJ3012】[Usaco2012 Dec]First! Trie树+拓补排序
    【BZOJ2743】[HEOI2012]采花 离线+树状数组
    【BZOJ2946】[Poi2000]公共串 后缀数组+二分
    【BZOJ2157】旅游 树链剖分+线段树
    【BZOJ2661】[BeiJing wc2012]连连看 最大费用流
    【BZOJ1801】[Ahoi2009]chess 中国象棋 DP
    【BZOJ4236】JOIOJI STL
  • 原文地址:https://www.cnblogs.com/Xingxixi/p/9863905.html
Copyright © 2011-2022 走看看