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

我的博客

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

[2010-01-22 21:30] 《汇编语言》第四章实验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,4CH
       INT 21H
CODESG ENDS
END
(2)用DEBUG跟踪T1.EXE的执行过程,写出每一步执行后,相关寄存器中的内容和栈顶的内容。
-R
AX=0000  BX=0000  CX=0016  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=0B41  ES=0B41  SS=0B51  CS=0B51  IP=0000  NV UP EI PL NZ NA PO NC
0B51:0000 B80020           MOV AX,2000
-T
AX=2000  BX=0000  CX=0016  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=0B41  ES=0B41  SS=0B51  CS=0B51  IP=0003  NV UP EI PL NZ NA PO NC
0B51:0003 8ED0             MOV SS,AX
-T
AX=2000  BX=0000  CX=0016  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=0B41  ES=0B41  SS=2000  CS=0B51  IP=0008  NV UP EI PL NZ NA PO NC
0B51:0008 83C404           ADD SP,+04
-T
AX=2000  BX=0000  CX=0016  DX=0000  SP=0000  BP=0004  SI=0000  DI=0000
DS=0B41  ES=0B41  SS=2000  CS=0B51  IP=000B  NV UP EI PL NZ NA PO NC
0B51:000B 58               POP AX
-T
当我津津有味的执行着T命令时,忽然狂风大作,电闪雷鸣……弹出了一个窗口:
C:\WINDOWS\SYSTEM32\CMD.EXE - DEBUG T1.EXE
NTVDM CPU遇到无效的指令。
CS:0000 IP:0077 0P:F0 37 05 12 02 选择“关闭”终止应用程序。
选择“忽略”后,出现了:
Memory allocation error
Cannot load COMMAND,system halted
然后一个叫NTVDM.EXE的进程占用了我98%的cpu,我只好把它PK掉,然后DEBUG退出了。我又试了几次,都是这样。
然后我试着改变了下代码,将第一行指令“MOV AX,2000H”改为“MOV AX,3000H”,运行到“POP AX”倒是不提示了,直接暗箱操作,自己跳走了,跳到了C4C4:055D。这我就不知道为什么了。然后我将AX改成了4000H,结果又出现消息框提示了。
我试着查看2000:0000处的内存,结果发现如下内容:
2000:0000  51 0B 5D 05 00 00 00 00-00 00 00 00 00 00 00 00  Q.].............
貌似“51 0B”像是CS的值,难道又是保护现场,不过不知道其他同志会不会和我一样,我先跳过,以后我会回来的,学习一下“不求甚解”的精神,-_-|||
(3)PSP的头两个字节是CD20,用DEBUG加载T1.EXE,查看PSP的内容。
查看DS:0000后的256个字节
-D 0B41:0000
0B41:0000  CD 20 FF 9F 00 9A F0 FE-1D F0 4F 03 5D 05 8A 03  . ........0.]...
0B41:0010  
0B41:0020
0B41:0030
……
0B41:00F0  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
评论次数(12)  |  浏览次数(2281)  |  类型(汇编作业) |  收藏此文  | 

[  xianzhi558   发表于  2010-10-10 23:48  ]

我也是和你一样的问题额
不知道怎么解决

[  xianzhi558   发表于  2010-10-10 23:58  ]

不知道为什么 我白天在机房出现了这个问题 刚才拿自己的本本操作了一下 没问题了

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