📄 decihex.asm
字号:
;十进制--十六进制
SSEG SEGMENT PARA STACK 'stack'
dw 100h dup(0) ;初始化堆栈大小为100
SSEG ENDS
DSEG SEGMENT
;数据段:在此处添加程序所需的数据
DSEG ENDS
ESEG SEGMENT
;附加段:在此处添加程序所需的数据
ESEG ENDS
CSEG SEGMENT
assume cs:CSEG, ds:DSEG, es:ESEG, ss:SSEG
MAIN PROC ;主程序入口
mov ax, dseg
mov ds, ax
mov es, ax
;repeat:
call decibin
call crlf
call binihex
call crlf
;jmp repeat
;此处添加主程序代码
mov ax, 4c00h ;程序结束,返回到操作系统系统
int 21h
MAIN ENDP
decibin proc
mov bx,0
newchar:
mov ah,1
int 21h
sub al,30h
jl exit
cmp al,9d
jg exit
cbw
xchg ax,bx
mov cx,10d
mul cx
xchg ax,bx
add bx,ax
jmp newchar
exit:
ret
decibin endp
binihex proc
mov ch,4
ROTATE: MOV CL,4
ROL BX,CL
MOV AL,BL
AND AL,0FH ;BL的高四位清0
ADD AL,30H
CMP AL,3AH
JL PRINTIT
ADD AL,7H
PRINTIT: MOV DL,AL
MOV AH,2
INT 21H ;2号系统功能调用,输出一个字符
DEC CH
JNZ ROTATE
ret
binihex endp
crlf proc
mov dl,0dh
mov ah,02h
int 21h
mov dl,0ah
mov ah,02h
int 21h
ret
crlf endp
CSEG ENDS
END MAIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -