Re: [問題]有關ds pic的組合語言

看板ASM (組合語言)作者 (ggg)時間17年前 (2007/08/08 09:43), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
※ 引述《ilike1128 (小白)》之銘言: : 最近玩dspic看到裡面的主體架構是C語言 : 那裡面看到有一章說可以C語言跟組合語言可以混搭寫在一起 : 不曉得有沒有人可以找到類似的範例程式可以讓我看看 : 例如說我本來撰寫主程式的時候是C語言,不過遇到問題 : 去網路上找程式碼結果發現只有組合語言,那我要怎麼樣把它 : 弄出來呼叫 問題大概就是這樣子 如果看到 ASM source program 模組想拿來呼叫, 通常有兩種方 式(跟是否是組語是無關的). 一種是類似 插入 macro 再展開的用法, 把那個原始碼抄來, 塞進要寫的程式段, 但因為是組語, 其前後得有宣告提示 Compiler 這是一段組語指令. 通常 compiler 的後半動作就是 翻成組語, 因此這段塞入的組語語法規定必須與高階語言編譯 器要產生的組語用法相一致. 整個程式用到的變數也是相關聯 的. 另一種用法是把那段組語變成 function / procedure 的形式, 確認其傳入與結果帶回會用到的參數與型態, 將組語模組改成 external module 分開編譯, 做成獨立的 library 與 include 檔供高階語言呼叫使用. 此時, 那個 assembler 工具, 組語語 法, 模組內 local 變數等可以是與 調用模組是完全獨立無關 的, 這樣建好後也可以再利用. 高階語言程式裡, 使用 macro expansion 概念的 in line ASM 碼段, 通常有其特殊原因, 是一種綑綁的策略, 但也可能是求 快. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.1.146
文章代碼(AID): #16kH_NxG (ASM)
文章代碼(AID): #16kH_NxG (ASM)