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

📄 stu.asm

📁 这是交通灯管理系统和学生成绩录入系统得汇编语言程序
💻 ASM
字号:
CRLF      MACRO
      MOV       AH,02H
      MOV       DL,0DH
      INT       21H
   MOV       AH,02H
   MOV       DL,0AH
      INT       21H
ENDM
              
DATA SEGMENT
 STUNUM  EQU  10
 MESS1   DB  'PLEASE INPUT THE THE GRADE OF STUDENTS(1-10)',0DH,0AH,'$' 
 ERROR   DB  'INPUT ERROR ,INPUT AGAIN! ',0DH,0AH,'$'    
 MESS2   DB  'THE  SEQUENCE OF STUDENTS IS:'  , 0DH,0AH,'$'    
 EMARK   DB   ?
        ORG   1000H
SCORE    DB   30  DUP(?)
        ORG   2000H     
SEQU     DB   30  DUP(?)
DATA ENDS                                                                                                                                                                                 

STACK SEGMENT
STA DW 32 DUP(?)
TOP DW ?
STACK ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
  START: MOV AX,DATA
         MOV DS,AX
         MOV ES,AX
         MOV SP,TOP
         MOV AH,09H    
         MOV DX, OFFSET MESS1
         INT 21H
         MOV SI,OFFSET SCORE
         MOV CX, STUNUM   
         MOV EMARK,0
  UUU:   CALL GETNUM
         CMP  EMARK,01H
         JE  START   
         MOV [SI],DL
         INC  SI
         LOOP  UUU
         MOV CX, STUNUM    
         MOV DI,OFFSET SEQU
  VVV:   CALL SCAN
         MOV AL, STUNUM
         SUB AL,CL
         INC AL
         MOV BX,DX
         DAA
         MOV [DI+BX],AL
         LOOP  VVV
         MOV AH,09H
         LEA DX,MESS2
         INT 21H
         MOV CX,STUNUM
         MOV SI,OFFSET SEQU     
 WWW:    MOV AL,[SI]
         CALL DISPI 
         PUSH  DX
         PUSH  AX
         MOV   AH,02
         MOV   DL,20H
         INT   21H
         POP   AX
         POP   DX
         INC   SI
         LOOP  WWW
         MOV   AX ,4C00H
         INT 21H
SCAN   PROC  NEAR
         MOV   DX, 0
         PUSH  CX  
         MOV   CX,STUNUM
         MOV   AL,00H
         MOV   BX,OFFSET SCORE
         MOV   SI,BX
CCC:     CMP   AL,[SI]
         JAE   JJJ
         MOV   AL,[SI]
         MOV   DX,SI         
         SUB   DX,BX
JJJ:     INC   SI
         LOOP CCC
         ADD   BX,DX
         MOV   BYTE PTR[BX],00H
         POP   CX
         RET
SCAN     ENDP
DISPI    PROC  NEAR
         PUSH  CX
         MOV   BL,AL
         MOV   DL,BL
         MOV   CL,04H
         ROL   DL,CL
         AND   DL,0FH
         CALL  DISPL
         MOV   DL,BL     
         AND   DL,0FH          
         CALL  DISPL                                                                                   
         POP   CX
         RET
DISPI   ENDP
                           
DISPL   PROC  NEAR
         ADD  DL,30H
         CMP  DL,3AH
         JB   DDD
         AND  DL,27H
DDD:     MOV  AH,02H
         INT  21H
         RET
DISPL    ENDP
                                                                              
GETNUM   PROC  NEAR
         PUSH  CX   
         XOR  DX,DX
GGG:     MOV  AH,01H
         INT  21H
         CMP  AL,0DH
         JZ   PPP
         SUB  AL,30H
         JB   KKK
         CMP  AL,09H
         JBE  GETS
         JMP  KKK
GETS:    PUSH AX
         MOV  AL,DL
         MOV  CL,10
         MUL  CL
         MOV  DX,AX
         POP  AX
         XOR  AH,AH
         ADD  DX,AX
         CMP  DX,100
         JA   KKK
         JMP  GGG
KKK:     MOV  AH,09H
         MOV  DX,OFFSET ERROR
         INT  21H
         MOV  EMARK,01H
PPP:     PUSH DX
         CRLF
         POP  DX
         POP  CX
         RET
GETNUM   ENDP
CODE     ENDS
   END   START                                                                                                                                                                           
                                                                                                                                          
               
              
              
              
              
              
                                                                       
                                      
                                                           
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
                
                            
                              
                   
                                                                        
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
                                                                                                 
              
              
              
              
                                             
              
              
              
              
              
              
              
              
              
              
              
              
              
                                                                                                                    
              
                               
              
                                     
                            

⌨️ 快捷键说明

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