Re: 結構化語法
|
||||
---|---|---|---|---|
新會員
|
很高興看到以上的回應. 家電用品使用結構化語法我是第一次看到請問哪兒可以看到此一方面的資料....結構化指令用在complier directive 這點可以理解. 而作為實際執行的指令在組合語言程式中應該也是可能的, 並非一定是多個組合語言指令組成, 這點我已經在pic16f877及其他我所設計的十多種cpu 上實現, 這是一對一的對應.還有一般習慣是一行只寫一個指令,如果能寫多個指令, 在debug 時可以矩陣式地除錯,也是一大好處.不知這樣的語法有人有興趣嗎?
發表於: 2004/8/18 0:01
|
|||
|
Re: 結構化語法
|
||||
---|---|---|---|---|
高級會員
|
在MPASM及MPLINK中提到的虛指令是給組譯器看的 , 組譯器會根據這些指令的用法分別去組譯所需的原始碼 , 它可以使我們的程式更加的活用 , 如果你原先的程式撰寫的夠詳盡的話 , 如果說我們要讓組合語言看起來更高階一點 , 或許可以使用巨集指令 , 像目前討論的相當熱烈的組合語言的結構化 , 也就是您目前問的 , 像是8051或Holtek等家的結構化組合語言 , 也都是利用巨集的方式完成的 ,
例如 if(c=1) { : : } else { : : } 那麼組合語言可以像是用 btfss status,c goto sub1 goto sub2 的方式來處理 , 利用macro的語法來讓你的程式好像簡單一點 , 不過事實上你可能要先努力一點把這些巨集建立起來 , 事實上 , 很多副程式也都是在每次使用時根據一些修正讓這些程式可以更靈活 , 不過有一點建議 , 實際上以類似這種結構化語法或高階的C語言對微控器來說 , 不見得任何時侯都適用 , 如當你需要很精細的微調你的指令時間時就不適合用C或巨集 ,
發表於: 2004/8/17 10:55
|
|||
|
Re: 結構化語法
|
||||
---|---|---|---|---|
版主
|
在組合語言裡 if...else...endif.. 稱之為"條件式組譯"它不是個實體指令,只是提供組譯判斷功能合乎該條件就執行該區塊的組譯動作。
if...else...不可與高階的語言比擬,if else 在 C 語言是種敘述(眾多指令的集合體),在編譯時會產生執行碼的。 有關更多的 Directive 指令可參考 MPASM & MPLINK User's Guide 說明。 http://ww1.microchip.com/downloads/en/DeviceDoc/33014g.pdf
發表於: 2004/8/17 9:45
|
|||
|
Re: 結構化語法
|
||||
---|---|---|---|---|
新會員
|
謝謝版主的導引使我膫解了if...else...endif..的使用.這是用在組譯時編入合乎條件的程式指令,不合乎條件的程式指令就不編入,而不是像高階語法那樣的編入方式,是執行時程式根據條件執行
true 或false的程式.像這樣的編譯方式在pic系列是否有呢?其他 結構化指令還有很多個,是否pic也有作,謝謝回答. 因我有寫pic16f877的組譯器/反組譯器/模擬器想與pic的對照 參用故想多膫解, 再次謝謝了.
發表於: 2004/8/17 1:21
|
|||
|
Re: 結構化語法
|
||||
---|---|---|---|---|
版主
|
發表於: 2004/8/16 12:04
|
|||
|
Re: 結構化語法
|
||||
---|---|---|---|---|
版主
|
請在MPLAB中找MPASM有關: Conditional Assembly Directives的說明,即有詳述。
發表於: 2004/8/16 9:37
|
|||
|
結構化語法
|
||||
---|---|---|---|---|
新會員
|
請問如何用結構化如: IF... ELSE...ENDIF....等等語法寫組合語言程式.MICROCHIP 祖譯器有支援此一類功能嗎?謝謝!
發表於: 2004/8/15 9:27
|
|||
|