MOV AL,0 是错误指令么?错在哪

2025-03-10 07:41:07
推荐回答(1个)
回答1:

是这样的在debug中所有的数都被认为是16进制的不论你是否带H或h,而在汇编的编译器里如果不带h或H那么就认为是十进制,还有如果ax是16位的那么al就是8位的,那么al能接受的最大的数也只能是255(十进制),所以如果是在编译器里并且al为八位时这个指令就是不合法的啦,另外如果是在debug中那么这条指令就更不合法啦因为在debug中300代表十进制的数3*16*16,这个数是要大于255的,所以当然是不合法的。(前提是ax为16位 呵呵)