没事做了2到其他进制的进制转换(勿黑)
2到8
data segment
input db 10,?,10 dup(?) ;可输入8个二进制
data ends
code segment
assume ds:data,cs:code
start:
mov dx,offset input
mov ah,10
int 21h
mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
mov bx,2
mov cx,2
mov dl,0
lop:
mov al,offset input[bx]
rcr al,1
rcl dl,1
inc bx
loop lop
add dl,30h
mov ah,2
int 21h
mov cx,2
lop1:
push cx
mov cx,3
mov dl,0
lop2:
mov al,offset input[bx]
rcr al,1
rcl dl,1
inc bx
loop lop2
add dl,30h
mov ah,2
int 21h
pop cx
loop lop1
mov ah,4ch
int 21h
code ends
end start
2到10
data segment
input db 10,?,10 dup(?) ;可输入8位2进制
data ends
code segment
assume ds:data,cs:code
start:
mov dx,offset input
mov ah,10
int 21h
mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
mov bx,9
mov cx,8
lop:
mov si,cx
mov cx,9
mov dx,1
mov al,offset input[bx]
shr al,1
jnc bsh
sub cx,bx
shl dl,cl
add di,dx
bsh:
dec bx
mov cx,si
loop lop
mov ax,di
mov dx,0
cmp ax,1000
jae sq
mov bx,100
div bx
jmp tg
sq:
mov bx,1000
div bx
jmp gg
tg:
xchg ax,dx
add dl,30h
push ax
mov ah,2
int 21h
mov dx,0
pop ax
mov bx,10
div bx
xchg ax,dx
add dl,30h
push ax
mov ah,2
int 21h
pop ax
mov dx,ax
add dl,30h
mov ah,2
int 21h
jmp exit
gg:
xchg ax,dx
add dl,30h
push ax
mov ah,2
int 21h
mov dx,0
pop ax
mov bx,100
div bx
xchg ax,dx
add dl,30h
push ax
mov ah,2
int 21h
mov dx,0
pop ax
mov bx,10
div bx
xchg ax,dx
add dl,30h
push ax
mov ah,2
int 21h
pop ax
mov dx,ax
add dl,30h
mov ah,2
int 21h
exit:
mov ah,4ch
int 21h
code ends
end start
2到16
data segment
input db 10,?,10 dup(?) ;shu ru 8 wei
data ends
code segment
assume ds:data,cs:code
start:
mov dx,offset input
mov ah,10
int 21h
mov dl,10
mov ah,2
int 21h
mov dl,13
mov ah,2
int 21h
mov bx,2
mov cx,2
lop:
mov dl,0
push cx
mov cx,4
lop1:
mov al,offset input[bx]
rcr al,1
rcl dl,1
inc bx
loop lop1
cmp dl,9h
ja dxzm
add dl,30h
jmp tg
dxzm:
add dl,37h
tg:
mov ah,2
int 21h
pop cx
loop lop
mov ah,4ch
int 21h
code ends
end start