将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
最后
以上就是健忘睫毛膏最近收集整理的关于实训汇编语言设计——将bcd码转化为二进制数的全部内容,更多相关实训汇编语言设计——将bcd码转化为二进制数内容请搜索靠谱客的其他文章。
发表评论 取消回复