當前位置:首頁 » 編程軟體 » 匯編程序論文

匯編程序論文

發布時間: 2023-03-23 01:41:22

❶ plc論文範文

plc是一種數字運算操作的電子系統,專為在工業環境下應用而設計。下面是我為大家精心推薦的plc論文範文,希望能夠對您有所幫助。

plc論文範文篇一

PLC概述及維護

摘要:針對在信號系統與外部介面設計中廣泛使用的PLC,本文介紹了PLC的概況和使用中的常見問題處理。

Abstract: In view of the signaling system with exterior connection design in widespread used PLC, this article introced PLC’s survey and frequently malfunctions.

關鍵詞:PLC, 介面,故障,維修,地鐵,信號

Key words: PLC, Interface, Malfunction,Maintenance, Subway,Signaling

中圖分類號: U231+.7 文獻標識碼:A文章編號:

一、背景及基本概念

1.1 背景

在信號系統悔悄寬中的設計中,越來越多的使用PLC作為內部及外部介面的元器件,而介面的問題一直是設備調試、維護中比較難於掌握的。所以作為工程人員就需要對PLC的工作原理,及常見的問題有一定的了解。

1.2 基本概念

1.2.1 定義

PLC即可編程控制器PROGRAMMABLE LOGIC CONTROLLER 的簡稱。國際電工委員會(IEC)頒布了對PLC的規定:可編程式控制制器是一種數字運算操作的電子系統,專為在工業環境下應用而設計。它採用可編程序的存貯器,用來在其內部存貯執行邏輯運算、順序控制、定時、計數和算術運算等操作的指令,並通過數字的、模擬的輸入和輸出,控制各種類型的機械或生產過程。可編程式控制器及其有關設備,都應按易於與工業控制系統形成一個整體,易於擴充其功能的原則設計。

PLC具有通用性強、使用方便、適應面廣、可靠性高、抗干擾能力強、編程簡單等特點。

1.2.2 PLC的結構及基本配置

一般講,PLC分為箱體式和模塊式兩種。但它們的組成是相同的,對箱體式PLC,有一塊CPU板、I/O板、顯示面板、內存塊、電源等,當然按CPU性能分成若干型號,並按I/O點數又有若干規格。對模塊式PLC,有CPU模塊、I/O模塊、內存、電源模塊、底板或機架。無任哪種結構類型的PLC,都屬於匯流排式開放型結構,其I/O能力可按用戶需要進行擴展與組合。PLC的基本結構框圖如下:

圖1

一、CPU:

PLC中的CPU是PLC的核心,起神經中樞的作用,每台PLC至少有一個CPU,它按PLC的系統程序賦予的功能接收並存貯用戶程序和數據,用掃描的方式採集由現場輸入裝置送來的狀態或數據,並存入規定的寄存器中,同時,診斷電源和PLC內部電路的工作狀態和編程過程中的語法錯誤等。進入運行後,從用戶程序存貯器中逐條讀取指令,經分析後再按指令規定的任務產生相應的控制信號,去指揮有關的控制電路,

與通用計算機一樣,主要由運算器、控制器、寄存器及實現它們之間聯系的數據、控制及狀態匯流排構成,還有外圍晶元、匯流排介面及有關電路。它確定了進行控制的規模、工作速度、內存容量等。內存主要用於存儲程序及數據,是PLC不可缺少的組成單元。

CPU模塊的外部表現就是它的工作狀態的種種顯示、種種介面及設定或控制開關。一般講,CPU模塊總要有相應的狀態指示燈,如電源顯示、運行顯示、故障顯示等。箱體式PLC的主箱體也有這些顯示。它的匯流排介面,用於接I/O範本或底板,有內存介面,用於安裝內存,有外設口,用於接外部設備,有的還有通訊口,用於進行通訊。CPU模塊上還有許多設定開碧亮關,用以對PLC作設定,如設定起始工作方式、內存運森區等。

二、I/O模塊:

PLC的對外功能,主要是通過各種I/O介面模塊與外界聯系的,按I/O點數確定模塊規格及數量,I/O模塊可多可少,但其最大數受CPU所能管理的基本配置的能力,即受最大的底板或機架槽數限制。I/O模塊集成了PLC的I/O電路,其輸入緩存器反映輸入信號狀態,輸出點反映輸出鎖存器狀態。

三、電源模塊:

有些PLC中的電源,是與CPU模塊合二為一的,有些是分開的,其主要用途是為PLC各模塊的集成電路提供工作電源。同時,有的還為輸入電路提供24V的工作電源。電源以其輸入類型有:交流電源,加的為交流220VAC或110VAC,直流電源,加的為直流電壓,常用的為24V。

四、底板或機架:

大多數模塊式PLC使用底板或機架,其作用是:電氣上,實現各模塊間的聯系,使CPU能訪問底板上的所有模塊,機械上,實現各模塊間的連接,使各模塊構成一個整體。

1.2.3 PLC的通信及編程

PLC具有通信聯網的功能,它使PLC與PLC 之間、PLC與上位計算機以及其它智能設備之間能夠交換信息,形成一個統一的整體,實現分散集中控制。現在幾乎所有的PLC新產品都有通信聯網功能,它和計算機一樣具有RS-232介面,通過雙絞線、同軸電纜或光纜,可以在幾公里甚至幾十公里的范圍內交換信息。

當然,PLC之間的通訊網路是各廠家專用的,PLC與計算機之間的通訊,一些生產廠家採用工業標准匯流排,並向標准通訊協議靠近,這將使不同機型的PLC之間、PLC與計算機之間可以方便地進行通訊與聯網。

1.2.4 PLC編程

PLC的編程語言與一般計算機語言相比,具有明顯的特點,它既不同於高級語言,也不同與一般的匯編語言,它既要滿足易於編寫,又要滿足易於調試的要求。目前,還沒有一種對各廠家產品都能兼容的編程語言。如三菱公司的產品有它自己的編程語言,OMRON公司的產品也有它自己的語言。但不管什麼型號的PLC,其編程語言都具有以下特點:

1. 圖形式指令結構:程序由圖形方式表達,指令由不同的圖形符號組成,易於理解和記憶。系統的軟體開發者已把工業控制中所需的獨立運算功能編製成象徵性圖形,用戶根據自己的需要把這些圖形進行組合,並填入適當的參數。在邏輯運算部分,幾乎所有的廠家都採用類似於繼電器控制電路的梯形圖,很容易接受。如西門子公司還採用控制系統流程圖來表示,它沿用二進制邏輯組件圖形符號來表達控制關系,很直觀易懂。較復雜的算術運算、定時計數等,一般也參照梯形圖或邏輯組件圖給予表示,雖然象徵性不如邏輯運算部分,也受用戶歡迎

2. 明確的變數常數:圖形符相當於操作碼,規定了運算功能,操作數由用戶填人,如:K400,T120等。PLC中的變數和常數以及其取值范圍有明確規定,由產品型號決定,可查閱產品目錄手冊。

3. 簡化的程序結構:PLC的程序結構通常很簡單,典型的為塊式結構,不同塊完成不同的功能,使程序的調試者對整個程序的控制功能和控制順序有清晰的概念。

4. 簡化應用軟體生成過程:使用匯編語言和高級語言編寫程序,要完成編輯、編譯和連接三個過程,而使用編程語言,只需要編輯一個過程,其餘由系統軟體自動完成,整個編輯過程都在人機對話下進行的,不要求用戶有高深的軟體設計能力。

5. 強化調試手段:無論是匯編程序,還是高級語言程序調試,都是令編輯人員頭疼的事,而PLC的程序調試提供了完備的條件,使用編程器,利用PLC和編程器上的按鍵、顯示和內部編輯、調試、監控等,並在軟體支持下,診斷和調試操作都很簡單。

二、PLC維護

2.1 維護概述

一般各型PLC均設計成長期不間斷的工作制。對於地鐵維護人員來講,是不需要更改PLC內部程序的。但是在調試期間就需要對相應動作進行修改。

2.2 查找故障的設備

PLC的指示燈及機內設備,有益於對PLC整個控制系統查找故障。編程器是主要的診斷工具,他能方便地連到PLC上面可以觀察整個控制系統的狀態。根據PLC廠家的不同編程器也有區別,有的是運行在PC上的軟體,有的是一個專用的設備。

2.3 查找故障順序

根據下列問題,並根據發現的合理動作逐個否定。一步一步地更換PLC中的各種模塊,直到故障全部排除。所有主要的修正動作能通過更換模塊來完成, 除了一把螺絲刀和一個萬用電表外,並不需要特殊的工具。

1、PWR(電源)燈亮否?如果不亮,在採用交流電源的框架的電壓輸入端(98-162VAC或195-252VAC)檢查電源電壓;對於需要直流電壓的 框架,測量+24VDC和0VDC端之間的直流電壓,如果不是合適的AC或DC電源,則問題發生在PLC之外。如AC或DC電源電壓正常,但PWR燈不亮,檢查保險絲,如必要的話,就更換CPU框架。

2、PWR(電源)燈亮否?如果亮,檢查顯示出錯的代碼,對照出錯代碼表的代碼定義,做相應的修正。

3、RUN(運行)燈亮否?如果不亮,檢查編程器是不是處於PRG或LOAD位置,或者是不是程序出錯。如RUN燈不亮,而編程器並沒插上,或者編程器處於RUN方式 且沒有顯示出錯的代碼,則需要更換CPU模塊。

4、BATT(電池)燈亮否?如果亮,則需要更換鋰電池。由於BATT燈只是報警信號,即使電池電壓過低,程序也可能尚沒改變。更換電池以後, 檢查程序或讓PLC試運行。如果程序已有錯,在完成系統編程初始化後,將錄在磁帶上的程序重新裝入PLC。

在日常的維修活動中,可以根據故障統計來准備備品備件,並不需要准備整個PLC。掌握了故障判斷方法後,可以進行針對性地更換,這樣可以減少維修成本,增加維修效率。

三、總結

了解PLC的組成部分及工作原理,可以更加准確的對PLC進行故障判斷,在系統設計和生產使用中要對該系統的設備消耗、元器件設備故障發生點有清楚的估計,可以減少安裝調試、維修成本,延長PLC控制系統的壽命。

在信號設計過程中有過把系統改復雜的現象,如採用復雜的控制方式和設備來實現,本可以用簡單裝置來實現的控制,違背了經濟、簡單、實用的原則,並可能會增加故障率。另外我們在信號系統中大多使用PLC處理介面信息,所以在設計過程中要盡量將介面信息容易識別,這樣在出現故障時,能夠盡快判斷故障的歸屬方,便於地鐵的運營管理。

分析故障或處理故障時也要注意系統性,要綜合的考慮系統的各個輸入輸出才能能准確地判斷故障點。

plc論文範文篇二

淺析PLC控制技術

[摘要]PLC是Programmable Logic Controller的縮寫,即可編程邏輯控制器。IEC對PLC的定義是:PLC是一種數字運算操作的電子系統,專為在工業環境下應用而設計。它採用可編程序的存貯器,用來在其內部存貯執行邏輯運算、順序控制、定時、計數和算術運算等操作的指令,並通過數字的、模擬的輸入和輸出,控制各種類型的機械或生產過程。

[關鍵詞]PLC技術發展現狀發展趨勢

中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)1210064-01

一、PLC技術的概念

PLC即可編程式控制制器(Programmable logic Controller,是指以計算機技術為基礎的新型工業控制裝置。在1987年國際電工委員會(International

Electrical Committee)頒布的PLC標准草案中對PLC做了如下定義:“PLC是一種專門為在工業環境下應用而設計的數字運算操作的電子裝置。它採用可以編製程序的存儲器,用來在其內部存儲執行邏輯運算、順序運算、計時、計數和算術運算等操作的指令,並能通過數字式或模擬式的輸入和輸出,控制各種類型的機械或生產過程。PLC及其有關的外圍設備都應該按易於與工業控制系統形成一個整體,易於擴展其功能的原則而設計。”

二、PLC技術的發展歷史

1968年,通用汽車對外公開招標,尋求新的電氣控制裝置,1969年,美國數字設備公司製成的首台plc,1971年日本從美國引進了PLC技術加以消化,由日本公司研製成功了日本的第一台PLC。從70年代初開始,不到三十年時間里,PLC生產發展成了一個巨大的產業,據不完全統計,現在世界上生產PLC及其網路的廠家有二百多家,生產大約有400多個品種的PLC產品。其中在美國注冊的廠超過100家,生產大約二百個品種;日本有60~70家PLC廠商,也生產200多個品種的PLC產品;在歐洲注冊的也有幾十家,生產幾十個品種的PLC產品PLC產品的產量、銷量及用量在所有工業控制裝置中居首位,市場對其需求仍在穩步上升。進入二十世紀九十年代以來,全世界PLC年銷售額以達百億美元而且一直保持15%的年增長的勢頭。

三、我國PLC技術的發展現狀

我國研究PLC技術起步較晚,但發展速度較快。中國電力科學研究院自1997年開始研究PLC技術,主要考慮PLC技術用於低壓抄表系統,傳輸速率較低。1998年開發出樣機,並通過了試驗室功能測試,1999年在現場進行試運行,獲得了產品登記許可。1999年5月開始進行PLC系統的研究開發工作。主要對我國低壓配電網路的傳輸特性進行了測試,並對測試結果進行了數據處理和分析,基本取得了我國低壓配電網傳輸特性和參數,為進行深入研究和系統開發提供依據。2000年開始引進國外的PLC晶元,研製了2Mbps的樣機,2001年下半年在沈陽供電公司進行了小規模現場試驗,實驗效果良好,並於6月20日在沈陽通過驗收。驗收委員會通過現場檢測認為,該實驗從中國配電網的實際傳播特性出發,對電力線通信技術的理論、實際應用和工程技術進行了開創性研究,在國內率先研製成功2Mbps和14Mbps高速電力線通信系統,建立了我國第一個電力線寬頻接入實驗網路;實現了自家庭至配電開關櫃的高速電力線數據通信,並將辦公自動化系統延伸至家庭。該實驗的成功標志著我國已經全面掌握了高速電力線通信的核心技術,具備了研製生產這種技術實用化設備的能力。據悉,今年年底以前將建成200戶的試驗網路。

我國工業控制自動化的發展道路,大多是在引進成套設備的同時進行消化吸收,然後進行二次開發和應用。目前我國工業控制自動化技術、產業和應用都有了很大的發展,我國工業計算機系統行業已經形成。工業控制自動化技術正在向智能化、網路化和集成化方向發展。

四、PLC的未來發展趨勢

1.功能向增強化和專業化地方向發展,針對不同行業的應用特點,開發出專業化的PLC產品,以此來提高產品的性能和降低產品的成本,提高產品的易用性和專業化水平。

2.規模向小型化和大型化的方向發展,小型化是指提高系統可靠性基礎上,產品的體積越來越小,功能越來越強;大型化是指應用在工業過程式控制制領域較大的應用市場,應用的規模從幾十點擴展到上千點,應用功能從單一的邏輯運算擴展幾乎能滿足所有的用戶要求。

3.系統向標准化和開放化方向發展,以個人計算機為基礎,在Windows平台上開發符合全新一體化開放體系結構的PLC。通過提供標准化和開放化的介面,可以很方便地將PLC接入其它系統。

五、PLC技術的特點

1.配套齊全,功能完善,適用性強:PLC發展到今天,可以用於各種規模的工業控制場合。除了邏輯處理功能以外,現代PLC多具有完善的數據運算能力,可用於各種數字控制領域。近年來PLC的功能單元大量涌現,使PLC滲透到了位置控制、溫度控制,CNC等各種工業控制中。加上PLC通信能力的增強及人機界面技術的發展,使用PLC組成各種控制系統變得非常容易。

2.系統的設計、建造工作量小,維護方便,容易改造:PLC用存儲邏輯代替接線邏輯,大大減少了控制設備外部的接線,使控制系統設計及建造周期大為縮短,同時維護變得容易起來。更重要的是可以使同一設備經過改變程序改變生產過程。

3.體積小,重量輕,能耗低:以超小型PLC為例,新近出產的品種底部尺寸小於100mm,重量小於150g,功耗僅數瓦。由於體積小很容易裝入機械內部,是實現機電一體化的理想控制設備。

六、PLC應用中應注意的問題

PLC是專門為工業生產服務的控制裝置,通常不需要採取什麼措施,就可以直接在工業環境中使用。但是,當生產環境過於惡劣時,就不能保證plc的正常運行,因此在使用中應注意以下環境問題。

1.溫度:PLC要求環境溫度在0-55℃,安裝時不能放在發熱量大的元件下面,四周通風散熱的空間應足夠大,基本單元和擴展單元之間要有30mm以上間隔;開關櫃上、下部應有通風的百葉窗,防止太陽光直接照射;如果周圍環境超過55℃,要安裝電風扇強迫通風。

2.濕度:為了保證PLC的絕緣性能,空氣的相對濕度應小於85%(無凝露)。

3.震動:應使PLC遠離強烈的震動源,防止振動頻率為10-55hz的頻繁或連續振動。當使用環境不可避免震動時,必須採取減震措施,如採用減震膠等。

4.空氣:避免有腐蝕和易燃的氣體,例如氯化氫、硫化氫等。對於空氣中有較多粉塵或腐蝕性氣體的環境,可將PLC安裝在封閉性較好的控制室或控制櫃中,並安裝空氣凈化裝置。

參考文獻:

[1]鍾肇新,可編程式控制制器原理與應用[M].廣州:華南理工大學出版社,2000.

[2]儲雲峰,施耐德電氣可編程序控制器原理及應用[M].北京:機械工業出版社,2006.

[3]高勤,電器及PLC控制技術[M].北京:高等教育出版社,2002.

❷ 論文集算不算匯編

算的。匯編一般指匯編程序。匯編程序是指把匯編語言書寫的程序翻譯成與之等價的機器語言程序的翻譯程序。

❸ 論文:匯編語言的特點及應用領域

一方面,匯編語言指令是用一些具有相應含義的助憶符來表達的,所以,它要比機器語言容易掌握和運用,但另一方面,它要直接使用CPU的資源,相對高級程序設計語言來說,它又顯得難掌握。

匯編語言程序歸納起來大概有以下幾個主要特性。

1、與機器相關性

匯編語言指令是機器指令的一種符號表示,而不同類型的CPU有不同的機器指令系統,也就有不同的匯編語言,所以,匯編語言程序與機器有著密切的關系。

由於匯編語言程序與機器的相關性,所以,除了同系列、不同型號CPU之間的匯編語言程序有一定程度的可移植性之外,其它不同類型(如:小型機和微機等)CPU之間的匯編語言程序是無法移植的,也就是說,匯編語言程序的通用性和可移植性要比高級語言程序低。

2、執行的高效率

正因為匯編語言有「與機器相關性」的特性,程序員用匯編語言編寫程序時,可充分發揮自己的聰明才智,對機器內部的各種資源進行合理的安排,讓它們始終處於最佳的使用狀態,這樣做的最終效果就是:程序的執行代碼短,執行速度快。

現在,高級語言的編譯程序在進行寄存器分配和目標代碼生成時,也都有一定程度的優化(在後續課程《編譯原理》的有關章節會有詳細介紹),但由於所使用的「優化策略」要適應各種不同的情況,所以,這些優化策略只能在宏觀上,不可能在微觀上、細節上進行優化。而用匯編語言編寫程序幾乎是程序員直接在寫執行代碼,程序員可以在程序的每個具體細節上進行優化,這也是匯編語言程序執行高效率的原因之一。

3、編寫程序的復雜性

匯編語言是一種面向機器的語言,其匯編指令與機器指令基本上一一對應,所以,匯編指令也同機器指令一樣具有功能單一、具體的特點。要想完成某件工作(如計算:A+B+C等),就必須安排CPU的每步工作(如:先計算A+B,再把C加到前者的結果上)。另外,在編寫匯編語言程序時,還要考慮機器資源的限制、匯編指令的細節和限制等等。

由於匯編語言程序要安排運算的每一個細節,這就使得編寫匯編語言程序比較繁瑣、復雜。一個簡單的計算公式或計算方法,也要用一系列匯編指令一步一步來實現。

4、調試的復雜性
在通常情況下,調試匯編語言程序要比調試高級語言程序困難,其主要原因有四:
匯編語言指令涉及到機器資源的細節,在調試過程中,要清楚每個資源的變化情況;
程序員在編寫匯編語言程序時,為了提高資源的利用率,可以使用各種實現技巧,而這些技巧完全有可能破壞程序的可讀性。這樣,在調試過程中,除了要知道每條指令的執行功能,還要清楚它在整個解題過程中的作用;
高級語言程序幾乎不顯式地使用「轉移語句」,但匯編語言程序要用到大量的、各類轉移指令,這些跳轉指令大大地增加了調試程序的難度。如果在匯編語言程序中也強調不使用「轉移指令」,那麼,匯編語言程序就會變成功能單調的順序程序,這顯然是不現實的;
調試工具落後,高級語言程序可以在源程序級進行符號跟蹤,而匯編語言程序只能跟蹤機器指令。不過,現在這方面也有所改善,CV(CodeView)、TD(Turbo Debug)等軟體也可在源程序級進行符號跟蹤了。

綜上所說,匯編語言的特點明顯,其誘人的優點直接導致其嚴重的缺點,其「與機器相關」和「執行的高效率」導致其可移植性差和調試難。所以,我們在選用匯編語言時要根據實際的應用環境,盡可能避免其缺點對整個應用系統的影響。

下面簡單列舉幾個領域以示說明,但不要把它們絕對化。

1、適用的領域
要求執行效率高、反應快的領域,如:操作系統內核,工業控制,實時系統等;
系統性能的瓶頸,或頻繁被使用子程序或程序段;
與硬體資源密切相關的軟體開發,如:設備驅動程序等;
受存儲容量限制的應用領域,如:家用電器的計算機控制功能等;
沒有適當的高級語言開發環境。

2、不宜使用的領域
大型軟體的整體開發;
沒有特殊要求的一般應用系統的開發等。

你寫論文可以圍繞這幾個方面寫,最好舉幾個例子,能和實踐結合最好了

❹ 求一篇關於介紹計算機匯編語言的論文 要求2000字左右

求一篇關於介紹計
算機匯編語言的

,EN ,ZH這個我們在行的

❺ 匯編語言論文寫作的參考文獻可以有哪些

1、與並御遲cpu等相應的 體系結構、指令集、匯絕李編語言程序設計手冊(說明書、向拆晌導);
2、與你用的體系結構相應的介面技術;
3、所借鑒的有關論文;
.............

❻ 求一篇關於介紹計算機匯編語言的論文 要求2000字左右 發到[email protected]

計算機病毒及實例
第一節 計算機病毒歷史

早在1949年,電腦的先驅者馮·諾伊曼在他的一篇文章《復雜自動裝置的理論及組織的行為》中,即提出一種會自我繁殖的程序的可能----現在稱為病毒,但沒引起注意。

十年之後,在貝爾實驗室中,這個概念在一個電子游戲中形成了。這個電子游戲叫「Core War」。

Core War

這個游戲由三個年輕的工程師完成,道格拉斯·麥耀萊、維特·維索斯基和羅伯特·莫里斯(後來那個編寫蠕蟲病毒的莫里斯的父親)。

Core

War的玩如下:雙方各編寫一套程序,輸入同一部電腦中。這兩套程序在計算機內存中運行,它們相互追殺。有時它們回放下一些關卡,有時會帶消帆停下來修復被對方破壞的指令。當它們被困時,可蠢雹以自己復制自己,逃離險境。因為它們都在電腦的內存(以前是用core做內存的)遊走,因此叫Core

War。

這個游戲的特點,在於雙方的程序進入電腦之後,玩游戲的人只能看著屏幕上顯示的戰況,而不能做任何更改,一直到某一方的程式被另一方的程式完全 [吃掉] 為止。

這個游戲分成好幾種,麥耀萊所寫的叫 [達爾文],包含了 [物競天擇 ,適者生存] 的意思 。

它的游戲規則跟以上所描述的最接近。游戲雙方用匯編語言(Assembly Language)各寫一套程式 ,叫有機體(organism)

。這兩個有機體在電腦里爭斗不休,直到一方把另一方殺掉而取代之 ,便算分出勝負。

另外有個叫爬行者 (Creeper)的程序,每一次把它讀出時

,它便自己復制一個副本。此外,它也會從一部電腦[爬]到另一部和它相連的電腦。很快地電腦中原有資料便被這些爬行者擠掉了。爬行者的唯一生存目的是繁殖。

為了對付[爬行者],有人便寫出了[收割者](Reaper)。它的唯一生存目的便是找到爬行者,把它們毀滅掉。當所有爬行者都被收割掉之後,收割者便執行程式中最後一項指令毀滅自己,從電腦中消失。

[侏儒](Dwarf)並沒有達爾文等程式聰明。卻可是個極端危險人物。它在內存中邁進,每到第五個[地址](address)便把那裡所儲存的東西變為零,這會使得原來的程序停止。

最奇特的就是一個叫[印普](Imp)的戰爭程式了 ,它只有一行指令:

MOV 01

這條指令把身處的地址中所載的[0]寫(移)到下一個地址中,當印普展開行動之後,電腦中原有的每一行指令都被改為[MOV 01]。

[雙子星](Germini)也相當有趣。它的作用只有一個:把自己復制,送到下一百個地址後,便拋棄掉[正本]。

從雙子星衍生出一系列的程序。[犧牲者](Juggeraut)把自己復制後送到下十個地址之後,而[大雪人](Bigfoot)則把正本和復製品之間的地址定為某一個大質數。

電腦病毒的出現

一九八三年,科恩·湯普遜(Ken

Thompson)是當年一項傑出電腦獎得主。在頒獎典禮上,他作了一個演講,不但公開地證實了電腦病毒的存在,而且還告訴所有聽眾怎樣去寫自己的病毒程序。

1983 年 11 月 3 日,弗雷德·科恩 (Fred Cohen) 博士研製出一種在運行過程中可以橋兆復制自身的破壞性程序,倫·艾德勒曼 (Len

Adleman) 將它命名為計算機病毒 (computer viruses),並在每周一次的計算機安全討論會上正式提出,8 小時後專家們在 VAX11/750

計算機系統上運行,第一個病毒實驗成功,一周後又獲准進行 5 個實驗的演示,從而在實驗上驗證了計算機病毒的存在。

一九八四年, [科學美國人]月刊(Scientific American)的專欄作家杜特尼(A. K. Dewdney)在五月號寫了第一篇討論[Core

War]的文章,並且只要寄上兩塊美金,任何讀者都可以收到有關程序的綱領,在自己家中的電腦中開辟戰場。

[病毒]一詞的正式出現

在一九八五年三月份的[科學美國人]里 ,杜特尼再次討論[Core War]和病毒。在文章的開頭他便說:「當去年五月有關[Core War]的文章印出來時

,我並沒有想過我所談論的是那麽嚴重的題目」文中還第一次提到[病毒]這個名稱。他提到說:「義大利的羅勃吐·歇魯帝(Roberto

Cerruti)和馬高·莫魯顧帝(Marco Morocutti)發明了一種破壞軟體的方法。他們想用病毒,而不是蠕蟲,來使得蘋果二號電腦受感染。

歇魯弟寫了一封信給杜特尼,信內說:「馬高想寫一個像[病毒]一樣的程式,可以從一部蘋

果電腦傳染到另一部蘋果電腦,使其受到感染。可是我們沒法這樣做,直到我想到這個病毒要先使軟盤受到感染,而電腦只是媒介。這樣,病毒就可以從張軟盤傳染到另一軟盤了。」

1986 年初,在巴基斯坦的拉合爾 (Lahore),巴錫特 (Basit) 和阿姆傑德 (Amjad) 兩兄弟經營著一家 IBM-PC

機及其兼容機的小商店。他們編寫了Pakistan 病毒,即 Brain。在一年內流傳到了世界各地。

1988 年 3 月 2 日,一種蘋果機的病毒發作,這天受感染的蘋果機停止工作,只顯示「向所有蘋果電腦的使用者宣布和平的信息」。以慶祝蘋果機生日。

1988 年 11 月 2 日,美國六千多台計算機被病毒感染,造成 Internet

不能正常運行。這是一次非常典型的計算機病毒入侵計算機網路的事件,迫使美國政府立即作出反應,國防部成立了計算機應急行動小組。

這次事件中遭受攻擊的包括 5 個計算機中心和 12 個地區結點,連接著政府、大學、研究所和擁有政府合同的 250,000

台計算機。這次病毒事件,計算機系統直接經濟損失達 9600 萬美元。

這個病毒程序設計者是羅伯特·莫里斯 (Robert T.Morris),當年 23 歲,是在康乃爾 (Cornell) 大學攻讀學位的研究生。

羅伯特·莫里斯設計的病毒程序利用了系統存在的弱點。由於羅伯特·莫里斯成了入侵 ARPANET

網的最大的電子入侵者,而獲准參加康乃爾大學的畢業設計,並獲得哈佛大學 Aiken 中心超級用戶的特權。他也因此被判 3 年緩刑,罰款 1 萬美元,他還被命令進行

400 小時的新區服務。

1988 年底,在我國的國家統計部門發現小球病毒。

第二節 計算機病毒原理

計算機病毒定義

1994年2月18日,我國正式頒布實施了《中華人民共和國計算機信息系統安全保護條例》,在《條例》第二十八條中明確指出:「計算機病毒,是指編制或者在計算機程序中插入的破壞計算機功能或者毀壞數據,影響計算機使用,並能自我復制的一組計算機指令或者程序代碼。」此定義具有法律性、權威性。(此節內容摘自《計算機安全管理與實用技術》一書)

計算機病毒原理

病毒的工作原理是什麼呢?病毒是一個程序,一段人為編制的計算機程序代碼。它通過想辦法在正常程序運行之前運行,並處於特權級狀態。這段程序代碼一旦進入計算機並得以執行,對計算機的某些資源進行監視。它會搜尋其他符合其傳染條件的程序或存儲介質,確定目標後再將自身代碼插入其中,達到自我繁殖的目的。只要一台計算機染毒,如不及時處理,那麼病毒會在這台機子上迅速擴散,其中的大量文件(一般是可執行文件)會被感染。而被感染的文件又成了新的傳染源,再與其他機器進行數據交換或通過網路接觸,病毒會繼續進行傳染。

一般正常的程序是由用戶調用,再由系統分配資源,完成用戶交給的任務。其目的對用戶是可見的、透明的。而病毒具有正常程序的一切特性,它隱藏在正常程序中,當用戶調用正常程序時竊取到系統的控制權,先於正常程序執行,病毒的動作、目的對用戶時未知的,是未經用戶允許的。

病毒一般是具有很高編程技巧、短小精悍的程序。通常附在正常程序中或磁碟較隱蔽的地方,也有個別的以隱含文件形式出現。目的是不讓用戶發現它的存在。如果不經過代碼分析,病毒程序與正常程序是不容易區別開來的。一般在沒有防護措施的情況下,計算機病毒程序取得系統控制權後,可以在很短的時間里傳染大量程序。而且受到傳染後,計算機系統通常仍能正常運行,使用戶不會感到任何異常。試想,如果病毒在傳染到計算機上之後,機器馬上無法正常運行,那麼它本身便無法繼續進行傳染了。正是由於隱蔽性,計算機病毒得以在用戶沒有察覺的情況下擴散到上百萬台計算機中。

大部分的病毒的代碼之所以設計得非常短小,也是為了隱藏。病毒一般只有幾百或1k位元組,而PC機對DOS文件的存取速度可達每秒幾百KB以上,所以病毒轉瞬之間便可將這短短的幾百位元組附著到正常程序之中,使人非常不易被察覺。

大部分的病毒感染系統之後一般不會馬上發作,它可長期隱藏在系統中,只有在滿足其特定條件時才啟動其表現(破壞)模塊。只有這樣它才可進行廣泛地傳播。如「PETER-2"在每年2月27日會提三個問題,答錯後會將硬碟加密。著名的「黑色星期五」在逢13號的星期五發作。國內的「上海一號」會在每年三、六、九月的13日發作。當然,最令人難忘的便是26日發作的CIH。這些病毒在平時會隱藏得很好,只有在發作日才會露出本來面目。

任何病毒只要侵入系統,都會對系統及應用程序產生程度不同的影響。輕者會降低計算機工作效率,佔用系統資源,重者可導致系統崩潰。由此特性可將病毒分為良性病毒與惡性病毒。良性病度可能只顯示些畫面或出點音樂、無聊的語句,或者根本沒有任何破壞動作,但會佔用系統資源。這類病毒較多,如:GENP、小球、W-BOOT等。惡性病毒則有明確得目的,或破壞數據、刪除文件或加密磁碟、格式化磁碟,有的對數據造成不可挽回的破壞。這也反映出病毒編制者的險惡用心。

病毒分類

按傳染方式分為:引導型病毒、文件型病毒和混合型病毒。

文件型病毒一般只傳染磁碟上的可執行文件(COM,EXE)。在用戶調用染毒的可執行文件時,病毒首先被運行,然後病毒駐留內存伺機傳染其他文件或直接傳染其他文件。其特點是附著於正常程序文件,成為程序文件的一個外殼或部件。這是較為常見的傳染方式。

混合型病毒兼有以上兩種病毒的特點,既染引導區又染文件,因此擴大了這種病毒的傳染途徑

隨著計算機技術的發展,新的病毒也不斷出現。我們在本章的最後一節將介紹宏病毒的機理和一個實例。

電腦病毒的新趨勢

傳統型病毒的一個特點, 就是一定有一個「寄主」程序,病毒就窩藏的這些程序里。最常見的就是一些可執行檔,

像是副檔名為.EXE及.COM的檔案。但是由於微軟的WORD愈來愈流行,且WORD所提供的宏命令功能又很強,

使用WORD宏命令寫出來的病毒也愈來愈多於是就出現了以.DOC文件為「寄主」的也會宏病毒。

另外,不需要寄主的病毒也出現了,其實,它們寄生在「Internet」上。

如果Internet上的網頁只是單純用HTML寫成的話, 那麽要傳播病毒的機會可說是非常小了。但是呢, 為了讓網頁看起來更生動, 更漂亮,

許多語言也紛紛出籠, 其中最有名的就屬JAVA和ActiveX了。從而,它們就成為新一代病毒的溫床。JAVA和ActiveX的執行方式,是把程式碼寫在網頁上,

當你連上這個網站時, 瀏覽器就把這些程式碼讀下來, 然後用使用者自己系統里的資源去執行它。這樣,使用者就會在神不知鬼不覺的狀態下,執行了一些來路不明的程序。

對於傳統病毒來講,病毒是寄生在「可執行的」程序代碼中的。新的病毒的機理告訴我們,病毒本身是能執行的一段代碼,但它們可以寄生在非系統可執行文檔里。只是這些文檔被一些應用軟體所執行。

在德國漢堡一個名為Chaos Computer 的俱樂部,

有一個俱樂部成員完成一隻新型態的病毒-----這只病毒可以找出Internet用戶的私人銀行資料, 還可以進入銀行系統將資金轉出, 不需要個人身份證明,

也不需要轉帳密碼。

當使用者在瀏覽全球網站時, 這個病毒會自動經由Active X 控制載入。Active X 控制可搜尋使用者計算機的硬碟, 來尋找Intuit

Quicken這個已有全球超過九百萬使用者的知名個人理財軟體。一旦發現Quicken的檔案, 這個病毒就會下轉帳指令。

計算機病毒防範

電腦病毒檢測技術

一台計算機染上病毒之後,會有許多明顯或不明顯的特徵。例如是文件的長度和日期忽然改變,系統執行速度下降或出現一些奇怪的信息或無故死機,或更為嚴重的硬碟已經被格式化。

我們常用的防毒軟體是如何去發現它們的呢?他們就是利用所謂的病毒碼(Virus Pattern)。病毒碼其實可以想像成是犯人的指紋,

當防毒軟體公司收集到一隻新的病毒時, 他們就會從這個病毒程式中截取一小段獨一無二而且足以表示這只病毒的二進製程序碼 (Binary Code) ,

來當做掃毒程序辨認此病毒的依據, 而這段獨一無二的二進製程序碼就是所謂的病毒碼。 在電腦中所有可以執行的程序(如 *.EXE,*.COM)

幾乎都是由二進製程序碼所組成, 也就是電腦的最基本語言-- 機器碼。就連宏病毒在內, 雖然它只是包含在Word文件中的宏命令集,

可是它也是以二進制代碼的方式存在於Word文件中。

反病毒軟體常用下列技術來查找病毒的:

1.病毒碼掃描法

將新發現的病毒加以分析後, 根據其特徵, 編成病毒碼, 加入資料庫中。以後每當執行掃毒程序時, 便能立刻掃描目標文件, 並作病毒碼比對,

即能偵測到是否有病毒。病毒碼掃描法又快又有效率( 例如趨勢科技的PC-cillin及Server Protect, 利用深層掃描技術,

在即時掃瞄各個或大或小的檔案時,平均只需1/20秒的時間), 大多數防毒軟體均採用這種方式, 但其缺點是無法偵測到未知的新病毒及以變種病毒。

2.加總比對法 (Check-sum)

根據每個程序的文件名稱、大小、時間、日期及內容, 加總為一個檢查碼, 再將檢查碼附於程序的後面, 或是將所有檢查碼放在同一個資料庫中,

再利用此Check-sum系統, 追蹤並記錄每個程序的檢查碼是否遭更改, 以判斷是否中毒。這種技術可偵測到各式的病毒, 但最大的缺點就是誤判斷高,

且無法確認是哪種病毒感染的。

3.人工智慧陷阱

人工智慧陷阱是一種監測電腦行為的常駐式掃描技術。它將所有病毒所產生的行為歸納起來, 一旦發現內存的程式有任何不當的行為, 系統就會有所警覺,

並告知使用。這種技術的優點是執行速度快、手續簡便, 且可以偵測到各式病毒;其缺點就是程序設計難, 且不容易考慮周全。不過在這千變萬化的病毒世界中,

人工智慧陷阱掃描技術是一個至少具有保全功能的新觀點。

4.軟體模擬掃描法

軟體模擬掃描技術專門用來對付千面人病毒(Polymorphic /MutationVirus)。千面人病毒在每次傳染時,

都以不同的隨機亂數加密於每個中毒的檔案中, 傳統病毒碼比對的方式根本就無法找到這種病毒。軟體模擬技術則是成功地模擬CPU執行,

在其設計的DOS虛擬機器(Virtual Machine)下假執行病毒的變體引擎解碼程序, 安全並確實地將多型體病毒解開,使其顯露原本的面目, 再加以掃描。

5.VICE(Virus Instruction Code Emulation) - 先知掃描法

VICE先知掃描技術是繼軟體模擬後的一大技術上突破。既然軟體模擬可以建立一個保護模式下的DOS虛擬機器, 模擬CPU動作並假執行程序以解開變體引擎病毒,

那麽應用類似的技術也可以用來分析一般程序檢查可疑的病毒碼。因此VICE將工程師用來判斷程新是否有病毒碼存在的方法, 分析歸納成專家系統知識庫,

再利用軟體工程的模擬技術(Software Emulation)假執行新的病毒, 則可分析出新病毒碼對付以後的病毒。

6.即時I/O掃描(Realtime I/O Scan)

Realtime I/O Scan的目的在於即時地對數據的輸入/輸出動作做病毒碼比對的動作, 希望能夠在病毒尚未被執行之前, 就能夠防堵下來。理論上,

這樣的即時掃描技術會影響到數據的輸入輸出速度。但是使用實時掃描技術,文件傳送進來之後,就等於掃過一次毒了。從整體上來講,是沒有什麼差別的。

第三節 計算機病毒實例

CIH病毒檢測

CIH病毒屬文件型病毒,其別名有Win95.CIH、Spacefiller、Win32.CIH、PE_CIH,它主要感染Windows95/98下的可執行文件(PE格式,Portable

Executable Format),目前的版本不感染DOS以及WIN 3.X(NE格式,Windows and OS/2 Windows 3.1

execution File Format)下的可執行文件,並且在Win

NT中無效。其發展過程經歷了v1.0,v1.1、v1.2、v1.3、v1.4總共5個版本,目前最流行的是v1.2版本。

CIH病毒v1.0版本:

最初的V1.0版本僅僅只有656位元組,其雛形顯得比較簡單,與普通類型的病毒在結構上並無多大的改善,其最大的「賣點」是在於其是當時為數不多的、可感染Microsoft

Windows PE類可執行文件的病毒之一,被其感染的程序文件長度增加,此版本的CIH不具有破壞性。

CIH病毒v1.1版本:

發展到v1.1版本時,病毒長度為796位元組,此版本的CIH病毒具有可判斷Win NT軟體的功能,一旦判斷用戶運行的是Win

NT,則不發生作用,進行自我隱藏,以避免產生錯誤提示信息,同時使用了更加優化的代碼,以縮減其長度。此版本的CIH另外一個優秀點在於其可以利用WIN

PE類可執行文件中的「空隙」,將自身根據需要分裂成幾個部分後,分別插入到PE類可執行文件中,這樣做的優點是在感染大部分WINPE類文件時,不會導致文件長度增加。

CIH病毒v1.2版本:

發展到v1.2版本時,除了改正了一些v1.1版本的缺陷之外,同時增加了破壞用戶硬碟以及用戶主機BIOS程序的代碼,這一改進,使其步入惡性病毒的行列,此版本的CIH病毒體長度為1003位元組。

CIH病毒v1.3版本:

原先v1.2版本的CIH病毒最大的缺陷在於當其感染ZIP自解壓包文件(ZIP self-extractors

file)時,將導致此ZIP壓縮包在自解壓時出現:

WinZip Self-Extractor header corrupt.

Possible cause: disk or file transfer error.

的錯誤警告信息。v1.3版本的CIH病毒顯得比較倉促,其改進點便是針對以上缺陷的,它的改進方法是:一旦判斷開啟的文件是WinZip類的自解壓程序,則不進行感染。同時,此版本的CIH病毒修改了發作時間。v1.3版本的CIH病毒長度為1010位元組。

CIH病毒v1.4版本:

此版本的CIH病毒改進上上幾個版本中的缺陷,不感染ZIP自解壓包文件,同時修改了發作日期及病毒中的版權信息(版本信息被更改為:「CIH v1.4

TATUNG」,在以前版本中的相關信息為「CIH v1.x TTIT」),此版本的長度為1019位元組。

CIH屬惡性病毒,當其發作條件成熟時,將破壞硬碟數據,同時有可能破壞BIOS程序。其發作特徵是:

1、以2048個扇區為單位,從硬碟主引導區開始依次往硬碟中寫入垃圾數據,直到硬碟數據被全部破壞為止。最壞的情況下硬碟所有數據(含全部邏輯盤數據)均被破壞。

2、某些主板上的Flash Rom中的BIOS信息將被清除。

感染CIH病毒的特徵:

由於流行的CIH病毒版本中,其標識版本號的信息使用的是明文,所以可以通過搜索可執行文件中的字元串來識別是否感染了CIH病毒,搜索的特徵串為「CIH

v」或者是「CIH v1.」如果你想搜索更完全的特徵字元串,可嘗試「CIH v1.2 TTIT」、「CIH v1.3 TTIT」以及「CIH v1.4

TATUNG」,不要直接搜索「CIH」特徵串,因為此特徵串在很多的正常程序中也存在,例如程序中存在如下代碼行:

inc bx

dec cx

dec ax

則它們的特徵碼正好是「CIH(0x43;0x49;0x48)」,容易產生誤判。

另外一個判斷方法是在Windows

PE文件中搜索IMAGE_NT_SIGNATURE欄位,也就是0x00004550,其代表的識別字元為「PE00」,然後查看其前一個位元組是否為0x00,如果是,則表示程序未受感染,如果為其他數值,則表示很可能已經感染了CIH病毒。

還有一個判斷方法是先搜索IMAGE_NT_SIGNATURE欄位----「PE00」,接著搜索其偏移0x28位置處的值是否為55 8D 44 24 F8

33 DB 64,如果是,則表示此程序已被感染。

適合高級用戶使用的一個方法是直接搜索特徵代碼,並將其修改掉,方法是:先處理掉兩個轉跳點,即搜索:5E CC 56 8B F0 特徵串以及5E CC FB

33 DB特徵串,將這兩個特徵串中的CC改為90(nop),接著搜索 CD 20 53 00 01 00 83 C4 20 與 CD 20 67 00 40

00 特徵字串,將其全部修改為90,即可(以上數值全部為16進制)。

另外一種方法是將原先的PE程序的正確入口點找回來,填入當前入口點即可(此處以一個被感染的CALC.EXE程序為例),具體方法為:先搜索IMAGE_NT_SIGNATURE欄位----「PE00」,接著將距此點偏移0x28處的4個位元組值,例如「A0

02 00 00」(0x000002A0),再由此偏移所指的位置(即0x02A0)找到數據「55 8D 44 24 F8 33 DB

64」,並由0X02A0加上0X005E得到0x02FE偏移,此偏移處的數據例如為「CB 21 40

00」(OXOO4021CB),將此值減去OX40000,將得數----「CB 21 00 00」

(OXOO0021CB)值放回到距「PE00」點偏移0x28的位置即可(此處為Windows PE格式程序的入口點,術語稱為Program Entry

Point)。最後將「55 8D 44 24 F8 33 DB 64」全部填成「00」,使得我們容易判斷病毒是否已經被殺除過。

CIH機理分析

其原理主要是使用Windows的VxD(虛擬設備驅動程序)編程方法。使用這一方法的目的是獲取高的CPU許可權,CIH病毒使用的方法是首先使用SIDT取得IDT

base address(中斷描述符表基地址),然後把IDT的INT 3 的入口地址改為指向CIH自己的INT3程序入口部分,再利用自己產生一個INT

3指令運行至此CIH自身的INT

3入口程序出,這樣CIH病毒就可以獲得最高級別的許可權(即許可權0),接著病毒將檢查DR0寄存器的值是否為0,用以判斷先前是否有CIH病毒已經駐留。如DR0的值不為0,則表示CIH病毒程式已駐留,則此CIH副本將恢復原先的INT

3入口,然後正常退出(這一特點也可以被我們利用來欺騙CIH程序,以防止它駐留在內存中,但是應當防止其可能的後繼派生版本)。如果判斷DR0值為0,則CIH病毒將嘗試進行駐留,其首先將當前EBX寄存器的值賦給DR0寄存器,以生成駐留標記,然後調用INT

20中斷,使用VxD call Page Allocate系統調用,要求分配Windows系統內存(system

memory),Windows系統內存地址范圍為C0000000h~FFFFFFFFh,它是用來存放所有的虛擬驅動程序的內存區域,如果程序想長期駐留在內存中,則必須申請到此區段內的內存,即申請到影射地址空間在C0000000h以上的

內存。

如果內存申請成功,則接著將從被感染文件中將原先分成多段的病毒代碼收集起來,並進行組合後放到申請到的內存空間中,完成組合、放置過程後,CIH病毒將再次調用INT

3中斷進入CIH病毒體的INT

3入口程序,接著調用INT20來完成調用一個IFSMgr_InstallFileSystemApiHook的子程序,用來在文件系統處理函數中掛接鉤子,以截取文件調用的操作,接著修改IFSMgr_InstallFileSystemApiHook的入口,這樣就完成了掛接鉤子的工作,同時Windows默認的IFSMgr_Ring0_FileIO(InstallableFileSystemManager,IFSMgr)。服務程序的入口地址將被保留,以便於CIH病毒調用,這樣,一旦出現要求開啟文件的調用,則CIH將在第一時間截獲此文件,並判斷此文件是否為PE格式的可執行文件,如果是,則感染,如果不是,則放過去,將調用轉接給正常的Windows

IFSMgr_IO服務程序。CIH不會重復多次地感染PE格式文件,同時可執行文件的只讀屬性是否有效,不影響感染過程,感染文件後,文件的日期與時間信息將保持不變。對於絕大多數的PE程序,其被感染後,程序的長度也將保持不變,CIH將會把自身分成多段,插入到程序的空域中。完成駐留工作後的CIH病毒將把原先的IDT中斷表中的INT

3入口恢復成原樣。

Flash ROM的破壞原理

PC機上常用來保存PC BIOS程序的Flash ROM包含兩個電壓介面,其中+12V一般用Boot Block的改寫,Boot

Block為一特殊的區塊,它主要用於保存一個最小的BIOS,用以啟動最基本的系統之用,當Flash ROM中的其它區塊內的數據被破壞時,只要Boot

Block內的程序還處於可用狀態,則可以利用這一基本的PC

BIOS程序來啟動一個最小化的系統,一般情況下,起碼應當支持軟盤的讀寫以及鍵盤的輸入,這樣我們就有機會使用軟盤來重新構建整個Flash

ROM中的數據。一般的主板上均包含有一個專門的跳線,用來確定是否給此Flash ROM晶元提供+12V電壓,只有我們需要修改Flash ROM中的Boot

Block區域內的數據時,才需要短接此跳線,以提供+12V電壓。

另外一路電壓為+5V電壓,它可以用於維持晶元工作,同時為更新Flasm ROM中非Boot Block區域提供寫入電壓。

主板上的+12V跳線是為了防止更新Flash ROM中的Boot Block區域而設置的,如果想升級BIOS,同時此升級程序只需要更新Boot

Block區域以外的BIOS程序,則主板上的跳線根本沒必要去跳,因為更新Boot

Block區域以外的數據並不需要+12V電壓,這樣,即使升級失敗,我們也還存在著一個Boot

Block中的最基本BIOS可以使用,這樣就可以使用軟盤來恢復原先的BIOS數據(一般在升級的時候後,都提示用戶保存當前的BIOS數據)。

某些晶元在+5V的電壓下就可以進行改寫,這些單5V的晶元便是造成BIOS數據被徹底破壞的原應。

Word宏病毒透視

Word宏病毒,是近年來被人們談論得最多的一種電腦病毒。由於一些殺毒軟體廣告對此病毒的著力渲染,使得一些普通的用戶對該病毒談之色變。其實,在了解了Word宏病毒的編制、發作過程之後,即使是普通的電腦用戶,不藉助任何殺毒軟體,也可以較好地對其進行防冶。

Word宏病毒,是用一種專門的Basic語言即Word Basic所編寫的程序。與其它計算機病毒一樣,它能對用戶系統中的?

❼ 你好,能夠幫我翻譯一下這個匯編語言程序嗎每一句都翻譯一下哦。謝謝你了呢,論文答辯要用到的。

首先說明一下,匯編程序每一句都 翻譯(應為注釋),實在沒有意義。

MAIN: MOV SP, #SP ;傳送 SP,立即數SP
MOV 30H, #08H ;傳送 30H,立即數08H
MOV P1, #FFH ;傳送 介面1,立即數FFH
MOV P0, FFH ;傳送 介面0,FFH
CLR TR0 ;清0 TR0
TO: MOV TMOD, #01H ;傳送 TMOD,立即數01H
MOV TH0, #3CH ;傳送 TH0,立即數3CH
MOV TL0, #0B0H ;傳送 TL0,立即數0B0H
SETB TR0 ;位-置1 TR0
T1: MOV 30H, #50 ;傳送 30H,立陸肆即數50
M8: CJNE 30H, #00H, M8 ;比較-不等轉移 30H,立即數00H,
CJNE 31H, 08H, M7 ;比較-不等轉移 31H,08H,
MOV P1, FFH ;傳送 介面1,FFH
MOV P0, FFH ;傳送 介面0,FFH
DEC 31H ;減1 31H
SJMP T1 ;短轉移到 T1
M7: CJNE 31H, 07H, M6 ;比較-不等轉移 31H,07H,
MOV P1, FFH ;傳送 介面1,FFH
MOV P0, 00H ;傳送 介面0,00H
DEC 31H ;減1 31H
SJMP T1 ;短轉移到 T1
M6: CJNE 31H, 06H, M5 ;比較-不等轉移 31H,06H,
MOV P1, 00H ;傳送 介面1,00H
MOV P0, FFH ;傳送 介面0,FFH
DEC 31H ;減1 31H
SJMP T1 ;短轉移到 T1
M5: CJNE 31H, 05H, M4 ;比較-不等轉移 31H,05H,
MOV P1, F0H ;傳送 介面1,F0H
MOV P0, F0H ;傳送 介面0,F0H
DEC 31H ;減1 31H
SJMP T1 ;短轉移到 T1
M4: CJNE 31H, 04H, M3 ;比較-不等轉移 31H,04H,
MOV P1, AAH ;傳送 接或悉巧口1,AAH
MOV P0, AAH ;傳送 介面0,AAH
DEC 31H ;減1 31H
SJMP T1 ;短轉移到 T1
M3: CJNE 31H, 03H, M2 ;比較-不等轉移 31H,03H,
MOV P1, CCH ;傳送 介面1,CCH
MOV P0, CCH ;傳送 介面0,CCH
DEC 31H ;減1 31H
SJMP T1 ;短轉移到 T1
M2: CJNE 31H, 02H, M1 ;比較-不等轉移 31H,02H,
MOV P1, 55H ;傳送 介面1,55H
MOV P0, 55H ;傳送 介面0,55H
DEC 31H ;減1 31H
LJMP T1 ;長轉移到 T1
M1: CJNE 31H, 01H ;比較衫鍵-不等轉移 31H,01H
MOV P1, 33H ;傳送 介面1,33H
MOV P0, 33H ;傳送 介面0,33H
MOV 31H, 08H ;傳送 31H,08H
LJMP T1 ;長轉移到 T1

*************************************** ;***************************************
;中斷服務程序
*************************************** ;***************************************
INT1: PUSH 30H ;入棧 30H
PUSH 31H ;入棧 31H
CLR TR0 ;清0 TR0
MOV TMOD, #01H ;傳送 TMOD,立即數01H
MOV TH0, #3CH ;傳送 TH0,立即數3CH
MOV TL0, #0B0H ;傳送 TL0,立即數0B0H
DEC 30H ;減1 30H
POP 31H ;出棧 31H
POP 30H ;出棧 30H,
SETB TR0 ;位-置1 TR0
RETI ;中斷返回

❽ 匯編語言與高級語言混合編程研究(畢業論文)

想當年我做畢業設計通宵了100個晚上,容易嗎???
你這個還是比較容易搞定的,如果你自己做應該20多天就可以出來!
如果你會PASCAL或C++,用C語言作橋梁,舉一芹鬧租個實際的例子,編幾段程序,分析一下就完了。
提醒一下,這個一定要自己做,做一個畢業課題勝過得10萬人民幣。出生社會受益終身!
再提醒一下,如彎桐果你自己做好了,就拿這嫌兆個東東可以找到一份比你想像的高兩倍的工作!

❾ 論文匯編和論文區別

論文匯編和論文區別為:性質不同、從屬不同、質量不同。

一、性質不同

1、論文匯編:論文匯編是由某組織出版的書刊。

2、論文:論文是由某作者編纂的文章。

二、從屬不同

1、論文匯編:論文匯編包含多篇論文。

2、論文:論文可被編入論信穗文匯編。

三、御昌質量不同

1、論文匯編:論文匯編選取的論文經過考核挑選,質鎮坦扒量較高。

2、論文:論文包括學年論文、畢業論文、學位論文、科技論文、成果論文等,質量不固定。

❿ 高分求論文 「匯編語言發展史」

匯編語言發展樹
http://www.123xz.net/article/article_32833_1.html
http://linbq.bokee.com/3584329.htmlTop
沒有匯編語言發展歷史這一說的,你只能說是CPU體系架構發展歷史還差不多,因為一種體系架構就對應一種匯編語言,這是一一對應的,因此,IA-16體系架構就對應IA-16匯編語言,IA-32就有IA-32的匯編語言,安騰就有安騰的匯編語言,是跟著CPU來演變的。Top
液雹禪指令系統僅僅是CPU
的操作碼而已,
就象你要操作一塊集成電路要寫控制字一樣,只不過這個的控制自太多
所以鬧塵就用助記附來表示,其實只要指令系統相同或者兼容,匯編語言就是一樣的.
如:intel

AMD
CPU
Micro-architecture
是很不相同的,即使Pentium
4
的Netburst

Pentium
3的
P6
是有很大不同的但是指令肆信系統是兼容的,也就是用了同樣的機器碼
都屬於IA-32指令體系.
而之所以產生Itanium
是因為實際上IA-32的指令系統中的可用的寄存器太少,要經過中間的寄存器重命名,而且這個體系的CPU
屬於CISC

RISC
的結合,外圍的CISC
用到
uops
(微操作碼)
來操作
執行核心
而多數的RISC
計算機是用機器碼直接操作的,省了中間過程,性能可以更多的提高
所以就產生了EPIC
體系結構
當然
就產生了新的指令系統
Itanium
就使用了大量的寄存器
幾乎每種寄存器都是128個
,但是Itanium有兩種操作環境,就是
IA32

IA-64(注意:intel
稱自己的64位Pentium
是IA-32擴展64位
,這里的IA-64是指EPIC
的指令系統),也就是它是可以使用IA-32指令系統的,因為它有專門的解碼和控制單元為IA-32服務.

熱點內容
英雄聯盟和飢荒哪個配置要求更高 發布:2024-04-24 07:55:09 瀏覽:604
linuxcpu佔用進程 發布:2024-04-24 07:37:05 瀏覽:120
河南移動鶴壁dns伺服器地址 發布:2024-04-24 07:36:58 瀏覽:594
百度賬號密碼怎麼設置密碼 發布:2024-04-24 07:27:37 瀏覽:759
cf窗口化源碼 發布:2024-04-24 07:04:33 瀏覽:738
linuxi2c設備 發布:2024-04-24 06:53:50 瀏覽:346
寶馬x5買什麼配置性價比高 發布:2024-04-24 06:45:22 瀏覽:850
最小的編程語言 發布:2024-04-24 06:44:16 瀏覽:818
自動發朋友圈腳本 發布:2024-04-24 06:40:32 瀏覽:155
最早存儲盤 發布:2024-04-24 06:39:54 瀏覽:944