0
点赞
收藏
分享

微信扫一扫

实训汇编语言设计——将bcd码转化为二进制数


将bcd码转化为二进制数

data segment
bcd db 1,2,3,4,5 ;bcd码
a dw ? ; 用于存放bcd码转化后的十六进制数
data ends
stack segment para stack'stack'
stapn dw 50 dup(?)
stack ends

code segment
main proc far
assume ds:data,cs:code,ss:stack
start:
;set up stack to retuan


;set DS register to current segment
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax

;maim part of the code goes here
call convert ;调用子程序
mov a,bx
ret
main endp


convert proc near
push si
push cx
push ax
mov si,4
l1:mov al,bcd[si]
cbw
;digit is now in ax
;multiply number in bx by 10 decimal
xchg ax, bx
mov cx,10d
mul cx
xchg ax,bx
;Add digit in ax to number in bx
add bx,ax
dec si
jnz l1
pop ax
pop cx
pop si
exit:mov ah,4ch
int 21h
convert endp


code ends

end start

举报

相关推荐

0 条评论