您的位置:首页 > 其它

实现向IO PORT80丢CHECKPOINT的程序

2010-07-02 16:29 211 查看
我们都知道,BIOS工程师debug code有很多种方法(PORT80, SERIAL, 断点,DOS/WIN UTILITIES等),但向IO PORT80(也可以是其他的PORT)丢CHECKPOINT一直都是BIOS工程师分析解决问题比较有效(当然也是最古老)的方法。下面列出一些IO PORT80丢CHECKPOINT的程序,以供参考。

Legacy:

CHECK_POINT MACRO xx
mov al, xx
out 80h, al
ENDM


EFI:

1.仅适用于32位code

A.嵌入汇编

VOID CheckPoint(UINT8 c){
_asm{
mov al, c
out 0x80, al
}
}


B.汇编

CheckPoint PROC PUBLIC Data:UINT8
push ax
mov al, Data
out 80h, al
pop ax
ret
CheckPoint ENDP


2.仅适用于64位code(汇编)

CheckPoint PROC PUBLIC
mov al, cl
out 80h, al
ret
CheckPoint ENDP
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: