【发布时间】:2021-01-03 01:54:34
【问题描述】:
有没有办法将此行从 GCC 的 C 推送到 asm
mov ah,1h
int 21h
我找不到将 AH 寄存器设置为 1h 的方法
asm("mov %ah,1h");
asm("int 21h");
【问题讨论】:
-
因为这似乎是 DOS 的代码,而且您不太可能使用 16 位 gcc,因此即使编译它也可能无法工作。 (不幸的是,您没有指定您的环境。)更不用说 int 21/01 是键盘输入,因此您通常需要一种方法来返回您需要使用扩展 asm 的键。
-
我正在尝试从 grub 运行程序。英特尔 x86。
标签: c assembly gcc x86 inline-assembly