[問題] 8051組合語言有些小問題

看板ASM (組合語言)作者 (阿揚揚)時間11年前 (2014/06/02 15:20), 編輯推噓2(204)
留言6則, 2人參與, 最新討論串1/1
我想讓他從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

06/03 00:10, , 1F
高位元是 0F0H
06/03 00:10, 1F

06/03 00:44, , 2F
程式的問題我懂了,另外想問一下
06/03 00:44, 2F

06/03 00:44, , 3F
他最後傳給七段的數字是反的,這是為什麼?
06/03 00:44, 3F

06/03 00:45, , 4F
因為是使用7448靜態控制嗎?還是8051本身要傳給七段就是要
06/03 00:45, 4F

06/03 00:45, , 5F
相反的數字?
06/03 00:45, 5F

06/03 14:08, , 6F
共陽
06/03 14:08, 6F
文章代碼(AID): #1JZ2NHPo (ASM)
文章代碼(AID): #1JZ2NHPo (ASM)