首页
社区
课程
招聘
[旧帖] [求助]为什么我的CALL不能转移到子程序,求求大侠们帮我 0.00雪花
发表于: 2009-7-2 23:26 3348

[旧帖] [求助]为什么我的CALL不能转移到子程序,求求大侠们帮我 0.00雪花

2009-7-2 23:26
3348
assume cs:code
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 bp,sp
       sub sp,6
       mov word ptr [bp-6],0001
       mov word ptr [bp-4],0002
       mov word ptr [bp-2],0000
       push [bp-2]
       push [bp-4]
       push [bp-6]
       call addr
       add sp,6
       inc word ptr [bp-2]
       mov ax,4c00h
       int 21h
      
addr: push,bp
       mov bp,sp
       mov ax,[bp+4]
       add ax,[bp+6]
       mov [bp+8],ax
       mov sp,bp
       pop bp
       ret
code ends
end start
      

这段代码编译时,总是提示 missing data;zero assumed这样的警告,改来改去还是不行,提示出错的地方大多数在子程序的第一段代码,可是当我调试时,到CALL ADDR执行之前,BP的值都是0010H,但当CALL ADDR将IP转移到ADDR时,系统就出错,什么结果都没有。

希望各位大侠帮我解答一二,多谢多谢

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 1753
活跃值: (840)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
2
assume cs:code
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 bp,sp
                sub sp,6
                mov word ptr [bp-6],0001
                mov word ptr [bp-4],0002
                mov word ptr [bp-2],0000
                push [bp-2]
                push [bp-4]
                push [bp-6]
                call addrr
                add sp,6
                inc word ptr [bp-2]
                mov ax,4c00h
                int 21h
      
addrr proc near
                push bp
                mov bp,sp
                mov ax,[bp+4]
                add ax,[bp+6]
                mov [bp+8],ax
                mov sp,bp
                pop bp
                ret
addrr endp
code ends
end start
      

定义都错误了~`
    当然出问题`!~!~!
2009-7-3 20:05
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢了,大侠,原来是这样呀,难怪我想了好长时间都没明白
2009-7-5 20:08
0
游客
登录 | 注册 方可回帖
返回
//