如果 AL 包含 I 或 3,则显示“o”;如果 AL 包含 2 或 4,则在汇编代码中显示“e”

问题描述

.MODEL SMALL 
.STACK 100H 
.DATA 

A DB 10,13,'ENTER THE NUMBER: $' 
C DB 10,'RESULT $' 
.CODE 
MAIN PROC 

    MOV AX,@DATA 
    MOV DS,AX 

    MOV AH,9 
    LEA DX,A 
    INT 21H 
    
    MOV AH,1
    INT 21H 
    
    
    MOV AH,C 
    INT 21H  
    
    CMP AL,1 
    JE ODD
    CMP AL,3
    JE ODD
    CMP AL,2
    JE EVEN
    CMP AL,4
    JE EVEN 
     
    ODD:
        MOV DL,'o'
        JMP DISPLAY  
     
    EVEN:
        MOV DL,'e'
        JMP DISPLAY
    
    DISPLAY:
    MOV AH,2
    INT 21h  
      
    EXIT: 
    MOV AH,4CH
    INT 21H
    MAIN ENDP
END MAIN

我似乎不明白代码有什么问题。如果输入为 1 或 3,则应该给出输出 'o',如果输入为 2 或 4,则输出为 'e'。输入 1 或 2 或 3 或4,输出一直显示'o'。 Even 级别不起作用。谁能帮帮我?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...