|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2007-04-18, 03:17 PM | #1 |
|
疑問 - SIC/SICEX的問題?
假設你正在撰寫機器的組譯器,該機器只有程式計數器相對位址(也就是說,沒有
直接定址指令格式,也沒有基底相對定址),假設你想要組譯的指令的運算元是記 憶體的絕對位址,例如: LDA 100 從記憶體的位址100(十六進位)載入暫存器A,可重新定位程式的這程指令會如何 組譯?須要那些重新定位運算? 這個要怎麼寫丫,有人可以幫我嗎>"< |
送花文章: 0,
|
2007-04-18, 03:35 PM | #2 (permalink) |
註冊會員
|
要將 source code 組譯成 object code
要經過兩的 pass 第一個 pass 主要是要 一行一行讀入 source code 加入 location count 輸出 intermediate file 第二個 pass 主要是要 組譯成 object code 輸出 object code 請參考 beck 的 system software 裡面有 pass1 跟 pass2 的詳細演算法 可以使用 java 撰寫 有方便的字串可以使用 這個程式雖然複雜 但是不算困難 把 pass1 跟 pass2 的詳細演算法 看懂應該就很簡單了 加油吧 |
送花文章: 623,
|