目前分類:組合語言學習 (12)

瀏覽方式: 標題列表 簡短摘要

8051程式記憶體

8050是一個8位元的單晶片,它有獨立最大64K的程式記憶體,當然,市售的805X族系晶片,程式記憶體大半在4K,8K,16K為主,和個人電腦以G為單位的記憶體相比,8051的記憶體算是很小了。

單晶片玩人 發表在 痞客邦 留言(0) 人氣()

在串列埠輸出資料

能夠在串列埠輸出文字,其實是很重要的一步,印象中當年微軟的DOS作業系統,就有一個DEBUG程式,讓使用者可以看到,目前記憶體的內容為何。現在8051單晶片系統,作者嘗試作類似的努力,讓使用者可以看到8051系統內的記憶體內容為何。得知記憶體內容,對8051的學習,將帶來很大的幫助。

單晶片玩人 發表在 痞客邦 留言(0) 人氣()

串列埠簡介和設定

串列埠一般簡稱RS232UART介面,通常用於單晶片的資料傳輸之用。RS232規格至少是和8051一樣古老,因為技術上簡單,容易使用,即使時至今日,在單晶片的領域仍很重要。

單晶片玩人 發表在 痞客邦 留言(0) 人氣()

SDCC C51函式的回傳值

C語言的函式,在被呼叫時,可以將某種參數傳入函式使用,當函式執行結束,還可以回傳某種資料型態的數值。這是C語言最基本的用法。

單晶片玩人 發表在 痞客邦 留言(0) 人氣()

SDCC C51函式的輸入參數

 目前已可以在一個專案中,同時包括C和組合語言兩個源碼,進一步,希望能將C語言的輸入參數,可以用組合語言的方式來表現或傳遞,或者倒過來,可以利用組合語言,來呼叫C函式,並且將輸入參數,傳送到C函式之中。

單晶片玩人 發表在 痞客邦 留言(0) 人氣()

SDCC 函式的輸入參數

目前已可以在一個專案中,同時包括C和組合語言兩個源碼,還想進一步,希望能將C語言的輸入參數,可以用組合語言的方式來表現或傳遞,或者倒過來,可以利用組合語言,來呼叫C函式,必且將必要的參數,傳到C函式之中。

單晶片玩人 發表在 痞客邦 留言(0) 人氣()

SDCC C51的聯結功能

作者在開始學習SDCC C51時,是由sdas8051 assembler入手,SDCC這類自由軟體最大的缺點之一,是能找得到的參考資料很少,作者自認英文不差,嘗試在網路搜尋,也沒找到多少可用的文章,碰到問題只能K它們家的使用手冊(也很簡單),自己寫程式嘗試錯誤(TRY AND ERROR) 總之,一切靠自己,是典型的LIY(LEARN IT YOURSELF)。

單晶片玩人 發表在 痞客邦 留言(0) 人氣()

C51的首次出現

對於熟悉組合語言的工程師,第一次寫C51的程式,心中其實是有些不安的。比如組合語言有虛擬指令,像是 .ORG,可以用來告訴編譯器,程式碼要放在位址0,C語言沒有類似的虛擬指令,程式碼要放在何處,就是由C51編譯器決定。

單晶片玩人 發表在 痞客邦 留言(0) 人氣()

不只是開關而已

初學者可能以為,只要不停的開和關LED,眼睛看到的自然是閃動的效果,所以只要寫成如上的程式即可。

單晶片玩人 發表在 痞客邦 留言(0) 人氣()

可控制的輸出/

 記得以前作者參予筆電的研發團隊,BIOS工程師總會在列表機埠上接上幾顆LED,然後寫輸出程式控制LED的開或關,當作BIOS程式除錯之用。

單晶片玩人 發表在 痞客邦 留言(0) 人氣()

由簡入繁

本篇先由一個簡單的組合語言程式起始,程式只有短短不到10行,不過這是一個完整的原始程式檔,編譯下載後可以點亮硬體平台的LED,下一篇另一個程式是第一個程式的改良版,程式開始讓LED閃動,像是單晶片的心臟開始跳動;兩個程式作者刻意維持最簡單的風格.作者也曾是電腦初學者,深知初學者的痛苦,記憶中作者的第一份程式長度約略100行上下,花了大約2個小時輸入和檢查,終於到了見真章的一刻,程式進入編譯階段,說時遲那時快,編譯後整個螢幕出現數拾行的錯誤訊息,當下的失望即使經過多年,仍然歷歷在目.

單晶片玩人 發表在 痞客邦 留言(0) 人氣()

談一段組合語言往事

先講一段陳年往事,作者於1980年大四下學期修一門微電腦課程,記得當時的微電腦中央處理機為Z80,學校購入價格近10000美金,只能使用組合語言寫程式。

單晶片玩人 發表在 痞客邦 留言(0) 人氣()