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

我的博客

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

[2011-08-22 16:12] 第四章实验3

实验3编程、编译、连接、跟踪
(1)将下面的程序保存为t1.asm文件,将其生成可执行文件t1.exe。
ASSUME CS:CODESG
CODESG SEGMENT
mov ax,2000H 
mov ss,ax    
mov sp,0     
add sp,4     
PoP ax       
pop bx
push ax
push bx
poP ax
pop bx
mov ax,4c00H
int 21H
CODESG ENDS
END
(2)用Debug跟踪t1.exe的执行过程,写出每一步执行后,相关寄存器中的内容和栈
顶的内容。
ASSUME CS:CODESG
CODESG SEGMENT
mov ax,2000H  AX=2000H
mov ss,ax     SS=2000H
mov sp,20H    SP=20H;这里为了下面单步执行时不会出现“cpu遇到无效指令”所以设大了一些。
ADD SP,4      SP=24H
PoP ax        SP=26H,AX=0
pop bx        SP=28H,BX=0
push ax       SP=26H,SS:[SP]==0
push bx       SP=24H,SS:[SP]==0
poP ax        SP=26H,AX=0
pop bx        SP=28H,BX=0
mov ax,4c00H  AX=4C00H
int 21H       CS=00A7H,IP=107CH
CODESG ENDS
END
C:\DOCUME~1\ADMINI~1>DEBUG C:\t1.EXE
-T

AX=2000  BX=0000  CX=0016  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=0B95  ES=0B95  SS=0BA5  CS=0BA5  IP=0003   NV UP EI PL NZ NA PO NC
0BA5:0003 8ED0          MOV     SS,AX
-T

AX=2000  BX=0000  CX=0016  DX=0000  SP=0020  BP=0000  SI=0000  DI=0000
DS=0B95  ES=0B95  SS=2000  CS=0BA5  IP=0008   NV UP EI PL NZ NA PO NC
0BA5:0008 83C404        ADD     SP,+04
-T

AX=2000  BX=0000  CX=0016  DX=0000  SP=0024  BP=0000  SI=0000  DI=0000
DS=0B95  ES=0B95  SS=2000  CS=0BA5  IP=000B   NV UP EI PL NZ NA PE NC
0BA5:000B 58            POP     AX
-T

AX=0000  BX=0000  CX=0016  DX=0000  SP=0026  BP=0000  SI=0000  DI=0000
DS=0B95  ES=0B95  SS=2000  CS=0BA5  IP=000C   NV UP EI PL NZ NA PE NC
0BA5:000C 5B            POP     BX
-T

AX=0000  BX=0000  CX=0016  DX=0000  SP=0028  BP=0000  SI=0000  DI=0000
DS=0B95  ES=0B95  SS=2000  CS=0BA5  IP=000D   NV UP EI PL NZ NA PE NC
0BA5:000D 50            PUSH    AX
-T

AX=0000  BX=0000  CX=0016  DX=0000  SP=0026  BP=0000  SI=0000  DI=0000
DS=0B95  ES=0B95  SS=2000  CS=0BA5  IP=000E   NV UP EI PL NZ NA PE NC
0BA5:000E 53            PUSH    BX
-T

AX=0000  BX=0000  CX=0016  DX=0000  SP=0024  BP=0000  SI=0000  DI=0000
DS=0B95  ES=0B95  SS=2000  CS=0BA5  IP=000F   NV UP EI PL NZ NA PE NC
0BA5:000F 58            POP     AX
-T

AX=0000  BX=0000  CX=0016  DX=0000  SP=0026  BP=0000  SI=0000  DI=0000
DS=0B95  ES=0B95  SS=2000  CS=0BA5  IP=0010   NV UP EI PL NZ NA PE NC
0BA5:0010 5B            POP     BX
-T

AX=0000  BX=0000  CX=0016  DX=0000  SP=0028  BP=0000  SI=0000  DI=0000
DS=0B95  ES=0B95  SS=2000  CS=0BA5  IP=0011   NV UP EI PL NZ NA PE NC
0BA5:0011 B8004C        MOV     AX,4C00
-T

AX=4C00  BX=0000  CX=0016  DX=0000  SP=0028  BP=0000  SI=0000  DI=0000
DS=0B95  ES=0B95  SS=2000  CS=0BA5  IP=0014   NV UP EI PL NZ NA PE NC
0BA5:0014 CD21          INT     21
-T

AX=4C00  BX=0000  CX=0016  DX=0000  SP=0022  BP=0000  SI=0000  DI=0000
DS=0B95  ES=0B95  SS=2000  CS=00A7  IP=107C   NV UP DI PL NZ NA PE NC
00A7:107C 90            NOP
-
(3)PSP的头两个字节是CD 20,用Debug加载t1.exe,查看PSP的内容。
-R
AX=0000  BX=0000  CX=0016  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=0B95  ES=0B95  SS=0BA5  CS=0BA5  IP=0000   NV UP EI PL NZ NA PO NC
0BA5:0000 B80020        MOV     AX,2000
-D0B95:0 FF
0B95:0000  CD 20 FF 9F 00 9A F0 FE-1D F0 4F 03 90 05 8A 03   . ........O.....
0B95:0010  90 05 17 03 90 05 7F 05-01 01 01 00 02 FF FF FF   ................
0B95:0020  FF FF FF FF FF FF FF FF-FF FF FF FF 3D 0B 4C 01   ............=.L.
0B95:0030  50 0A 14 00 18 00 95 0B-FF FF FF FF 00 00 00 00   P...............
0B95:0040  05 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
0B95:0050  CD 21 CB 00 00 00 00 00-00 00 00 00 00 20 20 20   .!...........
0B95:0060  20 20 20 20 20 20 20 20-00 00 00 00 00 20 20 20           .....
0B95:0070  20 20 20 20 20 20 20 20-00 00 00 00 00 00 00 00           ........
0B95:0080  00 0D 43 3A 5C 4E 2E 45-58 45 0D 41 53 54 45 52   ..C:\N.EXE.ASTER
0B95:0090  3D 41 30 0D 64 64 72 65-73 73 2E 20 20 46 6F 72   =A0.ddress.  For
0B95:00A0  20 65 78 61 6D 70 6C 65-3A 0D 20 6F 6E 20 4E 54    example:. on NT
0B95:00B0  56 44 4D 2C 20 73 70 65-63 69 66 79 20 61 6E 20   VDM, specify an
0B95:00C0  69 6E 76 61 6C 69 64 0D-20 6F 6E 6C 79 2E 0D 00   invalid. only...
0B95:00D0  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
0B95:00E0  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
0B95:00F0  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
注意,一定要做完这个实验才能进行下面的课程。
评论次数(1)  |  浏览次数(307)  |  类型(汇编作业) |  收藏此文  | 

[  tomato   发表于  2011-08-22 18:02  ]

没问题。

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