中斷入口詳解
我當初是用印的保存這資料,現在打出來給大家。
1.PHP PLA彈出B標誌位元,判斷是IRQ(硬體中斷)還是BRK(軟體中斷)B=1為BRK
具體程式
php
pla //標誌位元組在a寄存器
and #$10 //只保留b標誌位元(第5位元),其他使其為0
bne $.... //若以上操作結果不為零(b<>0)表示為brk
2.直接從$0101~$01ff的系統堆疊中找被保存的中斷。從中斷點(#$00)後取2個位元組,作中斷向量名稱(如BRK $C719中的$C719,顯示為$19 $C7[括號內是我自己加的,這一條我不知自己要如何操作])
以下使用符號說明,X、Y、?表不同的任意值。A1、A2分別表向量名的高、低8位元。如:BRK $0701那麼A1=$07 A2=$01
3.格式為BRK $FFxx。切換到$84頁,取$B300+xx*2的2位元組當中斷向量名
4.格式:BRK $00xx。由$00頁的$8000+xx*2取2位元組當中斷向量名
5.BRK $Cyxx。先將$0A改為$?y(如:y=7 $0A為$97$77$07...均可)由$C000+xx*2取2位元組當中斷向量名
6.判斷A1是否大於$10,若是,令A1格式為xy(x>1),當前頁+y,從$4000+A2*2取2位元組當中斷向量名。這用來跨BRK調用,只可後跳不可前跳。若要跳回可BRK $20xx
7.BRK $xxyy(xx>$10) 跳到$xx頁的$4000+yy*2取2位元組當中斷向量名
(以上應為順序判斷)。除了第6項外(NC2K無)。都通用所有NC機型。
第6項因為我用NC2000,也看不太懂,各位就自己研究吧!
[轉貼]中斷入口詳解
[轉貼]中斷入口詳解
好久沒完6502了
也沒時間......
目前除了拼課業就是玩Linux(還說沒時間......)
也沒時間......
目前除了拼課業就是玩Linux(還說沒時間......)