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

📄 d.asm

📁 用汇编语言编写的十进制数到十六进制数的转换
💻 ASM
字号:
DATA     SEGMENT
         MESG1 DB 'Enter a decimal number:',0DH,0AH, '$'
         MESG2 DB 0DH,0AH,'The converted hexadecimal number is '
         RES_1 DB 4 DUP(?),'H ',0DH,0AH, '$'
         MESG3 DB 0DH,0AH,'Input error!',0DH,0AH, '$'
         BUF DB 6
             DB ?
             DB 5 DUP(?)
         COUNT DB 4
DATA     ENDS
STACK    SEGMENT STACK
         DB 100 DUP(?)
STACK    ENDS
CODE     SEGMENT
         ASSUME CS:CODE,DS:DATA,SS:STACK
START:
         MOV AX, DATA
         MOV DS, AX
         MOV AH,9
         MOV DX,OFFSET MESG1
         INT 21H
         MOV AH,0AH
         MOV DX,OFFSET BUF
         INT 21H
         MOV BX,OFFSET BUF+2
         MOV DX,0
         
AGAIN2:  MOV CX,10
         MOV AX,0
         MOV AX,DX
         MUL CX
         MOV DX,AX
         MOV AX,[BX]
         AND AX,00FFH
         ADD AX,-30H
         CMP AX,10
         JNC STEP_END
         CMP AX,0
         JC STEP_END
         ADD DX,AX
         INC BX
         DEC BUF+1
         JNZ AGAIN2
         CALL T2_16
         MOV AH,9
         MOV DX,OFFSET MESG2
         INT 21H
         JMP START
         
         
STEP_END:MOV AH,9
         MOV DX,OFFSET MESG3
         INT 21H
         JMP START
T2_16    PROC
         MOV DI,OFFSET RES_1
         MOV SI,OFFSET RES_1+2
         MOV COUNT,2
         MOV AL,DH
         AND AX,00FFH
         MOV CL,8
         SAL AX,CL
         SAL DX,CL
LAST:    MOV CL,4
         ROL DX,CL
         ROL AX,CL
         AND DL,0FH
         AND AL,0FH
         CMP DL,10
         JC NEXT
         ADD DL,7H
NEXT:    ADD DL,30H
         MOV [SI],DL
         INC SI
         CMP AL,10
         JC NEXT1
         ADD AL,7H
NEXT1:   ADD AL,30H
         MOV [DI],AL
         INC DI
         DEC COUNT
         JNZ LAST
         RET
T2_16    ENDP
CODE     ENDS
         END START

⌨️ 快捷键说明

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