導航:首頁 > 源碼編譯 > 匯編語言編譯植入系統

匯編語言編譯植入系統

發布時間:2022-04-23 23:13:49

『壹』 匯編語言的編譯器是運行在什麼平台上

我知道 我回答了很多問題 都沒回復 沒意思了 我很失望 不回答了
去看編譯原理就明白了
好吧那我就告訴你吧
實際上裸機可以運行任何軟體
為什麼一定要在操作系統上運行
就是為了解決應用程序對硬體編程的復雜性 所以操作系統提供了編程介面 就是系統調用 應用程序直接調用操作系統的介面要比直接對硬體編程簡單的多 著就是操作系統其一的功能
你想知道匯編器和操作系統 是如何實現的嗎
我也知道
第一個匯編器其實 是人工翻譯的 就是看CPU廠家的手冊進行翻譯的 後來就把人工翻譯的過程 用計算機來實現就成了匯編器 第一個匯編器是人工翻譯成機器語言的 在計算機上運行的功能很有限 用這個功能很有限的匯編器 去編譯一個功能強大的匯編程序 在用這個匯編器去編譯匯編語言寫的C語言編譯程序 就這樣慢慢就發展成了今天的非常復雜的編譯器
操作系統是如何實現的那 我也知道
沒心情在說了

『貳』 匯編程序是如何開發出來的最初,程序代碼是如何植入計算機的

最初代碼是由二進制數字組成,由一根根線組成,未熔斷的線為1,熔斷的線為0
後來使用晶元內的加電壓方式寫入代碼

『叄』 【匯編語言】匯編中怎麼嵌入、運行機器碼

是這樣,b8 34 12這樣的位元組內容計算機既可以解釋成數據也可以解釋成代碼,就看哪個段寄存器中,如果是保護模式,就看它是放在哪個段中。舉個例子,8086CPU匯編當CS:IP指向某個被命名為codesg的段,你想讓CPU執行你指定的機器碼,就在這個段定義這些數據就成了。例如如下代碼

assume cs:codesg,ds:data

data segment
db b8 34 12 ;你定義的數據,它被CPU理解為數據
data ends

codesg segment
begin:
db b8 34 12 ;這就是你要執行的機器碼
mov ax,data
mov ds,ax
....... ;之後你要寫的指令,當然也可以定義你要執行的機器碼
codesg ends

end begin

懂了吧,像諸如db b8 34 12這樣的數據,CPU如何理解它全看它被哪個段寄存器指向

『肆』 關於匯編語言移植性的問題

兄弟,你理解錯了,首先你要明白,匯編語言是一種針對具體機器的低級語言,這里說的不同機器一般來講是指CPU指令系統不相兼容的兩種機器,比如常用的8086與51,DSP,ARM,等等,他們的指令系統都不是通用的。自然移植到別的機器上不行,
舉個例子來說吧,假如51,的P0埠可以用來點亮一盞燈,但是對8086或者其他單片機就不一定了,有可能是P1或者其他口了
你所寫的匯編語言是針對8086CPU的,每台機子上的8086核心都是一樣的,所以都能夠運行,要是你拿到51等其他片子就肯定不行了
還要說的是,8086的CPU是8位的,然而真實的PC機是32位或64位的,所以你都要用編譯軟體來編譯運行,並且計算機內有虛擬的8086內核,所以你才能運行
不行你將寫好的程序,在dos下直接debug,
是肯定會出錯的

說了這么多不知道你明白了沒有??

『伍』 匯編語言怎麼寫入單片機

利用編譯軟體,業界最常用功能最強大的是KEIL uv2/3,將你的源程序編譯生成為.hex格式的文件。具體用法你可以先下載一個keil c51的軟體。找一個教程看一下。keil c51可以編譯C語言,也可以編譯匯編語言,也可以把兩者混合匯編。但是只有將他們轉換成.hex格式(十六進制格式文件)的文件(或者二進制的文件,這種情況一般很少),單片機才能識別。
程序編譯好後,剩下的工作就是將生成的.hex燒錄到單片機中去啦。使用編程器將文件傳到單片機中就行啦。
編程器(也即程序燒錄器)現在網上有很多賣的(很便宜的,四五十就行了。我前一段時間在淘寶上買了一個。當然,也可以自己做一個,算了下自己做的話,單個的成本也在三十六塊錢左右。單個做不合算,批量才有的賺),很多可以通過計算機串口直接將單片機燒錄好。然後再將燒錄好的單片機取下來,安裝在你的MCU系統中。上電....

搞定收工!O(∩_∩)O~

『陸』 電腦病毒都是匯編語言編寫的,難道不怕不同的cpu的指令集不一樣嗎

首先,糾正一點,病毒不是全部由匯編語言編寫的,而C和C++同樣可以編寫出病毒,還有就是匯編的可移植性不差,只是匯編不容易被人看懂,不信你看看CPU,大多數CPU都支持X86指令,另外一個就是,即使使用高級語言編寫的病毒,它的病毒體也是由匯編語言構成的。現在回答你的問題,只要換一塊全新的CPU並不能讓老病毒無法運行,老病毒之所以無法運行在新系統中,是因為新系統的CUI界面是處於許可權最低的級別,而老病毒編寫的時候並沒有預料到這一點,同時老系統的CUI(比如DOS,windows95,windows98)等的GUI事處於許可權的最高級別,所以,老病毒一般在新電腦中是無法運行的,但是並不代表不能運行,只要改變自己的許可權等級(比如,將自己偽裝成驅動程序讓系統載入等)就可以運行了。

『柒』 如果在WIN下把程序變成匯編語言在linux下重新編譯能實現移植嗎

應該不可以,因為匯編對軟硬體的要求是比較苛刻的,在win下的程序,反匯編以後的代碼應該是只適合當前硬體系統和當前操作系統的,轉到Linux後,相應的代碼必須做相應的改動。
以上供參考。

『捌』 匯編語言在什麼系統或環境下寫程序

理論上什麼系統下都可以使用匯編寫程序。關鍵的問題是,在許多系統下匯編有特殊的要求還需要遵守。DOS是對幾乎軟體進行限制最少的系統,所以一般都喜歡用DOS。而windows尤其是NT系列,則限制就比較多了,但即使如此,你仍舊可能在windows是使用匯編。

『玖』 匯編程序是怎麼編譯的

匯編語言是一種低級語言,匯編語言是匯編指令集、偽指令集和使用它們規則的統稱,使用具有一定含義的符號為助憶符,用指令助憶符、符號地址等組成的符號指令稱為匯編格式指令。


過程:

  1. 編輯:用編輯軟體(EDIT.EXE或記事本)形成源程序(.ASM)

  2. 匯編:用匯編程序(MASM.EXE)對源程序進行匯編,形成目標文件(.OBJ),格式如下:MASM LX.ASM;

  3. 連接:用連接程序(LINK.EXE)對目標程序進行連接,形成可執行文件(.EXE),格式如下:LINK LX.OBJ;

  4. 執行:如果結果在屏幕在顯示,則直接執行可執行文件。

  5. 調試:用調試程序(LINK.EXE)對可執行文件進行調試,格式如下:DEBUG LX.EXE


匯編語言中,用助記符(Memoni)代替操作碼,用地址符號(Symbol)或標號(Label)代替地址碼。匯編程序(如MASM)的原理實際上就是把匯編的代碼轉成電腦可以識別的二進制碼

『拾』 匯編語言不能移植,不一樣通過編譯器編譯成二進制

代碼可移植指的是,舉例來說C語言,在不同平台都有它的編譯器,同樣一段c語言程序通過這些編譯器編譯形成可執行代碼都能在各自平台上運行
匯編語言由於受到各cpu指令的限制,沒有通用性,比如Intel上的匯編代碼,通過編譯器形成可執行代碼,在Intel上可以運行,但你拿這些代碼放到蘋果的cpu上,蘋果系統提供的編譯器就無法正確編譯這些匯編代碼形成可在蘋果cpu上運行的執行代碼,那麼我們說,匯編代碼不能直接移植。

閱讀全文

與匯編語言編譯植入系統相關的資料

熱點內容
java線程啟動線程的方法 瀏覽:252
兩位數互補演算法 瀏覽:781
甲骨文雲伺服器登錄 瀏覽:776
程序員那麼可愛在哪裡可以免費觀看 瀏覽:566
台灣伺服器地址大全 瀏覽:192
安卓自動美顏怎麼關 瀏覽:960
java手動釋放內存 瀏覽:868
迷你世界怎麼自己創伺服器 瀏覽:811
cmd命令不能運行 瀏覽:298
最新pdf閱讀 瀏覽:756
c語言中的排序演算法 瀏覽:597
php原生鏈接資料庫 瀏覽:45
web前端後端程序員 瀏覽:25
萬能zip的壓縮包怎麼解壓 瀏覽:41
國內動漫用什麼app看 瀏覽:354
樹莓派高級編程 瀏覽:929
30歲學編程晚嗎 瀏覽:69
解壓專家怎麼打開 瀏覽:87
php開源留言板 瀏覽:50
新鄉市區疫情怎麼查詢app 瀏覽:159