首页
社区
课程
招聘
[原创]21世纪经典奇图2福,7月21日更新1
发表于: 2007-7-16 00:09 7892

[原创]21世纪经典奇图2福,7月21日更新1

2007-7-16 00:09
7892
经典奇图2福啊!

第2图的代码如下:
assume cs:codesg
codesg segment
      mov ax,2000h
      mov ss,ax
      mov sp,0
      add sp,4
      push ax
      push bx
      pop ax
      pop bx
      mov ax,4c00h
      int 21h
codesg ends
end

还望高人指点!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (17)
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
什么意思??
2007-7-16 07:57
0
雪    币: 134
活跃值: (84)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
!!!!!难到DEBUG检验不出mov cx,3  !!!  不会是PS过的吧!!!我用XP SP2没有这个问题。
2007-7-16 08:55
0
雪    币: 214
活跃值: (11)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
不懂,
不过对3楼的头像感兴趣.
是甘地吗?
2007-7-16 10:20
0
雪    币: 112
活跃值: (16)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
5
绝对没有PS过,我还没想明白为什么!郁闷!
2007-7-16 18:15
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
6
看光标的位置,1后面有什么不干净的东西吧
2007-7-16 18:47
0
雪    币: 347
活跃值: (25)
能力值: ( LV9,RANK:420 )
在线值:
发帖
回帖
粉丝
7
这个有什么错误?
2007-7-18 23:46
0
雪    币: 267
活跃值: (16)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
NTVDM遇到一个硬错误
上传的附件:
  • 1.JPG (15.96kb,209次下载)
2007-7-19 10:01
0
雪    币: 290
活跃值: (630)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
自动退回cmd命令行,
上传的附件:
  • 1.PNG (3.56kb,199次下载)
2007-7-19 10:11
0
雪    币: 254
活跃值: (126)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
10
以楼主的数据为例
1000 < 13BA
1000段里的数据是不能随意修改的,比如它可能是debug本身的执行体
2007-7-19 13:03
0
雪    币: 112
活跃值: (16)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
11
多谢兄弟指迷津!
2007-7-23 00:30
0
雪    币: 254
活跃值: (126)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
12
debug的T命令我记得应该是会产生int1中断的,中断是需要使用的当前堆栈的,根据你当时的情况中断需要3个WORD堆栈,sp会跨越0边界,在int1的处理中可能会找不准flags或返回地址
2007-7-23 15:39
0
雪    币: 112
活跃值: (16)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
13
跟踪了一下,的确是这个的!
t 命令的时候,会产生int1中断,在本程序的堆栈中的前6个字节保存现场,3个Word各是什么意思到是不知道,由于我的sp=4,push的时候就覆盖了返回地址,要想这种情况不要发生,
只要将sp= 0ah就行(2次push), 刚好不覆盖.
这么写就行了.
assume cs:codesg
codesg segment
      mov ax,2000h
      mov ss,ax
      mov sp,0
      add sp,0ah ;这里改成OAH
      push ax
      push bx
      pop ax
      pop bx
      mov ax,4c00h
      int 21h
codesg ends
end

另外问一个问题.这个程序运行的时候是没有问题的,但是不知道正常不正常.
运行的时候由于没有使用T命令,所以不用怕覆盖返回地址,mov sp,4 刚好够需求.是这个原因吗?

十分感谢heXer!
2007-7-24 01:26
0
雪    币: 254
活跃值: (126)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
14
运行的时候也有出问题的可能,定时器中断int08如果刚好在那个时刻触发,也是一样的道理
你在debug下输入d 40:6C看看,数值每次都变化,说明int08在工作
2007-7-24 09:37
0
雪    币: 112
活跃值: (16)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
15
看了,嘿嘿!
40:6c字单元的确在变化,前后都没变! ,谢谢!~~~~~~~~
2007-7-24 14:30
0
雪    币: 112
活跃值: (16)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
16
也就是说,运行是否会出问题,是看定时器中断int08是否刚好在那个时刻触发.
就是说,是否成功运行是随机的,不确定的?
2007-7-24 14:32
0
雪    币: 214
活跃值: (11)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
17
vista下似乎不存在第一个问题.........
2007-7-26 17:46
0
雪    币: 224
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
我这没问题 XP SP2
上传的附件:
2007-7-26 18:13
0
游客
登录 | 注册 方可回帖
返回
//