程序計數(shù)器是用來存放下一條要執(zhí)行的指令的
這個是內(nèi)部自動執(zhí)行的,不需要代碼編寫的,但是,如果修改了程序計數(shù)器的值,就會改變下一條要執(zhí)行的指令了,等于去改變下一條指令
等于說:你原本讀寫的程序是要向左,如果不改變程序計數(shù)器的值,這下一條指令就是要向左了
但是,可能是中斷,也可能是按鍵,現(xiàn)在改變了程序計數(shù)器的值,下一條指令變成了向右了
但是,程序計數(shù)器是不能直接操作的,不要問我為什么,PIC規(guī)定的!它只能間接操作,
操作的方法是通過操作PCLATH完成程序計數(shù)器的操作,等于是說:你操作了PCLATH就是操作了程序計數(shù)器
這程序計數(shù)器是有21位的,所以,是要三個地址的,數(shù)據(jù)手冊里79頁面有說明
TOSL也是是一樣的,它是堆棧操作用的,大概的原理是前面的程序計數(shù)器是一樣的,不同的是它是只讀的,它只能讀取堆棧最頂?shù)闹?br />
你沒有真正寫過PIC匯編,真的是很難理解的,用PIC匯編,特別是PIC18系列的匯編,只有以下幾個原因:
1,公司要求
2,原本就是匯編,你修改或者升級
3,抄,就是反匯編,破解什么的 |