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

📄 1.asm

📁 用汇编编写的仓库零件管理系统
💻 ASM
字号:
STACKSG SEGMENT STACK 'STK'
        DB   32 DUP('S')
STACKSG ENDS
DATA    SEGMENT
A       DB 50,33,69,74,97,8,43,22,0,199
B       DB 55,84,67,75,0,22,244,97,3,74
D       DB 10 DUP(?)
CN      EQU  10

DATA    ENDS
CODE    SEGMENT
MAIN    PROC FAR
	
	    ASSUME CS:CODE,DS:DATA,SS:STACKSG
	    PUSH   DS
	    XOR    AX,AX
        PUSH   AX
	    MOV    AX,DATA
	    MOV    DS,AX
	    ;数组A排序
	    MOV    DI,CN-1      ;初始化外循环次数
	   
 LOP1:  MOV    CX,DI
        MOV    BX,0
 LOP2:  MOV    AL,A[BX]
        CMP    AL,A[BX+1]
        JB     CONT1
        XCHG   AL,A[BX+1]
        MOV    A[BX],AL
 CONT1: ADD    BX,1
        LOOP   LOP2
        DEC    DI
        JNZ    LOP1
        
    ;数组B排序
        MOV    DI,CN-1
 LOP3:  MOV    CX,DI
        MOV    BX,0
 LOP4:  MOV    AL,B[BX]
        CMP    AL,B[BX+1]
        JB     CONT2
        XCHG   AL,B[BX+1]
        MOV    B[BX],AL
 CONT2: ADD    BX,1
        LOOP   LOP4
        DEC    DI
        JNZ    LOP3 
        
    ;比较AB相同项存入C中
        MOV    DX,CN
        MOV    BX,0
        MOV    SI,0
        MOV    DI,0
        MOV    CX,DX
        
  LOP5: MOV    AL,B[BX]
        MOV    AH,A[SI]
        CMP    AL,AH
        JE     CONT3
        ADD    SI,1 
        LOOP   LOP5
        JMP    CONT4
        
        
  CONT3:MOV    D[DI],AH
        ADD    DI,1
        ADD    BX,1
        MOV    SI,0
        MOV    CX,CN      ;重新设置内循环次数
        DEC    DX
        JNZ    LOP5
        PUSH   DI
        JMP    NEXT
        
  CONT4:ADD    BX,1
        MOV    SI,0 
        MOV    CX,CN      ;重新设置内循环次数
        DEC    DX
        JNZ    LOP5
        PUSH   DI 
        JMP    NEXT
        
  ;显示A
  NEXT:
        MOV    DI,CN
        MOV    BX,0
  
  LOP6: MOV    DH,A[BX]
        CMP    DH,100
        JNB    LOP7
        CMP    DH,10
        JNB    LOP8
        
        MOV    DL,A[BX]
        ADD    DL,30H
        MOV    AH,2
        INT    21H  
        
        MOV    AH,2
        MOV    DL,' '
        INT    21H
        
        ADD    BX,1
        DEC    DI
        JNZ    LOP6
        JZ     NEXTB
  ;显示不小于100的数          
  LOP7: MOV    AL,A[BX]
        XOR    AH,AH       ;AX
        MOV    DL,100
        DIV    DL
        PUSH   AX
  ;百位 
        MOV    DL,AL
        ADD    DL,30H
        MOV    AH,2
        INT    21H
  ;SHIWEI
        POP    AX
        MOV    AL,AH
        XOR    AH,AH       ;重新构建AX
        MOV    DL,10
        DIV    DL
        PUSH   AX
        
        MOV    DL,AL
        ADD    DL,30H
        MOV    AH,2
        INT    21H
  ;个位 
        POP    AX     
        MOV    DL,AH
        ADD    DL,30H
        MOV    AH,2
        INT    21H
        
        MOV    AH,2
        MOV    DL,' '
        INT    21H
        
        ADD    BX,1
        DEC    DI
        JNZ    LOP6
        JZ     NEXTB
  ;显示不小于10的数	      
  LOP8: MOV    AL,A[BX]
        XOR    AH,AH
        MOV    DL,10
        DIV    DL
        PUSH   AX
        
        MOV    DL,AL
        ADD    DL,30H
        MOV    AH,2
        INT    21H
        
        POP    AX
        MOV    DL,AH
        ADD    DL,30H
        MOV    AH,2
        INT    21H
        
        MOV    AH,2
        MOV    DL,' '
        INT    21H
        
        ADD    BX,1
        DEC    DI
        JNZ    LOP6
        JZ     NEXTB
;显示B        
        
NEXTB:  
        ;换行
        MOV    AH,02H
        MOV    BH,0
        MOV    DH,1
        MOV    DL,0
        INT    10H
        
        MOV    DI,CN
        MOV    BX,0
  
  LOP9: MOV    DH,B[BX]
        CMP    DH,100
        JNB    LOP10
        CMP    DH,10
        JNB    LOP11
        
        MOV    DL,B[BX]
        ADD    DL,30H
        MOV    AH,2
        INT    21H  
        
        MOV    AH,2
        MOV    DL,' '
        INT    21H
        
        ADD    BX,1
        DEC    DI
        JNZ    LOP9
        JZ     NEXTC
  ;显示不小于100的数          
 LOP10: MOV    AL,B[BX]
        XOR    AH,AH
        MOV    DL,100
        DIV    DL
        PUSH   AX
  ;百位 
        MOV    DL,AL
        ADD    DL,30H
        MOV    AH,2
        INT    21H
  ;SHIWEI
        POP    AX
        MOV    AL,AH
        XOR    AH,AH
        MOV    DL,10
        DIV    DL
        PUSH   AX
        
        MOV    DL,AL
        ADD    DL,30H
        MOV    AH,2
        INT    21H
  ;个位 
        POP    AX     
        MOV    DL,AH
        ADD    DL,30H
        MOV    AH,2
        INT    21H
        
        MOV    AH,2
        MOV    DL,' '
        INT    21H
        
        ADD    BX,1
        DEC    DI
        JNZ    LOP9
        JZ     NEXTC
 ;两位数       
 LOP11: MOV    AL,B[BX]
        XOR    AH,AH
        MOV    DL,10
        DIV    DL
        PUSH   AX
        
        MOV    DL,AL
        ADD    DL,30H
        MOV    AH,2
        INT    21H
        
        POP    AX
        MOV    DL,AH
        ADD    DL,30H
        MOV    AH,2
        INT    21H
        
        MOV    AH,2
        MOV    DL,' '
        INT    21H
        
        ADD    BX,1
        DEC    DI
        JNZ    LOP9
        JZ     NEXTC
        
;显示数组D        
 NEXTC:
        ;换行
        MOV    AH,02H
        MOV    BH,0
        MOV    DH,2
        MOV    DL,0
        INT    10H
       
        POP    DI
        MOV    BX,0
        
 LOP12: MOV    DH,D[BX]
        CMP    DH,100
        JNB    LOP13
        CMP    DH,10
        JNB    LOP14
        
        MOV    DL,D[BX]
        ADD    DL,30H
        MOV    AH,2
        INT    21H  
        
        MOV    AH,2
        MOV    DL,' '
        INT    21H
        
        ADD    BX,1
        DEC    DI
        JNZ    LOP12
        
        MOV    AH,4CH
        INT    21H
  ;显示不小于100的数          
 LOP13: MOV    AL,D[BX]
        XOR    AH,AH
        MOV    DL,100
        DIV    DL
        PUSH   AX
  ;百位 
        MOV    DL,AL
        ADD    DL,30H
        MOV    AH,2
        INT    21H
  ;SHIWEI
        POP    AX
        MOV    AL,AH
        XOR    AH,AH
        MOV    DL,10
        DIV    DL
        PUSH   AX
        
        MOV    DL,AL
        ADD    DL,30H
        MOV    AH,2
        INT    21H
  ;个位 
        POP    AX     
        MOV    DL,AH
        ADD    DL,30H
        MOV    AH,2
        INT    21H
        
        MOV    AH,2
        MOV    DL,' '
        INT    21H
        
        ADD    BX,1
        DEC    DI
        JNZ    LOP12
       
        MOV    AH,4CH
        INT    21H
 ;显示两位数       
 LOP14: MOV    AL,D[BX]
        XOR    AH,AH
        MOV    DL,10
        DIV    DL
        PUSH   AX
        
        MOV    DL,AL
        ADD    DL,30H
        MOV    AH,2
        INT    21H
        
        POP    AX
        MOV    DL,AH
        ADD    DL,30H
        MOV    AH,2
        INT    21H
        
        MOV    AH,2
        MOV    DL,' '
        INT    21H
        
        ADD    BX,1
        DEC    DI
        JNZ    LOP12
        
        MOV    AH,4CH
        INT    21H
                  
MAIN ENDP	    
CODE ENDS
     END MAIN

⌨️ 快捷键说明

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