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

📄 8-13.asm

📁 自己写的一些MASM的小程序
💻 ASM
字号:
;把两位十六进制数转化为八进制数
DATA	SEGMENT
HEX  DB  3H,0, 3H DUP(0)
OCT  DB  4 DUP(0)
STRING DB 'PLEASE ENTER DOUBLE_DIGIT HEX:','$'
STRING1 DB 0AH,0DH,'THE OCT 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
        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[2]
        CALL HEX1
        JC LOP
        AND BL,0FH
        MOV AL,10H
        MUL BL
        MOV BL,HEX[3]
        CALL HEX1
        JC LOP
        AND BL,0FH
        ADD AL,BL
        XOR AH,AH
        MOV CL,06H
        PUSH AX
        PUSH AX
        SAR AX,CL
        MOV OCT,AL
        ADD OCT,30H
        POP AX
        AND AL,38H
        MOV CL,3
        SAR AL,CL
        MOV OCT[1],AL 
        ADD OCT[1],30H
        POP AX
        AND AL,07H
        MOV OCT[2],AL
        ADD OCT[2],30H
        MOV OCT[3],24H 
        MOV DX,OFFSET STRING1
        MOV AH,09H
        INT 21H
        MOV DX,OFFSET OCT
        MOV AH,09H
        INT 21H  
        MOV AH,4CH
	INT 21H
HEX1     PROC
        CMP BL,'0'
        JB  ERROR
        CMP BL,'9'
        JBE  OUT2
        CMP  BL,'F'
        JA  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 + -