看板 ASM 關於我們 聯絡資訊
我想讓他從99一直減到1 我的程式部分: DOWN1: DEC SEC_ONE MOV A,SEC_ONE ANL A,#0FH (保留最高四位元存於A暫存器) CJNE A,#0FH,DOWN_ONE (判斷A是否為0F(00001111)←這行不懂用意) MOV A,SEC_ONE (將SEC_ONE內容存於A暫存器) ANL A,#0FH (保留最高四位元存於A暫存器) ADD A,#09H MOV SEC_ONE,A SWAP A (將A暫存器較高四位元與較低四位元交換(十位數 換個位數)) DOWN_ONE: MOV A,SEC_ONE SWAP A 不太懂的地方是否為什麼要判斷A是否為0F? 還有就是他較高四位元與較低四位元交換是怎麼執行的? 例如我現在是50,我十位數扣1變成40,然後個位數+9變成49 那他高位元跟低位元是怎麼交換的,不是很懂交換是換哪邊? 第一次再PTT發文,如果表達不是很清楚請見諒 以上程式是在課本內看到的 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.169.38.59 ※ 文章網址: http://www.ptt.cc/bbs/ASM/M.1401693649.A.672.html
WolfLord:高位元是 0F0H 06/03 00:10
poboroy:程式的問題我懂了,另外想問一下 06/03 00:44
poboroy:他最後傳給七段的數字是反的,這是為什麼? 06/03 00:44
poboroy:因為是使用7448靜態控制嗎?還是8051本身要傳給七段就是要 06/03 00:45
poboroy:相反的數字? 06/03 00:45
WolfLord:共陽 06/03 14:08