汇编 `mov si, ah` 产生 "invalid combination of opcode and operands"
Assembly `mov si, ah` produces "invalid combination of opcode and operands"
所以我试图在按下某个键时在屏幕上打印一个字符。
我收到此错误:
src/kernel/main.asm:20: error: invalid combination of opcode and operands
mov ah, 00h
int 16h
mov si, ah ;where the error is
mov si, ah
上面混合了一个 8 位操作数 (ah
) 和一个 16 位操作数 (si
)。你不能用 MOV 做到这一点。使用MOV指令时,操作数必须大小相同
与一样,如果你想像这样混合操作数大小,你将需要使用像 MOVSX 或 MOVZX 这样的指令。
所以我试图在按下某个键时在屏幕上打印一个字符。
我收到此错误:
src/kernel/main.asm:20: error: invalid combination of opcode and operands
mov ah, 00h
int 16h
mov si, ah ;where the error is
mov si, ah
上面混合了一个 8 位操作数 (ah
) 和一个 16 位操作数 (si
)。你不能用 MOV 做到这一点。使用MOV指令时,操作数必须大小相同
与