看板 ASM 關於我們 聯絡資訊
P3.7 P2.5 P0.0 □□□□□□□□□□■■■■■■■■■■■■■■■■■■■■■■ ←←←←←←←←←←←← □□□□□□□□□■■■■■■■■■■■■■■■■■■■■■■□ □□□□□□□□■■■■■■■■■■■■■■■■■■■■■■□□ ■■■■■■■■■■■■■■■■■■■■■■□□□□□□□□□□ 如上塗滿抽象的,就是要亮過去 但是我不知道怎麼寫左移的而且要循環下去 就是P0減一然後P2加一 希望能交我該怎麼寫下去 程式如下 ORG 00H JMP START START: MOV A,#0 MOV P0,#0 MOV P1,#0 MOV P2,#0 MOV P3,#0 MOV R3,#0 MOV R5,#08 CALL PD MOV R5,#08 CALL PE MOV R5,#06 CALL PF MOV R5,#08 PD: INC A MOV R3,A MOV P0,R3 RLC A MOV R6,A DJNZ R5,PD CLR A CLR C MOV R6,A ret PE: INC A MOV R3,A MOV P1,R3 RLC A MOV R6,A DJNZ R5,PE CLR A CLR C MOV R6,A ret PF: INC A MOV R3,A MOV P2,R3 RLC A MOV R6,A DJNZ R5,PF RET -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.240.249.205 ※ 編輯: move779 來自: 210.240.249.205 (03/01 21:32) ※ 編輯: move779 來自: 210.240.249.205 (03/01 21:36)
ruemann:P0~P3的暫存器位置、左移、C,這三個東西就可以了 03/01 22:44
ruemann:另外一種是暴力解,就是把所有情況列出來,直接load進去 03/01 22:47
dinopalm:跑馬燈不必寫得很漂亮吧 如同二樓說的 每種狀況都寫出來 03/01 23:08
dinopalm:左移右移 交叉 來回跑 一招就搞定了 03/01 23:09
move779:謝謝 r大的第一個方法很快 03/03 08:45
move779:也謝謝D大 因為剛接觸,所以沒想過還有這樣方法 03/03 08:47
ast9869:用C寫的話就很快了 DWORD dwLED=0x7ff; dwLED=dwLED<<1; 03/07 11:41
ast9869:P0=dwLED&0xff; P1=(dwLED>>8)&0xff; P2=(dwLED>>16)&0xff 03/07 11:44
ast9869:然後再判斷dwLED是否溢位,溢位就LowByte or 0x01 03/07 11:48