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

📄 16-to-10.asm

📁 自己写的一些MASM的小程序
💻 ASM
字号:
;三位十六进制数转化为十进制数
DATA	SEGMENT
HEX   DB  4,0,4 DUP(0H)
DECIMAL   DB  5 DUP(0H)
STRING    DB  'PLEASE ENTER SAN WEI HEX NUMBER:','$'
STRING1  DB   0AH,0DH,'THE DECIMAL NUMBER IS:','$'
STRING2    DB 0AH,0DH,'THE NUMBER YOU DIAL IS INCORROCT!!!!',0AH,0DH,'PLEASE ENTER CORRECT NUMBER:','$'
DATA	ENDS
STACK1	SEGMENT PARA STACK
	DW 20H DUP(0)
STACK1	ENDS
COSEG	SEGMENT
	ASSUME CS:COSEG,DS:DATA,SS:STACK1
START:  MOV AX,DATA
        MOV DS,AX
        XOR AX,AX
        XOR BX,BX
        XOR CX,CX
        XOR DX,DX
        MOV DX,OFFSET STRING
        MOV AH,09H
        INT 21H
LOP:    MOV DX,SEG HEX
        MOV DS,DX
        MOV DX,OFFSET HEX
        MOV AH,0AH
        INT 21H 
        MOV BL,HEX+3
        CALL HEX1
        JC LOP
        AND BL,0FH
        MOV AL,10H
        MUL BL
        MOV BL,HEX+4
        CALL HEX1
        JC LOP
        AND BL,0FH
        ADD AL,BL
        XOR AH,AH
        MOV CX,AX
        MOV AX,100H
        MOV BL,HEX+2
        CALL HEX1
        JC LOP
        XOR BH,BH
        AND BL,0FH
        MUL BX
        ADD AX,CX
        MOV BX,10
        MOV SI,3
        MOV CX,4
LOP2:   MOV DX,0
        DIV BX
        MOV  DECIMAL[SI],DL
        DEC SI
        LOOP LOP2
        MOV CX,4
        MOV SI,0
LOP1:   ADD DECIMAL[SI],30H
        INC SI
        LOOP LOP1
        MOV DECIMAL[4],'$'
        MOV DX,OFFSET STRING1
        MOV AH,09H
        INT 21H
        MOV DX,OFFSET DECIMAL
        MOV AH,09H
        INT 21H
        MOV AH,4CH
	INT 21H
HEX1     PROC
        CMP BL,'0'
        JB  ERROR
        CMP BL,'9'
        JBE  OUT2
        CMP  BL,'G'
        JNC  SMALL
        CMP BL,'A'
        JB  ERROR
        JMP  OUT1
 SMALL: CMP BL,'a'
        JB  ERROR
        CMP   BL,'f'
        JA  ERROR
 OUT1:  SUB  BL,7
 OUT2:  CLC
        RET
 ERROR: STC
        MOV DX,OFFSET STRING2
        MOV AH,09H
        INT 21H
        RET
HEX1     ENDP
COSEG	ENDS
	END START

⌨️ 快捷键说明

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