汇编高手帮我编个程序好不,要考试了 没有头绪啊

来源:百度知道 编辑:UC知道 时间:2024/09/22 12:36:52
要求将10进制的数转换成16进制的数字
希望高手可以以最基础的汇编语言编写
毕竟我是刚刚学习 很多指令还没有学过

编的好可以追加
不是要怎么算 怎么算我自己会
我要程序好不

CODES SEGMENT
ASSUME CS:CODES
START:

;把ax中的十进制数按十六进制输出39是随便举的一个值
mov ax,39

mov cl,4
mov bh,4
loop1:
rol ax,cl
push ax
and ax,000fh
cmp al,9
jbe back
add al,7h
back:
add al,30h
mov dl,al
mov ah,2h
int 21h
dec bh
cmp bh,0
pop ax
jnz loop1

MOV AH,4CH
INT 21H
CODES ENDS
END START

1.八进制数转换成十进制数
(367)8=3×82+6×81+7×80
=192+48+7
=(247)10

2.十六进制转换成十进制数
(242)16=2×162+4×161+2×160
=512+64+2
=578

3.十进制转成二进制
(52)10=52/2=26...0
26/2=13...0
13/2=6...1
6/2=3...0
3/2=1...1
1/2=0...1
倒取余数:52(10)=110100(2)

4.十进制转成八进制
25(10)=25/8=3...1
3/8=0...3
倒取余数:25(10)=31(8)

5.二进制转成十进制
10110(2)=1*(2*2*2*2)+1*(2*2)+