汇编网首页登录博客注册
fpamc的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态

[2012-03-14 21:18] 第六章作业(3)

(3)将下面的程序编译连接,用Debug加载、跟踪,然后回答问题。
assume cs:code,ds:data,ss:stack 
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 
data segment 
        dw 0123h,0456h
data ends 
stack segment 
        dw 0,0
stack ends 
end start 

C:\MASM>debug q.exe
-r
AX=0000  BX=0000  CX=0044  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=14CA  ES=14CA  SS=14DA  CS=14DA  IP=0000   NV UP EI PL NZ NA PO NC
14DA:0000 B8DE14        MOV     AX,14DE
-u
14DA:0000 B8DE14        MOV     AX,14DE
14DA:0003 8ED0          MOV     SS,AX
14DA:0005 BC1000        MOV     SP,0010
14DA:0008 B8DD14        MOV     AX,14DD
14DA:000B 8ED8          MOV     DS,AX
14DA:000D FF360000      PUSH    [0000]
14DA:0011 FF360200      PUSH    [0002]
14DA:0015 8F060200      POP     [0002]
14DA:0019 8F060000      POP     [0000]
14DA:001D B8004C        MOV     AX,4C00
-d 14dd:0 3
14DD:0000  23 01 56 04                                       #.V.
-g 001d

AX=14DD  BX=0000  CX=0044  DX=0000  SP=0010  BP=0000  SI=0000  DI=0000
DS=14DD  ES=14CA  SS=14DE  CS=14DA  IP=001D   NV UP EI PL NZ NA PO NC
14DA:001D B8004C        MOV     AX,4C00
-d 14dd:0 3
14DD:0000  23 01 56 04                                       #.V.
-t

AX=4C00  BX=0000  CX=0044  DX=0000  SP=0010  BP=0000  SI=0000  DI=0000
DS=14DD  ES=14CA  SS=14DE  CS=14DA  IP=0020   NV UP EI PL NZ NA PO NC
14DA:0020 CD21          INT     21
-p

Program terminated normally

①CPU执行程序,程序返回前,data段中的数据 不变 。 
②CPU执行程序,程序返回前,CS= 14daH ,SS= 14deH ,DS= 14ddH 。
③设程序加载后,CODE段的段地址为X,则DATA段的段地址为 X+3 ,STACK段的段地址为 X+4 。

(4)如果将(1)、(2)、(3)题中的最后一条伪指令“end start”改为“end”(也就是说,不指明程序的入口),则哪个程序仍然可以正确执行?请说明原因。
答:第三个程序仍然可以正确执行,如果不指明入口位置,则程序从所分配的空间开始执行,前2个程序数据段在前,cpu会误当做指令执行。第三个程序,的入口正好是我们所希望执行的指令。
评论次数(1)  |  浏览次数(332)  |  类型(汇编作业) |  收藏此文  | 

[  tomato   发表于  2012-03-14 23:29  ]

正确。

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码