我使用DevCpp编译以下代码但出现问题:
#include<stdio.h>
int main(){
char s;
__asm(
"mov %ah, 1"
"int 21h"
"mov %ah,2"
"mov %dl,%al"
"int 21h"
);
return 0;
}
DevCpp编译器产生的错误是:
错误:垃圾
int 21hmov %ah' after expression Error: too many memory references for
mov'
如何解决这个问题?
答案 0 :(得分:2)
常见问题解答演示了在每个__asm
中执行一个语句。
__asm("mov %ah, 1") ;
__asm("int 21h" ) ;
__asm("ONE AND ONLY ONE INSTRUCTION") ;
你应能够用\n
分隔行,但我没有看到记录。
__asm("mov %ah, 1\n"
"int 21h \n"
"MULTIPLE INSTRUCTIONS WITH \n") ;