zoukankan      html  css  js  c++  java
  • 王爽汇编实验(五)

    将下面的程序编译、连接,用Debug加载、跟踪,然后回答问题。

    assume cs:code,ds:data,ss:stack

    data segment 

    dw 0123h,0456h,0789h,0abch,0def,0fedh,0cbah,0987h

    data ends

    stack segment 

    dw 0,0,0,0,0,0,0,0

    stack ends

    code segment 

    start:mov ax,stack

    mov ss,ax

    mov sp,16

    mov ax,data

    mov ds,ax

    push ds:[0]

    push ds:[2]

    pop ds:[2]

    pop ds:[0]

    mov ax,4c00h

    int 21h

    code ends

    end start

    ① cpu执行程序,程序返回前,data段中的数据为多少?

    不必执行,因为不变

    ② cpu执行程序,程序返回前,cs=076C、ss=076B、ds=076A、。

    ③ 设程序加载后,code段的段地址为X,则data段的段地址为X-2H,stack段的段地址X-1H。

    (2)将下面的程序编译、连接,用Debug加载、跟踪,然后回答问题

    ① cpu执行程序,程序返回前,data段中的数据为多少?

    不变

    ② cpu执行程序,程序返回前,cs=076C、ss=076B、ds=076A、。

    ③ 设程序加载后,code段的段地址为X,则data段的段地址为X-2H,stack段的段地址X-1H。

    ④对于如下定义的段:

    name segment 

    ····

    name ends

    如果段中的数据占N个字节,则程序加载后,该段实际占有的空间为(N/16+1)*16

    (3)按START DATA STACK 的顺序更改(2)的指令,因为顺序相反,所以code的段地址不同

    1 CPU执行 ,程序返回前,data段数据为多少?

    答:Data段数据为0123h,0456h

    2 CPU执行 ,程序返回前,cs076A,ss=076E,ds=076D

    3设程序加载后,code段的地址为X,则data段的段地址: X+3,Stack段的段地址:X+4

  • 相关阅读:
    vue-ssr优化
    学习基础笔记1
    js原型链继承图
    浏览器缓存和Service Worker
    react项目启动详解(转载)
    深拷贝js对象或数组
    css多边形
    css三角形
    字体文件使用及压缩
    前端调试效率低?试试这10个“Chrome开发者工具”使用技巧
  • 原文地址:https://www.cnblogs.com/otakus/p/wsassembly05.html
Copyright © 2011-2022 走看看