📄 change10_16.txt
字号:
;输入十进制数,输出十六进制数
data segment
innum db 10 dup(0)
outnum db 10 dup(0)
prt1 db "INPUT: $"
prt2 db "OUTPUT: $ "
cr_lf db 0dh,0ah,'$'
data ends
stack segment stack
db 10 dup(0)
stack ends
code segment
assume ss:stack,cs:code,ds:data
begin:
mov ax,data
mov ds,ax
lea dx,prt1
mov ah,9
int 21h
lea di,innum
mov ah,1
in1:
int 21h
cmp al,0dh
je out1
mov byte ptr[di],al
inc di
jmp in1
out1:
dec di
mov cx,10
lea si,innum
xor dx,dx
l1:
mov ax,[si] ;输出的是一个字
xor ah,ah
sub ax,30h
add dx,ax
cmp si,di
je l2
mov ax,dx
mul cx
add dx,ax
inc si
jmp l1
l2:
mov ax,dx
lea si,outnum
mov bx,16
call radix
mov byte ptr[si],'H'
mov byte ptr[si+3],'$'
lea dx,cr_lf
mov ah,9
int 21h
lea dx,prt2
int 21h
lea dx,outnum
int 21h
mov ah,4ch
int 21h
radix proc
push cx
push dx
xor cx,cx
lop1:xor dx,dx
div bx
push dx
inc cx
or ax,ax
jnz lop1
lop2:pop ax
cmp al,10
jb l3
add al,7
l3:add al,30h
mov [si],al
inc si
loop lop2
pop dx
pop cx
ret
radix endp
code ends
end begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -