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

📄 05b.asm

📁 录音子程序 mov dx,offset news_2 显示放音提示
💻 ASM
字号:
DATA SEGMENT
ORG 1000H
BUF DW 1,2,3,0,-4,-5,-6,-7,-8,-9
EZ DB 0H
LZ DB 0H
T1 DB "ZHENG SHU, LING, FU SHU:",13,10,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START PROC FAR
STT:PUSH DS
    SUB AX,AX
    PUSH AX
;==============================
    MOV AX,DATA
    MOV DS,AX

    CLC
    MOV AX,0
    MOV BX,0

    MOV SI,OFFSET BUF
    MOV CX,10

CHECK:
    MOV AX,[SI]
    CMP AX,0
    JZ EQALZERO
    SHL AX,1
    ADC BL,0
    CMP BL,1
    JZ LESSZERO
CONTINUE:
    ADD SI,2
    CLC
    MOV BL,0
    LOOP CHECK

    JMP FINISH

EQALZERO:
    MOV DI,OFFSET EZ
    MOV DL,[DI]
    INC DL
    MOV [DI],DL
    JMP CONTINUE

LESSZERO:
    MOV DI,OFFSET LZ
    MOV DL,[DI]
    INC DL
    MOV [DI],DL
    JMP CONTINUE

FINISH:
    MOV BL,10
    MOV DI,OFFSET EZ
    MOV AL,[DI]
    SUB BL,AL
    MOV DI,OFFSET LZ
    MOV AL,[DI]
    SUB BL,AL
    MOV AL,BL

    PUSH DX
    PUSH AX
    LEA DX,T1
    MOV AH,09H
    INT 21H
    POP AX
    POP DX

    CALL HEX2ASCII
    CALL DISPLAY
    MOV DI,OFFSET EZ
    MOV AL,[DI]
    CALL HEX2ASCII
    CALL DISPLAY
    MOV DI,OFFSET LZ
    MOV AL,[DI]
    CALL HEX2ASCII
    CALL DISPLAY
    
;==============================
    RET
START ENDP

HEX2ASCII PROC NEAR
    CLC           ;16进制转ASCII子程序
    DAA
    ADD AL,0F0H
    ADC AL,40H
    RET
HEX2ASCII ENDP

DISPLAY PROC NEAR
    PUSH DX
    
    MOV DL,AL
    MOV AH,2
    INT 21H

    MOV DL,2CH
    MOV AH,2
    INT 21H

    POP DX
    RET
DISPLAY ENDP

CODE ENDS
END STT


⌨️ 快捷键说明

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