[討論]考考你們→ 一個判斷轉向的程式
[討論]考考你們→ 一個判斷轉向的程式
因為我想做TXT介面的文字編輯器,
但是有很多按鍵不是文字(如F1~F4、輸入.....)
所以要判斷按下哪些鍵,以及跳至他們須執行的程式。
不過那些程式都是小程式
改兩三個位址值就行了
問題來了!
請各位想想,如何做出程式體積小,執行速度快的判斷程式
再說一次已存在的條件↓
1.只有約十幾個需判斷的按鍵值
2.跳轉後的副程式都是小程式,約佔12B。且有跳轉至同一副程式的現象。
(也就是說副程式總大小很小很小)
我現在想用的方法是我在上歷史時突然想到的,
真的是又快又好,
而且這種方法只有組語或機語才做得到喔!(這也算是個提示啊!)
大家努力想想吧!
(嘿!搞不好有更好的方法)
註:若用查表程式,那些"表"也算體積
一星期後公佈答案。
但是有很多按鍵不是文字(如F1~F4、輸入.....)
所以要判斷按下哪些鍵,以及跳至他們須執行的程式。
不過那些程式都是小程式
改兩三個位址值就行了
問題來了!
請各位想想,如何做出程式體積小,執行速度快的判斷程式
再說一次已存在的條件↓
1.只有約十幾個需判斷的按鍵值
2.跳轉後的副程式都是小程式,約佔12B。且有跳轉至同一副程式的現象。
(也就是說副程式總大小很小很小)
我現在想用的方法是我在上歷史時突然想到的,
真的是又快又好,
而且這種方法只有組語或機語才做得到喔!(這也算是個提示啊!)
大家努力想想吧!
(嘿!搞不好有更好的方法)
註:若用查表程式,那些"表"也算體積
一星期後公佈答案。
好久沒完6502了
也沒時間......
目前除了拼課業就是玩Linux(還說沒時間......)
也沒時間......
目前除了拼課業就是玩Linux(還說沒時間......)
好啦好啦!
我直接說吧!
我的方法是
利用組合語言能修改指令的功能減少程式碼
表:
比對值:1B
跳轉程式之偏移量:1B
(以上結構循環)
程式
CMP.....
BNE.....(條件不符,再比對)
STA ......(修改下面BEQ後的數值)
BEQ 00
JMP ......(條件均不符合,回主程式)
.....以下為跳轉後的子程式......
說明:
上面的轉移程式就是,
當比對到適當的值時,
程式修改BEQ的偏移量,
再由此轉到下面的子程式執行功能。
(這可是高階語言無法達到的設計喔!)
※因為之前已通過BNE的測試,所以遇到BEQ絕對能轉移。
我直接說吧!
我的方法是
利用組合語言能修改指令的功能減少程式碼
表:
比對值:1B
跳轉程式之偏移量:1B
(以上結構循環)
程式
CMP.....
BNE.....(條件不符,再比對)
STA ......(修改下面BEQ後的數值)
BEQ 00
JMP ......(條件均不符合,回主程式)
.....以下為跳轉後的子程式......
說明:
上面的轉移程式就是,
當比對到適當的值時,
程式修改BEQ的偏移量,
再由此轉到下面的子程式執行功能。
(這可是高階語言無法達到的設計喔!)
※因為之前已通過BNE的測試,所以遇到BEQ絕對能轉移。
好久沒完6502了
也沒時間......
目前除了拼課業就是玩Linux(還說沒時間......)
也沒時間......
目前除了拼課業就是玩Linux(還說沒時間......)