[問題] 8051組合語言有些小問題
我想讓他從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
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
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
ASM 近期熱門文章
PTT數位生活區 即時熱門文章
21
65