我有以下函数(带有汇编的C)来读取BIOS记号:
static clock_t clock(void);
#pragma aux clock = \
"pushf" \
"push ds" \
"cli" \
"mov ax, 0x0040" \
"mov ds, ax" \
"mov bx, 0x006C" \
"mov ax, [bx]" \
"sti" \
"pop ds" \
"popf" \
parm [ ax ] \
modify [ ax bx ];
这是可行的,但有多少是必要的呢?有人能帮我编一下高尔夫球的代码吗?我正在使用8086(微型内存模型),我不确定在读取值之前是否需要pushf
和popf
或cli
和sti
.如果有可能减少数字操作,我也会很感激.我对远方指针一无所知,并(第一次)捏造了这一点.