《高等學校計算機科學與技術套用型教材:彙編語言程式設計簡明教程》是2012年北京郵電大學出版社出版的圖書,作者是趙梅、楊永生。
基本介紹
- 中文名:高等學校計算機科學與技術套用型教材:彙編語言程式設計簡明教程
- 出版社:北京郵電大學出版社
- 頁數:186頁
- 開本:16
- 定價:26.00
- 作者:趙梅 楊永生
- 出版日期:2012年11月1日
- 語種:簡體中文
- ISBN:9787563532568, 7563532560
內容簡介,圖書目錄,文摘,
內容簡介
《高等學校計算機科學與技術套用型教材:彙編語言程式設計簡明教程》內容簡明,每章後面配有大量的習題和參考答案,有選擇題、判斷題、填空題、簡答題、編程題及程式分析等多種題型,是集教材與習題集於一體的適合學生學習與應試的教材。
《高等學校計算機科學與技術套用型教材:彙編語言程式設計簡明教程》以80X86系列微處理器為背景,系統介紹了彙編語言程式設計的基礎知識和程式設計的基本方法。全書內容共7章。可以分為三部分;第1章為第一部分,是彙編語言程式設計的基礎部分,介紹了數在計算機中的表示、計算機的基本結構和80X86暫存器組。第2章~第5章為第二部分,是《高等學校計算機科學與技術套用型教材:彙編語言程式設計簡明教程》的核心部分,詳細介紹80X86的基本指令和彙編語言程式設計的基本方法和技巧。第6章、第7章為第三部分,分別介紹了中斷程式設計、BIOS和DOS中斷以及彙編語言和高級語言的混合編程等內容。
圖書目錄
第1章彙編語言基礎知識
1.1計算機內部數據的表示
1.1.1數制
1.1.2數制的轉換方法
1.1.3數據組織
1.1.4無符號數的表示
1.1.5有符號數的表示
1.1.6字元編碼
1.1.7 BCD碼
1.2計算機的基本結構
1.2.1計算機組成
1.2.2中央處理器
1.2.3存儲器
1.3指令、程式和程式設計語言
1.3.1指令和程式
1.3.2機器語言、彙編語言和高級語言
1.4 80X86暫存器
1.4.1數據暫存器
1.4.2地址暫存器
1.4.3段暫存器
1.4.4專用暫存器
1.4.5其他暫存器
1.5 80X86 CPU的工作模式
1.5.1實地址模式
1.5.2保護模式
1.5.3虛擬8086模式
1.6習題
第2章80X86指令系統
2.1 80X86指令格式與定址方式
2.1.1指令的基本格式
2.1.2 8086/8088運算元的定址方式
2.2數據傳送類指令
2.2.1通用數據傳送指令
2.2.2交換傳送指令
2.2.3堆疊操作指令
2.2.4有效地址傳送指令
2.2.5換碼指令
2.2.6標誌暫存器傳送指令
2.2.7輸入/輸出數據傳送指令
2.3算數運算類指令
2.3.1加法指令
2.3.2減法類指令
2.3.3乘法和除法指令
2.3.4字元擴展指令
2.4邏輯運算與移位指令
2.4.1邏輯運算指令
2.4.2移位指令
2.4.3循環移位指令
2.5串操作類指令
2.5.1重複前綴指令
2.5.2字元串指令
2.5.3字元串指令舉例
2.6控制轉移類指令
2.6.1無條件轉移
2.6.2條件轉移指令
2.6.3循環控制指令
2.6.4子程式指令
2.7標誌處理和處理器控制類指令
2.8習題
第3章偽指令及彙編語言源程式結構
3.1彙編語言語句格式
3.1.1語句的種類和格式
3.1.2數值表達式
……
第4章 基本彙編語言程式設計
第5章子程式設計
第6章輸入/輸出與中斷
第7章 彙編語言與C語言的混合編程
參考答案
參考文獻
1.1計算機內部數據的表示
1.1.1數制
1.1.2數制的轉換方法
1.1.3數據組織
1.1.4無符號數的表示
1.1.5有符號數的表示
1.1.6字元編碼
1.1.7 BCD碼
1.2計算機的基本結構
1.2.1計算機組成
1.2.2中央處理器
1.2.3存儲器
1.3指令、程式和程式設計語言
1.3.1指令和程式
1.3.2機器語言、彙編語言和高級語言
1.4 80X86暫存器
1.4.1數據暫存器
1.4.2地址暫存器
1.4.3段暫存器
1.4.4專用暫存器
1.4.5其他暫存器
1.5 80X86 CPU的工作模式
1.5.1實地址模式
1.5.2保護模式
1.5.3虛擬8086模式
1.6習題
第2章80X86指令系統
2.1 80X86指令格式與定址方式
2.1.1指令的基本格式
2.1.2 8086/8088運算元的定址方式
2.2數據傳送類指令
2.2.1通用數據傳送指令
2.2.2交換傳送指令
2.2.3堆疊操作指令
2.2.4有效地址傳送指令
2.2.5換碼指令
2.2.6標誌暫存器傳送指令
2.2.7輸入/輸出數據傳送指令
2.3算數運算類指令
2.3.1加法指令
2.3.2減法類指令
2.3.3乘法和除法指令
2.3.4字元擴展指令
2.4邏輯運算與移位指令
2.4.1邏輯運算指令
2.4.2移位指令
2.4.3循環移位指令
2.5串操作類指令
2.5.1重複前綴指令
2.5.2字元串指令
2.5.3字元串指令舉例
2.6控制轉移類指令
2.6.1無條件轉移
2.6.2條件轉移指令
2.6.3循環控制指令
2.6.4子程式指令
2.7標誌處理和處理器控制類指令
2.8習題
第3章偽指令及彙編語言源程式結構
3.1彙編語言語句格式
3.1.1語句的種類和格式
3.1.2數值表達式
……
第4章 基本彙編語言程式設計
第5章子程式設計
第6章輸入/輸出與中斷
第7章 彙編語言與C語言的混合編程
參考答案
參考文獻
文摘
著作權頁:
插圖:
7.2.3編譯連線的方法——命令行方式
以上C程式編輯完成之後,可採用Turbo C按照命令行方式進行編譯連線。在命令行輸入如下編譯命令,選項一I和一L分別指定頭檔案和庫函式的所在目錄,選項一8是先編譯後連線。以例7.3為例,編譯連線方法如下:
TCC—B—Iinclude—Llib ch703.C
如果Turbo C集成環境的編譯器選項(option)選單中的目錄項設定中指定了頭檔案和庫函式所在的目錄,則輸入的編譯命令可簡化為:
TCC—B ch703.C
當Turbo C編譯器對“.C”程式進行編譯時,如遇到內嵌的彙編語句,首先將其編譯成“.asm”檔案,然後使用Tasm編譯器對其編譯生成“.obj”檔案,最後連線程式Tlink將目標檔案連線生成“.exe”檔案。
7.3 Turbo C模組連線方式
混合編程的模組連線方式就是各種語言的程式分別編寫,然後分別編譯生成.0bj目標檔案,最後通過連線程式生成.exe執行檔。為了保證各.0bj檔案的正確連線,混合編程時必須事先對參數的傳遞、函式的調用及暫存器的使用作出必要的約定,以保證連線的順利進行。
7.3.1 C調用彙編的規則
為了保證混合編程的順利進行,必須遵循一些約定規則。主要包括:存儲模型、命名約定、聲明約定、暫存器使用約定以及參數傳遞及返回約定等。
1.存儲模型
C語言提供了6種存儲模型,分別為:Tiny(微型)、Small(小型)、Compact(緊湊)、Medium(中型)、Large(大型)和Huge(巨型)。模組連線方式要求調用的C程式和被調用的彙編程式必須使用相同的存儲模型:C程式的存儲方式可使用Turbo C集成環境中選單項選項一編譯一模型來指定存儲類型,彙編程式可採用偽指令.model指定存儲模型,如.model small,其中的small指的是小型模型。
2.命名約定
由於C語言編譯系統在編譯C語言源程式時,會在變數名、過程名、函式名等標識符前加“一”(下畫線);如C源程式中有一函式名funcl(),編譯後為一funcl()。但是,彙編語言的編譯程式不會改變彙編語言源程式的標識符,所以,如果彙編語言源程式要調用函式funcl()時,需要將funcl()變為一funcl(),否則調用將失敗。同理,如果C語言源程式需要調用彙編語言源程式的過程、變數時,那么,該過程名或變數名在彙編語言源程式中必須加“一”(下畫線)。
插圖:
7.2.3編譯連線的方法——命令行方式
以上C程式編輯完成之後,可採用Turbo C按照命令行方式進行編譯連線。在命令行輸入如下編譯命令,選項一I和一L分別指定頭檔案和庫函式的所在目錄,選項一8是先編譯後連線。以例7.3為例,編譯連線方法如下:
TCC—B—Iinclude—Llib ch703.C
如果Turbo C集成環境的編譯器選項(option)選單中的目錄項設定中指定了頭檔案和庫函式所在的目錄,則輸入的編譯命令可簡化為:
TCC—B ch703.C
當Turbo C編譯器對“.C”程式進行編譯時,如遇到內嵌的彙編語句,首先將其編譯成“.asm”檔案,然後使用Tasm編譯器對其編譯生成“.obj”檔案,最後連線程式Tlink將目標檔案連線生成“.exe”檔案。
7.3 Turbo C模組連線方式
混合編程的模組連線方式就是各種語言的程式分別編寫,然後分別編譯生成.0bj目標檔案,最後通過連線程式生成.exe執行檔。為了保證各.0bj檔案的正確連線,混合編程時必須事先對參數的傳遞、函式的調用及暫存器的使用作出必要的約定,以保證連線的順利進行。
7.3.1 C調用彙編的規則
為了保證混合編程的順利進行,必須遵循一些約定規則。主要包括:存儲模型、命名約定、聲明約定、暫存器使用約定以及參數傳遞及返回約定等。
1.存儲模型
C語言提供了6種存儲模型,分別為:Tiny(微型)、Small(小型)、Compact(緊湊)、Medium(中型)、Large(大型)和Huge(巨型)。模組連線方式要求調用的C程式和被調用的彙編程式必須使用相同的存儲模型:C程式的存儲方式可使用Turbo C集成環境中選單項選項一編譯一模型來指定存儲類型,彙編程式可採用偽指令.model指定存儲模型,如.model small,其中的small指的是小型模型。
2.命名約定
由於C語言編譯系統在編譯C語言源程式時,會在變數名、過程名、函式名等標識符前加“一”(下畫線);如C源程式中有一函式名funcl(),編譯後為一funcl()。但是,彙編語言的編譯程式不會改變彙編語言源程式的標識符,所以,如果彙編語言源程式要調用函式funcl()時,需要將funcl()變為一funcl(),否則調用將失敗。同理,如果C語言源程式需要調用彙編語言源程式的過程、變數時,那么,該過程名或變數名在彙編語言源程式中必須加“一”(下畫線)。