代碼部分:
a0 80 00 ldy #$0080 把 80推入Y
cc 20 00 cpy $0020 把Y和7e0020的值比較
f0 03 beq 跳3格,如果Z變成1就跳(Z變成1表示前面cpy比較結果相同,如果不同z就是小寫,然後意義是0)
4c 06 8f 不相同就跳回7e8f06,回家
ee 40 08 inc $0840,給7e0840加1,這邊是空的位址,因為按太快武器會狂跳,所以多一層判斷,讓按鈕不要飛那麼快
a0 0f 00 ldy #$000f 把 0f推入Y
cc 40 08 cpy $0840 把Y和7e0840的值比較,如果是0f,表示要進位,這邊進位是從7e0840進到7e0020。
f0 03 beq 跳3格,如果Z變成1就跳(Z變成1表示前面cpy比較結果相同,如果不同z就是小寫,然後意義是0)
4c 06 8f 不相同就跳回7e8f06,回家(這邊就是一個簡單進位機制,如果按鍵按下,7e0840就加1)
ee 20 08 inc $0820 處理進位的值,所以在7e0820加1。
a0 00 00 ldy #$0000 把 00推入Y
8c 40 08 sty $0840 把7e0840的內容清掉,完成進位,個位(7e0840)寫0,十位(7e0020)加1。
a0 07 00 ldy #$0007 把 07推入Y
cc 20 08 cpy $0820 把Y和7e0820的值比較,如果是07,表示要再給他1,避免溢位,當機(超過07就會當,最多只能6)。
f0 03 f0 03 beq 跳3格,如果Z變成1就跳(Z變成1表示前面cpy比較結果相同,如果不同z就是小寫,然後意義是0)
4c 06 8f 不相同就跳回7e8f06,回家
a0 01 00 ldy #$0001 把 01推入Y
8c 20 08 sty $0820 把01推入7e0820。
4c 06 8f 跳回7e8f06,回家
沒有留言:
張貼留言