dechex.asm

来自「fx.asm 反序输出 cpc.asm 人机对话 DECHEX.ASM 」· 汇编 代码 · 共 88 行

ASM
88
字号
DATA    SEGMENT
NUM_A   DB 0
NUM_B   DB 10
SHOW1   DB 'Input DEC Number : $'   
SHOW2   DB 'Onput HEX Number : $'
CHR     DB 'H$'
DATA    ENDS
;------------------------------------
STACK   SEGMENT PARA STACK 'STACK'
        DB 100 DUP( ? )
STACK   ENDS
;------------------------------------
CODE    SEGMENT
        ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN    PROC FAR
START:  PUSH DS
        MOV AX,0
        PUSH AX
        MOV AX,DATA
        MOV DS,AX
;----------------------------------------
        CALL CRLF
        MOV DX,OFFSET SHOW1
        MOV AH,09H
        INT 21H

LP:     MOV AH,01H
        INT 21H
        CMP AL,','
        JE EXIT
        SUB AL,30H
        MOV DL,AL
        MOV AL,NUM_A
        MOV BL,NUM_B
        MUL BL
        ADD AL,DL
        MOV NUM_A,AL
        JMP LP

EXIT:   CALL CRLF
        MOV DX,OFFSET SHOW2
        MOV AH,09H
        INT 21H

        MOV DL,NUM_A
        PUSH DX
        AND DL,0F0H
        MOV CL,4
        SHR DL,CL
        CMP DL,10
        JB NUM_H
        ADD DL,07H
NUM_H:  ADD DL,30H
        MOV AH,02H
        INT 21H

        POP DX
        AND DL,0FH
        CMP DL,10
        JB NUM_L
        ADD DL,07H
NUM_L:  ADD DL,30H
        MOV AH,02H
        INT 21H

        MOV DX,OFFSET CHR
        MOV AH,09H
        INT 21H

        CALL CRLF
        RET
MAIN    ENDP        
;-----------------------------------
CRLF    PROC NEAR
        MOV DL,0AH
        MOV AH,02H
        INT 21H
        MOV DL,0DH
        MOV AH,02H
        INT 21H
        RET
CRLF    ENDP
;------------------------------------
CODE    ENDS
        END START


⌨️ 快捷键说明

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