用汇编语言编写一个程序:输入一个八位二进制数,用除十取余法求出十进制数,并输出

如题所述

第1个回答  2012-05-25
assume cs:code,ds:data,ss:stack
stack segment stack
db 256 dup (0)
stack ends
data segment
str1 db "Input 8-bit Binary: ",'$'
str2 db 10,13,"Decimal: ",'$'
str3 db 10,13,"Press any key to exit...",'$'
d db 0,0,0,'$'
data ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,255
mov ah,9
mov dx,offset str1
int 21h
mov ah,1
int 21h
sub al,48
mov cl,7
shl al,cl
mov ch,al
mov ah,1
int 21h
sub al,48
mov cl,6
shl al,cl
add ch,al
mov ah,1
int 21h
sub al,48
mov cl,5
shl al,cl
add ch,al
mov ah,1
int 21h
sub al,48
mov cl,4
shl al,cl
add ch,al
mov ah,1
int 21h
sub al,48
mov cl,3
shl al,cl
add ch,al
mov ah,1
int 21h
sub al,48
mov cl,2
shl al,cl
add ch,al
mov ah,1
int 21h
sub al,48
mov cl,1
shl al,cl
add ch,al
mov ah,1
int 21h
sub al,48
add ch,al
mov ah,9
mov dx,offset str2
int 21h
mov bx,offset d
add bx,2
l: cmp ch,10
jbe e
mov ax,0
mov al,ch
mov dl,10
div dl
add ah,48
mov ds:[bx],ah
dec bx
mov ch,al
jmp l
e: add ch,48
mov ds:[bx],ch
mov ah,9
mov dx,bx
int 21h
mov ah,9
mov dx,offset str3
int 21h
mov ah,8
int 21h
mov ax,4c00h
int 21h
code ends
end start本回答被提问者采纳
第2个回答  2012-05-16
作业题?追问

相似回答