Re: [問題] 請問大家關於pic....
※ 引述《ecin ()》之銘言:
: 關於memory layout的問題,請問先進,
: SFR 的位址空間設定在以00H為起始的空間,
: 然後程式起始reset位址也是設在00H,
: RAM ROM interrupt....有些位址宣告會重疊...
memory address 和 program address 是獨立的
存取 ram 和讀 rom 用的指令不同
: 1.請問先進..程式在編碼的時候 ,怎麼判別現在我設的位址是在RAM..
: [因為SFR INDF 00H(判定放在RAM..不知道對不對)]或者ROM中(程式位址reset00H)
你設的 address 一定是設到 ROM ,但那個資料可以存在 ram 中
: 2.在memory layout中主要分RAM ROM interrupt...怎麼判讀我現在是在interrupt
: 04H呢?....因為 我看程式在ROM中也有別的04H...
interrup vector 是固定的,不會有其他的 address 和他相同
每個 program address 也都是獨立且唯一的
: 3.在pic中的撰寫,會看到 一開始的參數位址設定,然後PRIME設定,再來是
: interrupt副函式,其中我看到中斷副函式有用到GOTO指令然後就跳至PRIME
: GOTO指令是完全釋放的指令,不會再跳回去了,而interrupt部分的程式還未執行完
: 這樣子是主程式會依邏輯判讀再跳進去嗎?
interrupt 結束通常是用 RETFIE ,我看不懂你的說法
: 4.我依 假指令才判別主程式從哪裡開始,對於假指令,上網看是給編譯器看的?..
: 或者組譯器看的?.....兩只的差別在於....?
假指令不會在執行中起作用,是給 編譯器 or 組譯器 看的,你可以依照條件編出不同
版本的執行碼
: 5.請問pic的 程式執行順序也是依程式的寫法逐行由上到下執行嗎?
是
: 6. Fresh 、和OPT....也都同樣有RAM ROM嗎?....
有, flash, OTP 只是 rom 的儲存架構不同,但機械流程是相同的
: ...不知是否有點攏長,請問類似觀念 有參考書籍嗎?..謝謝
datasheet 是你最佳的參考資料
--
我是路人甲
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.156.98
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
ASM 近期熱門文章
PTT數位生活區 即時熱門文章