我有这段内联汇编代码应该以文本模式打印 A:
void print(){
asm volatile(
"mov ax,0xb800\n"
"mov ds,ax\n" /*<-as complains about this*/
"movb 0,'A'\n"
);
}
但是,当我尝试使用 gcc 编译它时(使用 -m32 和 -masm=intel):
./source/kernel.c: Assembler messages:
./source/kernel.c:4: Error: invalid instruction suffix for `mov'
顺便说一句,这段代码来自我的操作系统内核,所以我不能使用 stdio.h 或类似的东西。