Social Icons

twitterfacebookgoogle plusrss feedemail

12/25/2009

微處理機(8051)上機考古題 Arithmetic 2-9

9.Write a program to change a 2-byte BCD stored in 20H-21H into a 16-bit unsigned number at 30H-31H. For example, if (20H)=38H, (21H)=59H, then (30H)=0FH, (31H)=13H.(09.12.31.PM12:54最後更新)(10.01.03PM12:10做程式碼修正)
本文章題目版權歸屬於朱老師,另外本文所提供答案並不保證其正確性


PS:
因題目是3859H
原程式碼只用3859來做
所以此次更新為把3859H做轉換變成3859
程式碼如下:
source_dph equ 20H
source_dpl equ 21H
dest_dph equ 30H
dest_dpl equ 31H

mov source_dph,#38H
mov source_dpl,#59H

mov a,source_dph
mov b,#10H
div ab
mov 40h,b
mov b,#10
mul ab
add a,40h
mov r0,a

mov a,source_dpl
mov b,#10H
div ab
mov 40h,b
mov b,#10
mul ab
add a,40h
mov r1,a

mov a,r0
mov b,#100
mul ab
mov r0,b

add a,r1
mov dest_dpl,a
mov a,r0
addc a,#0
mov dest_dph,a

nop
end

如果要複製上方程式碼,請點擊程式碼上方的    圖示會跳出一個視窗,複製即可



如果發現文章有錯誤,歡迎留言告知~謝謝指教!

沒有留言:

張貼留言

俗話說
凡走過必留下痕跡,凡住過必留下鄰居
凡爬過必留下樓梯,凡來過必留下IP
看過文章之後歡迎留下您寶貴的意見喔!

 
 
无觅相关文章插件,迅速提升网站流量