當前位置:首頁 » 編程軟體 » 編譯器教材

編譯器教材

發布時間: 2022-04-21 17:57:30

c語言不同教材知識一樣么

一樣。
不同版本的C語言教材的知識內容都是一樣的,不一樣的地方可能是知識的順序、演算法的介紹和語句規范等內容。
C語言編譯器普遍存在於各種不同的操作系統中,其設計也影響了java、Python等編程語言。

② c語言編譯器的選擇

關於C語言編譯器的選擇(Tc2.0,Tc3.0,Vc6.0等)
我們在學習C語言時通常會面臨C語言編譯器的選擇,事實上C語言編譯器可以分為C和C++兩大類,其中C++是C的超集,均向下支持C。主要的C語言編譯器及特點分別如下:
(1)TC 2.0DOS平台軟體。最經典的C語言編譯器,系統體積小,簡單易學,容易上手,而且很多前人或書籍的程序均基於該編譯器,是學習C語言的首選。不過它不支持滑鼠,但讀者如果掌握幾個快捷鍵,操作時對滑鼠可能就不怎麼需要了,如:F2 存檔 F3 打開程序 Alt+F3在最近打開的文件之間切換 Alt+F5觀察運行結果F9 編譯製作EXE Ctrl+F9編譯並運行Ctrl+Y 刪除當前行 Ctrl+KB定義塊首 Ctrl+KK 定義塊尾 Ctrl+KC復制塊 Ctrl+KY刪除塊Ctrl+KV 移動塊
(2)Tc3.0DOS平台軟體。目前比較不錯的C/C++語言編譯器,支持滑鼠,語法著色,多文檔,錯誤跟蹤也很好,操作與TC2.0有很多類似,TC2.0會用那麼TC3.0也很快會用,缺點是以前很多代碼是用TC2.0設計的,而由於TC3.0語法要求的嚴格性,如要求函數必須定義類型,所以向下存在一定的兼容性問題,所以對於初學者選擇起來很矛盾,建議先學會使用TC2.0,而把TC3.0作為能力的補充和平時工具之用。目前有的教材已經選用該編譯器,不過需要一個較長的調整期,因為很多源代碼需要過渡過來才行,雖然性能上比TC2.0有所提高,但對於初學者沒有質的變化,選擇時需要注意。
(3)VC++ 6.0Windows平台。目前主流的C/C++語言編譯器,包含強大的類和內嵌WinAPI的MFC,具有可視化的編程界面。對於TC等的作品也具有向下兼容的特點,建議讀者選用作為C語言過渡到Windows平台編程的首選工具。當然,作為學習,該系統顯得有點龐大,不過通過入門的學習,調試舊的Tc程序也可以。還有其他的編譯器,例如Win tc、gcc、lcc、BC 3.1等等,事實上,編譯器的選擇不是最重要的,他們都可以完成基本的C語言編譯,不過面向考試的時候,還是根據考試的要求,因為編譯器的編譯結果存在著一定的差別,特別在一些復雜語法的語句編譯上。從目前的形勢看,對於從未學習過計算機程序設計的讀者來說,學習C語言時,建議開始選擇Tc2.0,雖然不能使用滑鼠,但幾個快捷鍵的熟練運用基本上可以解決操作的問題,當然有時間的時候了解使用TC3.0就更好了;對於學習過TC2.0的讀者來說,平時完全可以在TC3.0或VC 6.0下調試程序,但考試的時候如果要求必須在TC2.0下,那最好上機練習時在TC2.0下。當然,使用如記事本等文本編輯器編輯程序,然後用TC來調試也不失為一種好方法。另外,DOS平台的Tc2.0或Tc3.0都存在某些機器運行時鍵盤響應遲緩或停頓的問題,Tc3.0可能這種現象要多一點,這主要是由DOS基本內存的不足造成的。可以安裝水平考試課題組提供的DOS模擬器來解決問題,該模擬器重新劃分更多的內存,效果不錯。
新的類似軟體平台也需要讀者關注,那就是Java和Viusal C#,因為從發展的眼光來看,目前軟體設計平台有一定的趨同趨勢。例如:java和C#,都來自於C和C++,都作了不錯的擴展和優化。對於深入學習C語言的同學,未來幾年請務必學習VisualStudio.Net或者Java,因為這二者代表了現在的軟體設計主流。他們的主要特點是:優秀的IDE設計環境,強大的WEB服務設計功能,對C++的優化和擴充,基於虛擬機的運行模式,優秀的面向系統開發,可視化的較為成熟的面向對象的程序設計機制等等.

③ 有沒有必要學習編譯器原理

個人建議:還是學習一下比較好,因為很多的語句,包括函數都要用那些原理,比如C++中的預編譯問題,文件包含,先綁定後綁定等...C++支持編譯時多態和運行時多態,了解編譯器原理更有利於以後的面向對象設計技術,再說,學習知識永遠都不會滿足,越多越好...當然,勞逸結合才是最好的學習方法,注意休息可以提高學習效率...

④ 匯編語言的經典教材

匯編語言教材很多,各種處理器都有涉及,粗略統計不下百種。在這么多的教材里,用得較多的可以分類列舉如下: 1.《x86匯編語言:從實模式到保護模式》,李忠著,電子工業出版社,2013-1 。
基於INTEL x86處理器、NASM編譯器和BOCHS虛擬機。匯編語言就是處理器的語言,從這個意義上來說,既然學習匯編語言,就必須直接面向硬體編程,而不是使用莫名其妙的DOS中斷和API調用。這是一本有趣的書,它沒有把篇幅花在計算一些枯燥的數學題上。相反,它教你如何直接控制硬體,在不藉助於BIOS、DOS、Windows、Linux或者任何其他軟體支持的情況下來顯示字元、讀取硬碟數據、控制其他硬體等。
我們知道,32位和64位是主流,實模式和DOS操作系統已經成為歷史,Linux和Windows都工作在保護模式下。這本書從實模式講到32位保護模式,尤其以32位保護模式為重點,閱讀本書,對理解現代計算機和現代操作系統的工作原理有非常大的幫助作用。
2.《匯編語言》(第2版),王爽著,清華大學出版社,2013-4-1
基於INTEL 8086處理器、MASM編譯器,以及DOS平台的匯編教材,完全以8086處理器的實模式為主,不涉及常用的32位和64位模式,但因為通俗易懂,讀者反映很好。
3.《80X86匯編語言程序設計教程》,楊季文等 編著,清華大學出版社,1999-3-1
基於INTEL x86處理器、MASM和TASM編譯器,包含16位實模式和32位保護模式的內容,而且對後者講述較為詳細。
4.《32位匯編語言程序設計》,錢曉捷編著,機械工業出版社,2011-8-1
基於INTEL x86處理器、MASM編譯器,以及WINDOWS平台的匯編教材。
5.《16/32位微機原理匯編語言及介面技術》,錢曉捷,陳濤編著,機械工業出版社,2005-2-1
基於INTEL x86處理器,論述16位微型計算機的基本原理、匯編語言和介面技術,並引出32位微機系統相關技術。
6.《Intel匯編語言程序設計》(第五版),(美)歐文著,電子工業出版社,2012-7-1
基於INTEL x86處理器、MASM編譯器,以及DOS/WINDOWS平台的匯編教材,既有16位實模式的內容,也有32位保護模式的內容。
7.《匯編語言的編程藝術》(第2版),(美)海德著,清華大學出版社,2011-12-1
基於INTEL x86處理器,使用了作者自製的高級語言匯編器(High Level Assembler,HLA)作為教學工具,以部分地獲得高級語言的優勢和功能。
8.《x86 PC匯編語言、設計與介面》(第五版),(美)馬茲迪,考西著,電子工業出版社,2011-1-1
基於INTEL x86處理器,既講了16位實模式的內容,也講了32位保護模式的內容,對64位也有所介紹。 1.《匯編語言程序設計--基於ARM體系結構》(第2版),文全剛等主編,北京航空航天大學出版社,2010-8-1
基於ARM體系結構的處理器,是學習嵌入式技術的入門教材。
2.《零基礎學AVR單片機》,徐益民等編著,機械工業出版社,2011-1-1
單片機概述、avr單片機的開發工具、avr單片機c語言、atmega16單片機基本結構、avr的指令系統與匯編系統等。
3.《基於Multisim10的51單片機模擬實戰教程》,聶典,丁偉主編,電子工業出版社,2010-2-1
闡述了NI Multisim 10在單片機模擬中的各項主要功能。
4.《PIC18微控制器:體系結構、編程與介面設計》,(美)貝里著,清華大學出版社,2009-4-1
微控制器廣泛應用於汽車、家電、工業控制、醫療設備等眾多領域。本書以Microchip公司的PIC18系列微控制器為例,全面講解如何使用C語言和匯編語言對微控制器進行編程。
5.《CASL匯編語言程序設計》,趙立輝編著,中國電力出版社,2002-10-1
CASL匯編語言是中國計算機軟體專業技術資格和水平考試高級程序員級的必考內容。本書是講述CASL匯編語言程序設計的專著。

⑤ 推薦一本本科本編譯原理教材

國內的,兩本不錯
清華的編譯原理
還有 國防科大的編譯原理 都不錯

不過,個人建議用老外的那本
編譯原理及其實踐
實踐內容比較不錯,實現了個小巧的編譯器。

⑥ 有沒有比龍書通俗易懂的編譯原理書籍

大學課程為什麼要開設編譯原理呢?這門課程關注的是編譯器方面的產生原理和技術問題,似乎和計算機的基礎領域不沾邊,可是編譯原理卻一直作為大學本科的必修課程,同時也成為了研究生入學考試的必考內容。編譯原理及技術從本質上來講就是一個演算法問題而已,當然由於這個問題十分復雜,其解決演算法也相對復雜。我們學的數據結構與演算法分析也是講演算法的,不過講的基礎演算法,換句話說講的是演算法導論,而編譯原理這門課程講的就是比較專註解決一種的演算法了。在20世紀50年代,編譯器的編寫一直被認為是十分困難的事情,第一Fortran的編譯器據說花了18年的時間才完成。在人們嘗試編寫編譯器的同時,誕生了許多跟編譯相關的理論和技術,而這些理論和技術比一個實際的編譯器本身價值更大。就猶如數學家們在解決著名的哥德巴赫猜想一樣,雖然沒有最終解決問題,但是其間誕生不少名著的相關數論。
推薦參考書
雖然編譯理論發展到今天,已經有了比較成熟的部分,但是作為一個大學生來說,要自己寫出一個像TurbocC,Java那樣的編譯器來說還是太難了。不僅寫編譯器困難,學習編譯原理這門課程也比較困難。
第一本書的原名叫《CompilersPrinciples,Techniques,andTools》,另外一個響亮的名字就是龍書。原因是這本書的封面上有條紅色的龍,也因為獗臼樵詒嘁朐?砘?嘴域確實?忻?所以很多國外的學者都直接取名為龍書。最近機械工業出版社已經出版了此書的中文版,名字就叫《編譯原理》。該書出的比較早,大概是在85或86年編寫完成的,作者之一還是著名的貝爾實驗室的科學家。裡面講解的核心編譯原理至今都沒有變過,所以一直到今天,它的價值都非凡。這本書最大的特點就是一開始就通過一個實際的小例子,把編譯原理的大致內容羅列出來,讓很多編譯原理的初學者很快心裡有了個底,也知道為什麼會有這些理論,怎麼運用這些理論。而這一點是我感覺國內的教材缺乏的東西,所以國內的教材都不是寫給願意自學的讀者,總之讓人看了半天,卻不知道裡面的東西有什麼用。
第二本書的原名叫《ModernCompilerDesign》,中文名字叫做《現代編譯程序設計》。該書由人民郵電出版社所出。此書比較關注的是編譯原理的實踐,書中給出了不少的實際程序代碼,還有很多實際的編譯技術問題等等。此書另外一個特點就是其現代而字。在傳統的編譯原理教材中,你是不可能看到如同Java中的垃圾回收等演算法的。因為Java這樣的解釋執行語言是在近幾年才流行起來的東西。如果你想深入學習編譯原理的理論知識,那麼你肯定得看前面那本龍書,如果你想自己動手做一個先進的編譯器,那麼你得看這本《現代編譯程序設計》。
第三本書就是很多國內的編譯原理學者都推薦的那本《編譯原理及實踐》。或許是這本書引入國內比較早吧,我記得我是在高中就買了這本書,不過也是在前段時間才把整本書看完。此書作為入門教程也的確是個不錯的選擇。書中給出的編譯原理講解也相當細致,雖然不如前面的龍書那麼深入,但是很多地方都是點到為止,作為大學本科教學已經是十分深入了。該書的特點就是注重實踐,不過感覺還不如前面那本《現代編譯程序設計》的實踐味道更重。此書的重點還是在原理上的實踐,而非前面那本那樣的技術實踐。《編譯原理及實踐》在講解編譯原理的各個部分的同時,也在逐步實踐一個現代的編譯器TinyC.等你把整本書看完,差不多自己也可以寫一個TinyC了。作者還對Lex和Yacc這兩個常用的編譯相關的工具進行了很詳細的說明,這一點也是很難在國內的教材中看到的。
推薦了這三本教材,都有英文版和中文版的。很多英文好的同學只喜歡看原版的書,不我的感覺是這三本書的翻譯都很不錯,沒有必要特別去買英文版的。理解理論的實質比理解表面的文字更為重要。
編譯原理的實質
幾乎每本編譯原理的教材都是分成詞法分析,語法分析(LL演算法,遞歸下降演算法,LR演算法),語義分析,運行時環境,中間代碼,代碼生成,代碼優化這些部分。其實現在很多編譯原理的教材都是按照85,86出版的那本龍書來安排教學內容的,所以那本龍書的內容格式幾乎成了現在編譯原理教材的定式,包括國內的教材也是如此。一般來說,大學裡面的本科教學是不可能把上面的所有部分都認真講完的,而是比較偏重於前面幾個部分。像代碼優化那部分東西,就像個無底洞一樣,如果要認真講,就是單獨開一個學期的課也不可能講得清楚。所以,一般對於本科生,對詞法分析和語法分析掌握要求就相對要高一點了。
詞法分析相對來說比較簡單。可能是詞法分析程序本身實現起來很簡單吧,很多沒有學過編譯原理的人也同樣可以寫出各種各樣的詞法分析程序。不過編譯原理在講解詞法分析的時候,重點把正則表達式和自動機原理加了進來,然後以一種十分標準的方式來講解詞法分析程序的產生。這樣的做法道理很明顯,就是要讓詞法分析從程序上升到理論的地步。
語法分析部分就比較麻煩一點了。現在一般有兩種語法分析演算法,LL自頂向下演算法和LR自底向上演算法。LL演算法還好說,到了LR演算法的時候,困難就來了。很多自學編譯原理的都是遇到LR演算法的理解成問題後就放棄了自學。其實這些東西都是只要大家理解就可以了,又不是像詞法分析那樣非得自己寫出來才算真正的會。像LR演算法的語法分析器,一般都是用工具Yacc來生成,實踐中完全沒有比較自己來實現。對於LL演算法中特殊的遞歸下降演算法,因為其實踐十分簡單,那麼就應該要求每個學生都能自己寫。當然,現在也有不少好的LL演算法的語法分析器,不過要是換在非C平台,比如Java,Delphi,你不能運用YACC工具了,那麼你就只有自己來寫語法分析器。
等學到詞法分析和語法分析時候,你可能會出現這樣的疑問:詞法分析和語法分析到底有什麼?就從編譯器的角度來講,編譯器需要把程序員寫的源程序轉換成一種方便處理的數據結構(抽象語法樹或語法樹),那麼這個轉換的過程就是通過詞法分析和語法分析的。其實詞法分析並非一開始就被列入編譯器的必備部分,只是我們為了簡化語法分析的過程,就把詞法分析這種繁瑣的工作單獨提取出來,就成了現在的詞法分析部分。除了編譯器部分,在其它地方,詞法分析和語法分析也是有用的。比如我們在DOS,Unix,Linux下輸入命令的時候,程序如何分析你輸入的命令形式,這也是簡單的應用。總之,這兩部分的工作就是把不規則的文本信息轉換成一種比較好分析好處理的數據結構。那麼為什麼編譯原理的教程都最終把要分析的源分析轉換成樹這種數據結構呢?數據結構中有Stack,Line,List這么多數據結構,各自都有各自的特點。但是Tree這種結構有很強的遞歸性,也就是說我們可以把Tree的任何結點Node提取出來後,它依舊是一顆完整的Tree。這一點符合我們現在編譯原理分析的形式語言,比如我們在函數裡面使用函樹,循環中使用循環,條件中使用條件等等,那麼就可以很直觀地表示在Tree這種數據結構上。同樣,我們在執行形式語言的程序的時候也是如此的遞歸性。在編譯原理後面的代碼生成的部分,就會介紹一種堆棧式的中間代碼,我們可以根據分析出來的抽象語法樹,很容易,很機械地運用遞歸遍歷抽象語法樹就可以生成這種指令代碼。而這種代碼其實也被廣泛運用在其它的解釋型語言中。像現在流行的Java,.NET,其底層的位元組碼bytecode,可以說就是這中基於堆棧的指令代碼的。
關於語義分析,語法制導翻譯,類型檢查等等部分,其實都是一種完善前面得到的抽象語法樹的過程。比如說,我們寫C語言程序的時候,都知道,如果把一個浮點數直接賦值給一個整數,就會出現類型不匹配,那麼C語言的編譯器是怎麼知道的呢?就是通過這一步的類型檢查。像C++語言這中支持多態函數的語言,這部分要處理的問題就更多更復雜了。大部編譯原理的教材在這部分都是講解一些比較好的處理策略而已。因為新的問題總是在發生,舊的辦法不見得足夠解決。
本來說,作為一個編譯器,起作用的部分就是用戶輸入的源程序到最終的代碼生成。但是在講解最終代碼生成的時候,又不得不講解機器運行環境等內容。因為如果你不知道機器是怎麼執行最終代碼的,那麼你當然無法知道如何生成合適的最終代碼。這部分內容我自我感覺其意義甚至超過了編譯原理本身。因為它會把一個計算機的程序的運行過程都通通排在你面前,你將來可能不會從事編譯器的開發工作,但是只要是和計算機軟體開發相關的領域,都會涉及到程序的執行過程。運行時環境的講解會讓你更清楚一個計算機程序是怎麼存儲,怎麼裝載,怎麼執行的。關於部分的內容,我強烈建議大家看看龍書上的講解,作者從最基本的存儲組織,存儲分配策略,非局部名字的訪問,參數傳遞,符號表到動態存儲分配(malloc,new)都作了十分詳細的說明。這些東西都是我們編寫平常程序的時候經常要做的事情,但是我們卻少去探求其內部是如何完成。
關於中間代碼生成,代碼生成,代碼優化部分的內容就實在不好說了。國內很多教材到了這部分都會很簡單地走馬觀花講過去,學生聽了也只是作為了解,不知道如何運用。不過這部分內容的東西如果要認真講,單獨開一學期的課程都講不完。在《編譯原理及實踐》的書上,對於這部分的講解就恰到好處。作者主要講解的還是一種以堆棧為基礎的指令代碼,十分通俗易懂,讓人看了後,很容易模仿,自己下來後就可以寫自己的代碼生成。當然,對於其它代碼生成技術,代碼優化技術的講解就十分簡單了。如果要仔細研究代碼生成技術,其實另外還有本叫做《》,那本書現在由機械工業出版社引進的,十分厚重,而且是英文原版。不過這本書我沒有把它列為推薦書給大家,畢竟能把龍書的內容搞清楚,在中國已經就算很不錯的高手了,到那個時候再看這本《》也不遲。代碼優化部分在大學本科教學中還是一個不太重要的部分,就是算是實踐過程中,相信大家也不太運用得到。畢竟,自己做的編譯器能正確生成執行代碼已經很不錯了,還談什麼優化呢?
編譯原理的課程畢竟還只是講解原理的課程,不是專門的編譯技術課程。這兩門課程是有很大的區別的。編譯技術更關注實際的編寫編譯器過程中運用到的技術,而原理的課

⑦ C++面向對象程序設計的經典教材有哪些最好是國外計算機科學著作,謝謝推薦!

C++ Plus Primer
C++ Primer
C++ 編程思想
C++ 程序設計(特別版)

這4本是國外C++的經典教材,其中:

C++ Primer是由3人共同完成
作者Stanley B.Lippman 是C++創始人Bjarne Stroustrup的助手,目前微軟公司Visual C++團隊的構架師。
作者Josee Lajoie是IBM的C/C++編譯器開發團隊的成員。
作者Barbara E.Moo是擁有25年軟體經驗的獨立咨詢顧問。

C++ 程序設計(特別版)
的作者是C++的創始人Bjarne Stroustrup,
堪稱C++的「聖經」。

⑧ 匯編語言的圖書或教材

匯編語言 著 譯 者:王曉虹 出版日期:2011-3-11 上架時間:2011-7-7 出 版 社:清華大學出版社 ISBN:978 730 224 767 8 內容簡介:
《匯編語言》共11章,以intel 8086/8088系列計算機為背景,前8章系統地介紹宏匯編語言程序設計的基礎知識、語法規則和程序設計方法;後3章主要介紹8086、8088計算機匯編語言的應用,包括輸入輸出的概念及其程序設計方法,中斷的概念、方法及其開發應用技巧,文件編程方法等內容。為方便自學,在各章後面增加了理解與練習或課外閱讀,通過例題分析,加強對匯編語言的理解與掌握。 《匯編語言》可作為高校計算機本科專業的教材和自學考試的教材,也可作為教師、非計算機專業的研究生及計算機應用技術人員的參考書。
圖書目錄:
第1章 概論 1
1.1 計算機系統組成 1
1.1.1 計算機硬體基本結構 1
1.1.2 計算機軟體系統 2
1.2 計算機語言 2
1.2.1 機器語言 2
1.2.2 匯編語言 3
1.2.3 通用語言(高級語言) 4
1.3 匯編語言的應用范圍 4
習題1 4
第2章 匯編語言預備知識 6
2.1 數據類型 6
2.1.1 數制及相互轉換 6
2.1.2 計算機中數和字元的表示 7
2.1.3 數據類型 10
2.2 intel 8086/8088 cpu結構與可編程寄存器 12
2.2.1 8086/8088 cpu功能結構 12
2.2.2 cpu內部寄存器組 13
2.3 存儲器 16
2.3.1 存儲器的組成 16
2.3.2 存儲器的段結構 16
2.3.3 邏輯地址與物理地址 17
2.3.4 堆棧 18
2.4 理解與練習 19
2.4.1 內存數據存取規則 19
2.4.2 計算機中的數據 19
2.4.3 溢出的概念 20
習題2 21
第3章 定址方式與指令系統 23
3.1 定址方式 23
3.1.1 隱含操作數定址方式(隱含定址) 23
3.1.2 立即操作數定址方式(立即定址) 23
3.1.3 寄存器操作數的定址方式(寄存器定址) 24
3.1.4 存儲器操作數的定址方式 24
3.1.5 段基值的隱含約定 26
3.1.6 隱含段的改變 26
3.2 指令系統 27
3.2.1 指令系統概述 27
3.2.2 傳送類指令 28
3.2.3 算術運算類指令 31
3.2.4 位操作指令 36
3.2.5 轉移類指令 37
3.2.6 串操作指令 40
3.2.7 處理器控制類指令 42
3.3 理解與練習 43
3.3.1 關於十進制調整指令 43
3.3.2 比較指令的理解 46
3.3.3 乘除法指令的理解 47
3.3.4 邏輯運算與移位指令的應用 49
3.3.5 指令對標志位的影響 50
習題3 52
第4章 匯編語言 54
4.1 匯編語言語句種類及格式 54
4.1.1 語句種類 54
4.1.2 語句格式 55
4.2 匯編語言的數據 56
4.2.1 常數 56
4.2.2 變數 57
4.2.3 標號 60
4.2.4 段名和過程名 61
4.3 匯編語言的符號 61
4.3.1 等值語句 61
4.3.2 等號語句 62
4.4 匯編語言運算符 62
4.4.1 算術運算符 62
4.4.2 邏輯運算符 64
4.4.3 關系運算符 64
4.4.4 屬性值返回運算符 65
4.4.5 屬性修改運算符 68
4.4.6 運算符的優先順序 69
4.5 程序中段的定義 70
4.5.1 段定義偽指令 70
4.5.2 段指定偽指令 73
4.6 常用偽指令 73
4.6.1 匯編地址計數器($)和定位偽指令(org) 73
4.6.2 源程序結束偽指令(end) 74
4.6.3 模塊命名偽指令(name和title) 75
4.6.4 基數控制偽指令(radix) 75
4.7 理解與練習 76
4.7.1 assume偽指令的理解 76
4.7.2 關於段寄存器的初始化 77
4.7.3 例題分析 78
習題4 81
第5章 程序設計方法 85
5.1 概述 85
5.1.1 程序設計的步驟 85
5.1.2 程序的基本控制結構 87
5.1.3 程序設計方法 88
5.2 匯編語言源程序的基本格式和編程步驟 88
5.3 簡單程序設計舉例 91
5.4 dos系統功能調用 93
5.4.1 系統功能調用方法 93
5.4.2 常用系統功能調用 94
5.5 匯編語言程序的上機過程 97
5.6 理解與練習 98
5.6.1 輸入輸出數據處理 98
5.6.2 使用功能調用進行輸出顯示時屏幕格式的控制 99
5.6.3 程序的匯編、連接及調試 99
習題5 109
第6章 分支與循環程序設計 112
6.1 分支程序設計 112
6.1.1 比較/測試分支結構程序設計 112
6.1.2 用跳轉表形成多路分支的程序設計 116
6.2 循環程序設計 118
6.2.1 循環程序的結構 118
6.2.2 循環控制方法 118
6.2.3 單重循環程序設計 120
6.2.4 多重循環程序設計 123
習題6 128
第7章 子程序與多模塊編程 132
7.1 子程序概念 132
7.1.1 子程序的定義 132
7.1.2 子程序的調用和返回 133
7.2 子程序設計方法 136
7.2.1 現場的保護和恢復 136
7.2.2 主程序與子程序之間參數傳遞方法 137
7.2.3 子程序說明文件 142
7.2.4 子程序設計及其調用舉例 143
7.3 嵌套與遞歸子程序 145
7.3.1 子程序嵌套 145
7.3.2 遞歸子程序 148
7.4 多模塊編程 150
7.4.1 模塊的劃分 150
7.4.2 程序的連接 151
7.5 課外閱讀 154
7.5.1 可重入子程序、浮動子程序和協同子程序 154
7.5.2 匯編語言與c語言的連接 155
習題7 162
第8章 宏功能程序設計 165
8.1 宏的概念 165
8.2 宏定義和宏調用 166
8.2.1 宏定義 166
8.2.2 宏調用 167
8.3 參數的使用 168
8.3.1 宏定義與宏調用中參數的使用 168
8.3.2 宏操作符 172
8.3.3 宏中標號的處理 174
8.4 宏嵌套 175
8.4.1 宏定義中嵌套宏定義 175
8.4.2 宏定義中嵌套宏調用 176
8.5 重復匯編和條件匯編 178
8.5.1 重復匯編偽指令 178
8.5.2 條件匯編偽指令 180
8.6 宏庫的使用 182
8.6.1 宏庫的建立 182
8.6.2 宏庫的使用 183
8.7 課外閱讀 184
8.7.1 結構 184
8.7.2 記錄 189
習題8 192
第9章 輸入輸出程序設計 194
9.1 輸入輸出的概念 194
9.1.1 外部設備與介面電路 194
9.1.2 i/o介面及編程結構 195
9.2 i/o指令 196
9.2.1 輸入指令in 196
9.2.2 輸出指令out 196
9.3 i/o傳送方式 197
9.4 i/o程序舉例 199
習題9 201
第10章 中斷 202
10.1 中斷的概念 202
10.2 pc中斷系統 202
10.3 中斷管理和運行機制 205
10.3.1 中斷向量表 205
10.3.2 中斷優先順序 206
10.3.3 中斷響應過程 207
10.3.4 中斷指令 207
10.4 中斷的開發與應用 208
10.4.1 開發用戶自己的中斷 208
10.4.2 修改或替換系統中斷 210
10.4.3 在應用程序中調用系統中斷 214
10.5 課外閱讀 214
10.5.1 pc時鍾系統及時鍾中斷 214
10.5.2 dos用戶中斷 217
習題10 218
第11章 文件操作編程 220
11.1 文件操作的有關概念 220
11.1.1 文件名字串和文件句柄 220
11.1.2 文件指針與讀寫緩沖區 221
11.1.3 文件屬性 221
11.2 常用的文件操作系統功能調用 221
11.2.1 建立並打開文件(3ch,5bh,5ah) 222
11.2.2 打開文件(3dh) 223
11.2.3 關閉文件(3eh) 223
11.2.4 讀文件或設備(3fh) 223
11.2.5 寫文件或設備(40h) 223
11.2.6 改變文件指針(42h) 223
11.3 文件操作編程 224
11.4 課外閱讀 227
11.4.1 打開文件和關閉文件的作用 227
11.4.2 系統內部句柄的分配和管理 228
習題11 229
附錄a 出錯信息 230
附錄b 8086/8088指令系統 234
附錄c bios調用說明 245
附錄d dos功能調用說明 256
附錄e ibm pc的鍵盤輸入碼和crt顯示碼 265
附錄f 習題答案 267
參考文獻 311
匯編語言(第2版) 著 譯 者:王爽 出版日期:2008-04-01 上架時間:2008-4-21 出 版 社:清華大學出版社 ISBN:978 730 217 228 4 內容簡介:
匯編語言是各種CPU提供的機器指令的助記符的集合,人們可以用匯編語言直接控制硬體系統進行工作。匯編語言是很多相關課程(如數據結構、操作系統、微機原理等)的重要基礎。為了更好地引導、幫助讀者學習匯編語言,作者以循序漸進的思想精心創作了這本書。本書具有如下特點:採用了全新的結構對課程的內容進行組織,對知識進行最小化分割,為讀者構造了循序漸進的學習線索;在深入本質的層面上對匯編語言進行講解;對關鍵環節進行深入的剖析。
本書可用作大學計算機專業本科生的匯編教材及希望深入學習計算機科學的讀者的自學教材。
書籍目錄:
第1章基礎知識
1.1機器語言
1.2匯編語言的產生
1.3匯編語言的組成
1.4存儲器
1.5指令和數據
1.6存儲單元
1.7CPU對存儲器的讀寫
1.8地址匯流排
1.9數據匯流排
1.10控制匯流排
1.11內存地址空間(概述)
1.12主板
1.13介面卡
1.14各類存儲器晶元
1.15內存地址空間
第2章寄存器
2.1通用寄存器
2.2字在寄存器中的存儲
2.3幾條匯編指令
2.4物理地址
2.516位結構的CPU
2.68086cPu給出物理地址的方法
2.7 「段地址xl6+偏移地址=物理地址」的本質含義
2.8段的概念
2.9段寄存器
2.10CS和IP
2.11修改CS、IP的指令
2.12代碼段
實驗1查看CPU和內存,用機器指令和匯編指令編程
第3章寄存器(內存訪問)
3.1 內存中字的存儲
3.2DS 31:1[address]
3.3字的傳送
3.4ITIOV、add、sub指令
3.5數據段
3.6棧
3.7CPU提供的棧機制
3.8棧頂超界的問題
3.9puSh、pop指令
3.10棧段
實驗2用機器指令和匯編指令編程
第4章第一個程序
4.1一個源程序從寫出到執行的過程
4.2源程序
4.3編輯源程序
4.4編譯
4.5連接
4.6 以簡化的方式進行編譯和連接
4.7 1.exe的執行
4.8誰將可執行文件中的程序裝載進入內存並使它運行?
4.9程序執行過程的跟蹤
實驗3編程、編譯、連接、跟蹤
第5章【BX】和loop指令
5.1 【BX】
5.2Loop指令
5.3在Debu9中跟蹤用loop指令實現酮循環程序
5.4Debu9和匯編編譯器masm對指令的不同處理
5.5loop和【bx】的聯合應用
……
第3章寄存器(內存訪問)
第4章第一個程序
第5章[BX]和loop指令
第6章包含多個段的程序
第7章更靈活的定位內存地址的方法
第8章數據處理的兩個基本問題
第9章轉移指令的原理
第10章CALL和RET指令
第11章標志寄存器
第12章內中斷
第13章int指令
第14章埠
第15章外中斷
第16章直接定址表
第17章使用BIOS進行鍵盤輸入和磁碟讀寫
綜合研究
附註
匯編語言 著 譯 者:鄭曉薇 出版日期:2009-07-13 上架時間:2009-9-2 出 版 社:機械工業出版社 ISBN:978 711 126 907 6 內容簡介:
匯編語言是計算機專業的專業基礎課程,也是電子、通信及自動控制等相關專業計算機技術課程的內容。本書以80X86系列微型計算機為基礎,以MASM5.0為匯編上機實驗環境,重點介紹Intel8086指令系統。本書的寫作特點為採用實例驅動教學的方法,以豐富的示例和實例在DEBUG下的運行結果為依託展開教學和學習;在編寫思路上,將指令系統分散到相關章節,指令的學習與示例、實例結合。採用啟發式設問引導教學,在編寫結構上提出一個學習框架,便於讀者思考和學習。本書中實驗練習貫穿始終,在各章中布置了實驗任務模塊,並在第10章專門安排了綜合性設計性實驗內容,通過多層次的實驗訓練來加強各章內容的學習理解、融會貫通。
書籍目錄:
前言.
教學建議
第1章 基礎知識
1.1 匯編語言基本概念
1.2 計算機中數的表示
1.2.1 進制轉換
1.2.2 進制運算
1.2.3 補碼運算
1.2.4 編碼
1.3 實例一揭開數的面紗
1.3.1 數的正確表示
1.3.2 數的符號問題
習題一
測驗一
第2章 計算機基本原理
2.1 馮·諾依曼計算機
2.1.1 馮·諾依曼計算機的原理
2.1.2 馮·諾依曼計算機的基本結構
2.2 微型計算機系統
2.2.1 微型計算機系統概念
2.2.2 微處理器
2.3 80X86寄存器
2.3.1 8086寄存器組
2.3.2 80X86寄存器組
2.4 內存儲器
2.4.1 物理地址與邏輯地址
2.4.2 存儲單元
2.4.3 存儲器分段
2.5 實例二進入計算機
2.5.1 調試工具DEBUG
2.5.2 實驗任務
習題二
測驗二
第3章 指令系統與定址方式
3.1 匯編語言指令
3.1.1 機器指令
3.1.2 匯編指令
3.1.3 指令系統
3.2 指令的定址方式
3.2.1 定址方式
3.2.2 立即定址方式
3.2.3 寄存器定址方式
3.2.4 存儲器定址方式
3.3 實例三尋找操作數
3.3.1 定址方式的選擇
3.3.2 實驗示例
3.3.3 實驗任務
習題三
測驗三
第4章 匯編語言程序設計
4.1 匯編語言程序設計初步
4.1.1 第一個匯編語言程序
4.1.2 從源程序到可執行程序
4.2 偽指令
4.2.1 段定義偽操作
4.2.2 數據定義偽指令
4.2.3 其他偽指令
4.3 基本匯編指令
4.3.1 數據、棧及查表
4.3.2 邏輯地址的獲得
4.3.3 符號位擴展
4.3.4 雙精度數運算
4.3.5 多位元組數運算
4.3.6 混合算術運算
4.3.7 十進制數運算
4.4 屏幕顯示和鍵盤輸入
4.4.1 DOS功能調用
4.4.2 直接寫顯存顯示字元
4.5 實例四帶彩色顯示的算術程序
4.5.1 簡化的程序結構
4.5.2 實驗示例
4.5.3 實驗任務
習題四
測驗四
第5章 分支程序設計
5.1 分支的概念
5.1.1 分支結構
5.1.2 一個分支程序例子
5.2 與分支有關的指令
5.2.1 轉移地址的定址
5.2.2 條件轉移方式
5.3 位操作的分支程序
5.3.1 邏輯運算
5.3.2 測試指令TEST
5.3.3 移位操作
5.3.4 分支程序舉例
5.4 深入分析轉移特徵
5.4.1 內存空間分配
5.4.2 系統啟動
5.4.3 程序的載入
5.4.4 JMP轉移特徵
5.5 實例五走向分支
5.5.1 分支的選擇
5.5.2 菜單程序設計
5.5.3 用分支表實現多路轉移
5.5.4 實驗示例
5.5.5 實驗任務
習題五
測驗五
第6章 循環程序設計
6.1 循環的概念..
6.1.1 循環結構
6.1.2 循環程序例子
6.1.3 與循環有關的指令
6.2 循環指令
6.2.1 LOOP循環指令
6.2.2 LOOPZ/LOOPE
6.2.3 LOOPNZ/LOOPNE
6.3 串處理
6.3.1 串的概念
6.3.2 串處理例子
6.3.3 串處理指令
6.3.4 串與循環
6.4 多重循環
6.4.1 多重循環結構
6.4.2 排序程序
6.5 循環程序舉例
6.6 實例六循環之循環
6.6.1 循環的執行
6.6.2 實驗示例
6.6.3 實驗任務
習題六
測驗六
第7章 子程序設計
7.1 子程序的概念
7.1.1 主程序和子程序
7.1.2 一個改造的例子
7.2 調用和返回
7.2.1 調用指令CALL
7.2.2 返回指令RET
7.3 過程定義
7.3.1 偽指令PROC
7.3.2 過程屬性
7.4 現場保護
7.5 子程序參數傳遞
7.5.1 寄存器傳參
7.5.2 存儲單元傳參
7.5.3 堆棧傳參
7.6 嵌套與遞歸
7.6.1 子程序嵌套
7.6.2 子程序遞歸
7.7 實例七子程序與模塊化
7.7.1 模塊化結構
7.7.2 實驗示例
7.7.3 實驗任務
習題七
測驗七
第8章 宏匯編技術
8.1 宏
8.1.1 宏定義
8.1.2 宏調用
8.1.3 宏展開
8.1.4 宏與子程序
8.1.5 宏的參數
8.1.6 宏運算
8.2 其他宏功能
8.2.1 宏標號
8.2.2 宏刪除
8.2.3 宏嵌套
8.2.4 宏庫建立與調用
8.3 結構偽操作
8.4 重復匯編和條件匯編
8.4.1 重復匯編
8.4.2 條件匯編
8.5 多模塊結構
8.5.1 多個代碼段下的模塊
8.5.2 模塊的參數設置
8.6 實例八宏與多模塊
8.6.1 多模塊設計
8.6.2 一個段的模塊
8.6.3 實驗示例
8.6.4 實驗任務
習題八
測驗八
第9章 中斷程序設計
9.1 中斷的概念
9.1.1 軟體中斷
9.1.2 硬體中斷
9.1.3 中斷類型與中斷向量
9.1.4 中斷過程
9.2 定製自己的中斷
9.2.1 軟體中斷子程序的編寫
9.2.2 中斷的設置
9.2.3 軟體中斷的觸發與處理
9.2.4 對除0中斷的修改
9.3 BIOS中斷
9.3.1 屏幕及游標控制INT 10H
9.3.2 鍵盤中斷INT 16H
9.3.3 時鍾中斷INT 1AH
9.4 DOS中斷
9.4.1 DOS顯示功能調用
9.4.2 DOS鍵盤功能調用
9.4.3 DOS日期、時間功能調用
9.5 實例九中斷程序應用
9.5.1 時間與計數
9.5.2 實驗示例
9.5.3 實驗任務
習題九
測驗九
第10章 綜合性設計性實驗
10.1 I/O埠實驗
10.1.1 I/O埠地址
10.1.2 IN指令和OUT指令
10.1.3 讀取CMOS時鍾
10.2 實驗項目
10.2.1 實驗一CMOS時間和日期
10.2.2 實驗二英文打字練習軟體
10.2.3 實驗三英文填字游戲軟體
10.2.4 實驗四設計一個小計算器
10.2.5 實驗五小學生算術練習軟體
10.2.6 實驗六進制及編碼轉換工具
附錄A 8086指令系統表
附錄B 匯編出錯提示信息
附錄C 匯編語言各章測驗答案
參考文獻...
匯編語言 著 譯 者:李目海 出版日期:2008-02-01 上架時間:2011-7-17 出 版 社:山東大學出版社 ISBN:978 756 073 550 4 內容簡介:
本書以Intel 8086/8088 CPU系列微機為基礎機型,較詳細介紹了匯編語計的基礎知識和基本方法。 全書力求通俗易懂、語言簡潔、難點分散、循序漸進。為方便讀者學習和掌握每章內容的知識點,本書在每章開篇部分列出該章的重點和難點。為避免出現大量單調乏味的匯編指令堆砌,本書將部分匯編指令講解融入到程序設計的實例中。為方便讀者了解掌握知識的程度,本書為每章內容設計了大量習題,並按知識點分解到每節之後,避免了傳統教材將習題集中到每章之後帶來的種種不便等問題。為方便讀者實驗,本書將大量實驗項目融入到課程實例和習題中,同時在第四章還專門設計一節課,用於詳細講解如阿做匯編語言試驗,以便為學好本課程創造條件。
書籍目錄:
第1章 基礎知識
1.1 為什麼學習匯編語言
1.2 數據的機內表示及轉換
1.3 計算機中的有符號數的表示
1.4 計算機的字元表示
第2章 ibm pc微型計算機概述
2.1 ibm pc微型計算機的基本結構
2.2 存儲器的組織結構
2.3 intel 8088/8086的編程結構
第3章 指令系統與定址方式
3.1 匯編語言的指令格式
3.2 指令系統概述
3.3 定址方式
3.4 指令的執行時間
第4章 匯編語言程序
4.1上機實驗過程
4.2 匯編語言中的標識符
4.3 源程序的基本格式與語句分類
4.4 數據定義偽指令
4.5 符號定義偽指令
4.6 段定義及段定址偽指令
4.7 標號
4.8 表達式
4.9 調整偏移量偽指令
第5章 順序程序設計
5.1 程序設計的基本步驟
5.2 算術運算指令的應用
5.3 bcd碼調整指令及應用
5.4 邏輯運算指令與移位指令的應用
5.5 dos和bios的功能調用
第6章 分支程序設計
6.1 分支程序設計的基本結構
6.2 轉移指令
6.3 分支程序的設計
第7章 循環程序設計
7.1 循環程序設計的基本結構
7.2 循環控制指令
7.3 循環程序控制方法
7.4 單重循環程序設計
7.5 多重循環
7.6 串操作指令
第8章 子程序設計
8.1 子程序的基本概念
8.2 子程序定義
8.3 子程序的調用與返回
8.4 編寫子程序的基本要求
8.5 子程序的參數傳遞方法
8.6 子程序的嵌套與遞歸
8.7 多模塊的連接
第9章 高級匯編技術
9.1 宏指令
9.2 重復匯編
9.3 條件匯編
9.4 結構
第10章 綜合應用程序設計
10.1 圖形顯示
10.2 發聲程序設計
10.3 磁碟文件存取程序設計
第11章 匯編語言與高級語言的介面
11.1 內嵌匯編代碼的方法
11.2 模塊連接方法
第12章 intel 80×86的匯編語言
12.1 intel 80×86微處理器概述
12.2 intel 80×86微處理器的指令系統
第13章 windows環境下32位匯編語言
13.1 概述
13.2 編程環境
13.3 windows api函數
13.4 win32匯編程序的語法結構示例
附錄1 ascii碼字元表
附錄2 8086指令系統一覽表
附錄3 masm出錯信息
附錄4 debug命令
附錄5 dos和bios調用表
參考文獻

⑨ C++自學教材推薦

1.《C++Primer》
有「C++的網路全書」,C++程序員人手必備。對語法、語義的描述非常細致和嚴謹,適合有一定經驗的C、C++程序員作為工具書和理論指導書使用,但由於其有一定深度,而沒有進階順序的章節安排,所以不適合初學者做為教材使用,價格略高。

難度:★★☆

質量:★★★★★

廣度:★★★★★

深度:★★★★

性價:★★★☆

2.《C++Primer Plus》
初學C++不錯的書,覆蓋面較全,章節安排比較合理,由淺入深,也很容易,故因此失去了一些深度。價格比較便宜,但翻譯質量略有不足。

難度:☆

質量:★★★☆

廣度:★★★★

深度:★★★

性價:★★★☆

3.《Essential C++》
lippman的一部面向初學者的作品。在他寫了那麼後一本primer之後,為何還要寫這么薄這么淺的書呢?其實primer對於初學者來說太笨重了,而這本書卻是從不同的方面——C++的本質和組織結構對語言進行闡釋,可以幫助初學者對這門語言有一個大致的了解,但知識范圍不很全面,不適合系統學習,讀者需要一定的編程知識。

難度:★☆

質量:★★★★

廣度:★★★☆

深度:★★★

性價:★★☆

4.《Effective C++》、《More Effective C++》
C++真牛人大手筆,之以條款的形式回答了程序員在使用C++時經常提出的「因該注意些什麼?」,「因該避免什麼?」,「因該怎樣去解決?」,「為什麼?」等問題。C++程序員想要讓自己的水平上更高的檔次,此二書必看。價格稍貴,有一定難度,不適合初學者。

難度:★★★☆

質量:★★★★★

廣度:★★★

深度:★★★★★

性價:★★
5.《C++編程思想》
除了講述語言之外,有一定的工程性,從設計者的角度來描述C++怎樣應用在實際的項目中。語言描述的全面性欠佳,但還是有一定精度的,尤其是在一些小技巧方面。本書還引入了大量的戰例,通過一個個的真實項目來引導你使用C++的思想去思考問題。翻譯很差,有一定難度。

難度:★★☆

質量:★★★

廣度:★★★☆

深度:★★★★

性價:★★★

6.《C++大學教程》
正如其名,真正的大學教程,非常適合初學者學習,內容由淺入深,對C++各項特性的描述都很到位,章節的安排很有條理性,但深度略顯不足,翻譯質量不能稱之為很好,有一定的疏漏,但對於厚度來講,價格還算比較便宜。

難度:★

質量:★★★☆

廣度:★★★★★

深度:★★★★

性價:★★★★☆

7.《C++語言的設計和演化》
對於熱愛C++的朋友來說,確實好書一本,可以當做小說來讀,可以放在廁所或床頭上以供消遣。本書對語言本身描述很少,並有一定難度。讀者需要對C++有一定了解,不適合初學者閱讀。
難度:★★★

質量:★★★

廣度:★★☆

深度:★★★★

性價:★★★

8.《C++程序設計語言》
C++之父所作,被稱之為「C++聖經」。不僅對語言,而且對語言周邊的一些如發展史、語義哲學都有比較詳細的描述。對語言的描述較為全面,同時包含一部分和程序庫相關聯的知識,並有一定深度,適合有一定語言基礎的初學者,翻譯質量不錯,價格適中。

難度:★☆

質量:★★★★☆

廣度:★★★★☆

深度:★★★★

性價:★★★☆

9.《深度探索C++對象模型》
第一代C++編譯器開發主管所寫。如果你想成為真正的C++高手,看這本書,他為你講述了編譯器在處理各種語法時在「後台」所做的事。對C++有較深入了解的讀者會在讀後有恍然大悟之感。候傑翻譯,質量相當不錯,但內容太深,只適合對C++有較深了解的讀者,價格偏貴。

難度:★★★★☆

質量:★★★★★

廣度:★★★

深度:★★★★★

性價:★★

10.《C++程序設計教程》(錢能-清華版)
國人所著,國人水平實在有限,深度和廣度欠佳,放在這十大里實在是因為再挑不出好書了。可圈可點之處有講解較為清析、簡單,符合中國學生思路,價格便宜。

難度:☆

質量:★★★

廣度:★★★☆

深度:★★★

性價:★★★★★
所有的書都可以自學,就看你有沒有耐力了

熱點內容
java漢諾塔遞歸演算法 發布:2025-04-02 06:28:40 瀏覽:120
可執行文件是編譯鏈接後生成的文 發布:2025-04-02 04:36:44 瀏覽:168
電腦文件加密軟體免費 發布:2025-04-02 03:02:51 瀏覽:800
php圖片管理 發布:2025-04-02 03:01:11 瀏覽:260
然後弄編程 發布:2025-04-02 02:54:06 瀏覽:107
解壓室俱樂部 發布:2025-04-02 02:47:04 瀏覽:276
安卓哪裡下載文豪野犬 發布:2025-04-02 02:45:04 瀏覽:786
優酷安卓怎麼免廣告 發布:2025-04-02 02:30:07 瀏覽:830
安卓系統怎麼把繁體字改為簡體字 發布:2025-04-02 02:14:39 瀏覽:321
androidpos機 發布:2025-04-02 01:40:54 瀏覽:370