我想在ASM中输入一个字符,将它与已定义的字符进行比较,如果它们相同则打印一条消息,如果它们不是
则重试问题是我的代码适用于emu8086但不适用于VM:
mdp DB 'c$'
equal :
mov ah, 1h
int 21h
cmp al,mdp
jne equal
在emu8086上,它等待用户按下一个键并按下回车键,在VM上(作为引导加载程序)我不能按任何键。
答案 0 :(得分:0)
您无法在引导加载程序中使用MS-DOS服务(INT 21h)。 MS-DOS是一个操作系统,如Linux或Windows。就像在Linux加载之前你不能使用Linux服务一样,你无法在加载之前使用MS-DOS服务。
在引导加载程序中,您仅限于使用BIOS服务(或直接访问硬件)。您可以使用BIOS服务INT 16h,AH = 00h来读取键盘。