0
我有一個文件叫做idt.c
,在這個文件中,我需要從彙編中調用函數idt_load
。現在,這將工作得很好,除了我需要訪問變量,idtp
從程序集文件,變量聲明在idt.c循環引用和低級彙編
這不會工作,因爲鏈接器會告訴我,要麼idt_load未定義或idtp未定義。我怎樣才能使這個工作?
idt.c的相關部分
struct idt_entry
{
unsigned short base_lo;
unsigned short sel;
unsigned char always0;
unsigned char flags;
unsigned short base_hi;
} __attribute__((packed));
struct idt_ptr
{
unsigned short limit;
unsigned int base;
} __attribute__((packed));
struct idt_entry idt[256];
struct idt_ptr idtp;
extern void idt_load();
//Later in the code...
idt_load();
idt.asm想出
global idt_load
extern idtp
idt_load:
lidt [idtp]
ret
只是爲了好玩,爲什麼不告訴我們解決方案? –