⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shiyan2.asm

📁 汇编程序 通过键盘输入月份 显示月份的英语表示 以及对学生成绩的分级
💻 ASM
字号:
        DATA  SEGMENT
        MSG  DB	        'Please input the month(1~12):',0DH,0AH,'$'
        MSG1  DB        0DH,0AH,'JAN','$'
        MSG2  DB        0DH,0AH,'FEB','$'
        MSG3  DB        0DH,0AH,'MAR','$'
        MSG4  DB        0DH,0AH,'APR','$'
        MSG5  DB        0DH,0AH,'MAY','$'
        MSG6  DB        0DH,0AH,'JUN','$'
        MSG7  DB        0DH,0AH,'JUL','$'
        MSG8  DB        0DH,0AH,'AUG','$'
        MSG9  DB        0DH,0AH,'SEP','$'
        MSG10  DB       0DH,0AH,'OCT','$'
        MSG11  DB       0DH,0AH,'NOV','$'
        MSG12  DB       0DH,0AH,'DEC','$'
        TABLE  DW          DISP1,DISP2,DISP3,DISP4,DISP5,DISP6,DISP7,DISP8,DISP9,DISP10,DISP11,DISP12
        OUTPUT  DB        '---is the month your enter ',13,10,'$'
        MONTH   DB        12,0,10 DUP(?)
        ERROR   DB       13,10,'You enter the wrong number!','$'
        DATA  ENDS

     PROGNAM  SEGMENT
        MAIN  PROC      FAR
              ASSUME    CS:PROGNAM,DS:DATA

      START:
              PUSH      DS
              SUB       AX,AX
              PUSH      AX

              MOV       AX, DATA
              MOV       DS,AX
        
              MOV       DX,OFFSET MSG
              MOV       AH,09H
              INT       21H
              
              LEA       DX,MONTH
              MOV       AH,0AH        ;等待按键
              INT       21H
              
              
              SUB       SI,SI
              LEA       SI,MONTH+2
              MOV       AL,[SI]
              CMP       AL,'1'      ;
              JB        START1
              CMP       AL,'9'     ;
              JA        START1
              
              and al,0fh
              xor ah,ah
              dec ax
              shl ax,1
              
              SUB       SI,SI
              LEA       SI,MONTH+1
              MOV       CL,[SI]
              CMP       CL,2
              JZ        SHUANG
              MOV       BX,AX
              JMP       TABLE[BX]
      SHUANG:
              SUB       SI,SI
              LEA       SI,MONTH+2
              MOV       AL,[SI]
              CMP       AL,'1'      ;
              JB        START1
              CMP       AL,'9'     ;
              JA        START1
              
              and al,0fh
              xor ah,ah
              dec ax
              shl ax,1
              
              MOV       BX,AX
              ADD      BX,20
              JMP       TABLE[BX]

    


      DISP1:  MOV       DX,OFFSET MSG1          ;处理程序1
              JMP       START2
      DISP2:  MOV       DX,OFFSET MSG2
              JMP       START2
      DISP3:  MOV       DX,OFFSET MSG3
              JMP       START2
      DISP4:  MOV       DX,OFFSET MSG4
              JMP       START2
      DISP5:  MOV       DX,OFFSET MSG5
              JMP       START2
      DISP6:  MOV       DX,OFFSET MSG6
              JMP       START2
      DISP7:  MOV       DX,OFFSET MSG7
              JMP       START2
      DISP8:  MOV       DX,OFFSET MSG8
              JMP       START2
      DISP9:  MOV       DX,OFFSET MSG9
              JMP       START2
     DISP10:  MOV       DX,OFFSET MSG10
              JMP       START2
     DISP11:  MOV       DX,OFFSET MSG11
              JMP       START2
     DISP12:  MOV       DX,OFFSET MSG12
              JMP       START2


     START2:
              MOV       AH,09H
              INT       21H
              LEA       DX,OUTPUT
              MOV       AH,09H
              INT       21H
              RET
     START1:
              LEA       DX,ERROR
              MOV       AH,09H
              INT       21H
              RET
        MAIN  ENDP
     PROGNAM  ENDS
              END       START

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -