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

📄 零.asm

📁 大学时学汇编做的一些小实验
💻 ASM
字号:
DATAS SEGMENT     ;          输出结果有点问题 
    ;此处输入数据段代码  
   ARRAY dB 2,0,0,2,0,0,0,1,2,3,6,4,7,8,2,1,5,0,45,7,5,1,2,0,5,89 
         dB  0,0,54,5,0,2,4,7,8,0,5,6,2,1,4,8,5,1,45,7,0,2,4,0,2
         dB 5,1,2,0,2,4,0,2,54,0,12,0,0,0,0,0,1,2,3,6,4,7,8,2,1,0
         dB 5,0,2,4,7,8,0,5,6,2,1,4,8,5,1,45,7,5,1,2,0,2,4,0,2 
   LEN  dw $-ARRAY
   LASTLEN DB 0
DATAS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS
START:
    MOV AX,DATAS
    MOV DS,AX
    ;此处输入代码段代码
    MOV AH,00H
    MOV CX,LEN
    LEA SI,ARRAY
LOP:   
    MOV DH,[SI] 
    CMP DH,0
    JE MOVEFRONT
    JNE LOP2
MOVEFRONT:
    MOV BX,SI
    LEA DI,[SI+1]
LOP1:
    MOV AL,[DI]
    CMP AL,0
    JNE LOP4 
    INC DI
    LOOP LOP1
LOP4:    
    MOV [SI+ARRAY],AL
    INC DI
    INC SI
    CMP DI,CX
    JBE LOP1

     
    MOV SI,BX
    MOV AL,[SI+1]
    CMP AL,0
    JE MOVEFRONT
LOP2: 
    ADD AH,1    
    INC SI    
    CMP SI,CX
    JBE LOP
    
   MOV DX,0000H 
   MOV CL,AH      ;不为0的数的个数存放在CX里面
   MOV CH,00H
   LEA SI,ARRAY
OUTPUT:   
   MOV DL,[SI]    ;取数组中的值
   MOV AL,DL
   MOV AH,00H      ;放在AX
   MOV BL,0AH
   MOV BH,00H
STORE:   
   DIV BL
   MOV DL,AH      ;余数保存
   MOV DH,00H
   PUSH DX
   INC BH
   MOV AH,00H
   CMP AL,0       ;判断商是否为0
   JNE STORE
OUTPUT1:
   POP  DX
   ADD DL,30H
   MOV AH,02H
   INT 21H
   
   DEC BH
   CMP BH,0
   JNZ OUTPUT1
   
   MOV DL,2CH
   MOV AH,02H
   INT 21H
   
   INC SI
   DEC CL
   CMP CL,0
   JNZ OUTPUT
   MOV AH,4CH
   INT 21H
CODES ENDS
    END START

⌨️ 快捷键说明

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