[問題] 請問一下這五個迴圈如何化簡?

看板ASM (組合語言)作者 (999就是久久久!)時間14年前 (2010/03/30 08:27), 編輯推噓3(302)
留言5則, 5人參與, 最新討論串1/4 (看更多)
我寫一個土法煉鋼的跑馬燈程式如下: //○不亮 //●亮 /* 16進制 8421 8421 0x81=左一右一 ●○○○ ○○○● 0x42=左二右二 ○●○○ ○○●○ 0x24=左三右三 ○○●○ ○●○○ 0x18=左四右四 ○○○● ●○○○ 0x24=左三右三 ○○●○ ○●○○ 0x42=左二右二 ○●○○ ○○●○ 0x81=左一右一 ●○○○ ○○○● */   while(1) { for(int j=0;j<8;j++) { P1OUT = 0x81; i <<= 1; delay(); } //●○○○ ○○○● //8 4 2 1 8 4 2 1 for(int j=0;j<8;j++) { P1OUT = 0x42; i <<= 1; delay(); } //○●○○ ○○●○ //8 4 2 1 8 4 2 1 for(int j=0;j<8;j++) { P1OUT = 0x24; i <<= 1; delay(); } //○○●○ ○●○○ //8 4 2 1 8 4 2 1 for(int j=0;j<8;j++) { P1OUT = 0x18; k >>= 1; delay(); } //○○○● ●○○○ //8 4 2 1 8 4 2 1 for(int j=0;j<8;j++) { P1OUT = 0x24; i <<= 1; delay(); } //○○●○ ○●○○ //8 4 2 1 8 4 2 1 for(int j=0;j<8;j++) { P1OUT = 0x42; i <<= 1; delay(); } //○●○○ ○○●○ //8 4 2 1 8 4 2 1 for(int j=0;j<8;j++) { P1OUT = 0x81; i <<= 1; delay(); } //●○○○ ○○○● //8 4 2 1 8 4 2 1 } 請問一下如何將他化簡(縮減)? 可以教一下嗎?感激不盡<(_ _)> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.17.10.177 ※ 編輯: han999 來自: 163.17.10.177 (03/30 08:29)

03/30 08:34, , 1F
CALL TABLE
03/30 08:34, 1F
※ 編輯: han999 來自: 163.17.10.177 (03/30 08:40)

03/30 08:41, , 2F
小弟我是初學者怎麼CALL TABLE
03/30 08:41, 2F

03/30 12:26, , 3F
1F應該是說 不要有運算式了
03/30 12:26, 3F

04/01 12:35, , 4F
你是想要什麼動作?從你程式中看不出來...
04/01 12:35, 4F

04/23 16:35, , 5F
我真的看不出來想要做什麼耶
04/23 16:35, 5F
文章代碼(AID): #1BiKM788 (ASM)
文章代碼(AID): #1BiKM788 (ASM)