zoukankan      html  css  js  c++  java
  • 汇编语言 实验二

    · 在进行实验之前,有个小知识点: 中断机制 : Debug的T命令在执行修改寄存器SS的指令时, 下一条指令也紧接着被执行。

    实验任务(1):

      敲下如下代码

    -e 0021:0 31 32 33 34 35 36 37
    mov ax, 0021
    mov ds, ax
    
    mov ax, 2200
    mov ss, ax
    
    mov sp, 0100
    
    mov ax, [0]          ;ax = 3130
    mov ax, [2]          ;ax = 6462
    mov bx, [4]          ;bx = 3534
    add  bx, [6]          ; bx = 6C6A
    
    push ax                 ;sp = 00FE; 修改的内存单元的地址是  2200:00FE 内容为 6462
    push bx                 ;sp = 00FC;修改的内存单元的地址是  2200:00FC 内容为 6C6A
    pop ax                  ; sp = 00FE; ax = 6C6A
    pop bx                  ; sp = 0100; bx = 6462
    
    push [4]                ;sp = 00FE;修改的内存单元的地址是 2200:00FE 内容为 3534
    push [6]                ;sp = 00FC;修改的内存单元的地址是 2200:00FC 内容为 3736
    

     

    填空与实验结果一致。

    ————————————————————————————————————————————

    实验任务(2):

    1. 我们发现 2000:0~2000:f 的单元值是有变化的

       那么是什么原因呢?

       实事证明,我并没有悟性,通过百度得到,靠近栈顶的内存单元中存储的是SS, IP, CS中的值,通过对比就可以发现它们的位置,那么还有一些别的数据呢,代表什么意思?

    2. 前3行的功能是:将段寄存器ss的值设置为段地址 2000, 将段寄存器sp的值设置为偏移地址 10 . 也就是安排 2000:0000 - 2000:000F为栈空间, 初始化栈顶为 2000:10

    总结和体会: 所知尚浅,还须多读书,多敲代码,多“鼓捣”,多沉心静气。

  • 相关阅读:
    PHP 通过Socket收发16进制数据,数据包格式
    Form 提交表 单页面刷新不跳转
    查看网段内正在使用的IP以及ip定位 ——CMD批处理循环
    深入浅出讲解:php的socket通信
    PHP读取XML值的代码 解析
    大端模式和小端模式 网络字节顺序与主机字节顺序
    寒假day07
    寒假day06
    寒假day05-spring框架
    寒假day04
  • 原文地址:https://www.cnblogs.com/sunguanglin/p/9863240.html
Copyright © 2011-2022 走看看