首页
社区
课程
招聘
[旧帖] [讨论]编程技巧探讨 0.00雪花
发表于: 2009-9-14 15:35 1115

[旧帖] [讨论]编程技巧探讨 0.00雪花

2009-9-14 15:35
1115
在BIOS的BB阶段,由于不能使用堆栈和内存,所以对于子程序的调用需要特殊方法
func1:                  
                mov     sp, offset nextpp
                pslldq  xmm4, 2
                pinsrw  xmm4, esp, 0
                jmp     callfunction           

nextpp:    ......                     

callfunction:
               ....
               ....
              pextrw  esp, xmm4, 0        ;function return
              psrldq  xmm4, 2
              jmp     sp

现在我想把函数调用和返回做成宏,对于offset nextpp,因为固定偏移为16字节,不知道怎么做才可以表达出来。
我下面的做法是错误的

FUNCALL MACRO funcaddr
                mov     sp, $+10H
                pslldq  xmm4, 2
                pinsrw  xmm4, esp, 0
                jmp     funcaddr
ENDM

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 28
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
自己顶
是否加入offset就可以
mov     sp, offset $+10H
2009-9-14 15:42
0
游客
登录 | 注册 方可回帖
返回
//