二进制转化为十六进制

来源:百度知道 编辑:UC知道 时间:2024/05/22 00:39:42
用汇编写的,谁有谢谢

你很兔啊!!
你去找一本《C语言程序设计》的书看看不就会了吗?

8086/8088汇编
假设要将16位寄存器si中二进制信息以16进制输出

data segment
hexchar db '0123456789abcdef'
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
lea bx,hexchar
mov cx,4
again: mov ax,000fh
and ax,dx
xlat
mov dl,al
mov ah,02h
int 21h
shr si,1
shr si,1
shr si,1
shr si,1
loop again
mov ah,4ch
int 21h
code ends
end start

data segment
hex db '0123456789ABCDEF'
buf db 4 dup(0)
buf1 dw 1234h
data ends
stack segment stack 'stack'
db 100 dup(?)
stack ends
code segment
assume cs:code,ds:data,ss:stack,es:data
main proc far
push ds
xor ax,ax
push ax
mov ax, data
mov ds, ax
mov es, ax
mov si, buf1 ;须做二进制转十六进制的数送si.
mov di, offset buf
mov bx, of