匯編語言

出版時(shí)間:2003-9-1  出版社:清華大學(xué)出版社  作者:王爽  頁數(shù):315  
Tag標(biāo)簽:無  

前言

  匯編語言是很多相關(guān)課程(如:數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、微機(jī)原理等)的重要基礎(chǔ)。其實(shí)僅從課程關(guān)系的角度討論匯編語言的重要性未免片面,概括地說,如果讀者想從事計(jì)算機(jī)科學(xué)方面的工作的話,匯編語言的基礎(chǔ)是必不可缺的。原因很簡(jiǎn)單,我們的工作平臺(tái)、研究對(duì)象都是機(jī)器,匯編語言是人和計(jì)算機(jī)溝通的最直接的方式,它描述了機(jī)器最終所要執(zhí)行的指令序列。我們想深入研究英國(guó)文化,不會(huì)英語行嗎?

內(nèi)容概要

  《匯編語言》具有如下特點(diǎn);采用全新的結(jié)構(gòu)對(duì)課程的內(nèi)容進(jìn)行了組織,對(duì)知識(shí)進(jìn)行最小化分割,為讀者構(gòu)造了循序漸進(jìn)的學(xué)習(xí)線索;在深入本質(zhì)的層面上對(duì)匯編語言進(jìn)行講解;對(duì)關(guān)鍵環(huán)節(jié)進(jìn)行深入的剖析。匯編語言是各種CPU所提供的機(jī)器指令的助記符的集合,人們可以用匯編語言直接控制硬件系統(tǒng)進(jìn)行工作。匯編語言是很多相關(guān)課程(如:數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、微機(jī)原理等)的重要基礎(chǔ)。為了更好地引導(dǎo)、幫助讀者學(xué)習(xí)匯編語言,作者以循序漸進(jìn)的方式精心創(chuàng)作了《匯編語言》?!秴R編語言》可用作大學(xué)計(jì)算機(jī)專業(yè)本科生的匯編教材及希望深入學(xué)習(xí)計(jì)算機(jī)科學(xué)的讀者的自學(xué)教材。

書籍目錄

第1章 基礎(chǔ)知識(shí)11.1 機(jī)器語言11.2 匯編語言的產(chǎn)生21.3 匯編語言的組成31.4 存儲(chǔ)器31.5 指令和數(shù)據(jù)41.6 存儲(chǔ)單元41.7 CPU對(duì)存儲(chǔ)器的讀寫41.8 地址總線61.9 數(shù)據(jù)總線71.10 控制總線81.11 內(nèi)存地址空間(概述)91.12 主板91.13 接口卡91.14 各類存儲(chǔ)器芯片91.15 內(nèi)存地址空間10第2章 寄存器(CPU工作原理)132.1 通用寄存器132.2 字在寄存器中的存儲(chǔ)152.3 幾條匯編指令162.4 物理地址182.5 16位結(jié)構(gòu)的CPU182.6 8086CPU給出物理地址的方法192.7 “段地址×16+偏移地址=物理地址”的本質(zhì)含義202.8 段的概念222.9 段寄存器232.10 CS和IP232.11 修改CS、IP的指令302.12 代碼段32實(shí)驗(yàn)1 查看CPU和內(nèi)存,用機(jī)器指令和匯編指令編程33第3章 寄存器(內(nèi)存訪問)453.1 內(nèi)存中字的存儲(chǔ)453.2 DS和[address]463.3 字的傳送473.4 mov、add、sub指令493.5 數(shù)據(jù)段513.6 棧533.7 CPU提供的棧機(jī)制553.8 棧頂超界的問題583.9 push、pop指令603.10 棧段64實(shí)驗(yàn)2 用機(jī)器指令和匯編指令編程67第4章 第1個(gè)程序714.1 一個(gè)源程序從寫出到執(zhí)行的過程714.2 源程序724.3 編輯源程序774.4 編譯774.5 連接794.6 以簡(jiǎn)化的方式進(jìn)行編譯和連接824.7 1.exe的執(zhí)行834.8 可執(zhí)行文件中的程序裝入內(nèi)存并運(yùn)行的原理834.9 程序執(zhí)行過程的跟蹤85實(shí)驗(yàn)3 編程、編譯、連接、跟蹤88第5章 [bx]和loop指令895.1 [bx]915.2 Loop指令935.3 在Debug中跟蹤用loop指令實(shí)現(xiàn)的循環(huán)程序965.4 Debug和匯編編譯器Masm對(duì)指令的不同處理1025.5 loop和[bx]的聯(lián)合應(yīng)用1055.6 段前綴1085.7 一段安全的空間1095.8 段前綴的使用111實(shí)驗(yàn)4 [bx]和loop的使用113第6章 包含多個(gè)段的程序1146.1 在代碼段中使用數(shù)據(jù)1146.2 在代碼段中使用棧1186.3 將數(shù)據(jù)、代碼、棧放入不同的段120實(shí)驗(yàn)5 編寫、調(diào)試具有多個(gè)段的程序123第7章 更靈活的定位內(nèi)存地址的方法1267.1 and和or指令1267.2 關(guān)于ASCII碼1267.3 以字符形式給出的數(shù)據(jù)1277.4 大小寫轉(zhuǎn)換的問題1287.5  [bx+idata]1317.6 用[bx+idata]的方式進(jìn)行數(shù)組的處理1327.7 SI和DI1347.8 [bx+si]和[bx+di]1367.9 [bx+si+idata]和[bx+di+idata]1387.10 不同的尋址方式的靈活應(yīng)用139實(shí)驗(yàn)6 實(shí)踐課程中的程序147第8章 數(shù)據(jù)處理的兩個(gè)基本問題1488.1 bx、si、di、bp1488.2 機(jī)器指令處理的數(shù)據(jù)所在位置1498.3 匯編語言中數(shù)據(jù)位置的表達(dá)1508.4 尋址方式1518.5 指令要處理的數(shù)據(jù)有多長(zhǎng)?1528.6 尋址方式的綜合應(yīng)用1538.7 div指令1568.8 偽指令dd1588.9 dup159實(shí)驗(yàn)7 尋址方式在結(jié)構(gòu)化數(shù)據(jù)訪問中的應(yīng)用160第9章 轉(zhuǎn)移指令的原理1629.1 操作符offset1629.2 jmp 指令1649.3 依據(jù)位移進(jìn)行轉(zhuǎn)移的jmp指令1649.4 轉(zhuǎn)移的目的地址在指令中的jmp指令1689.5 轉(zhuǎn)移地址在寄存器中的jmp指令1699.6 轉(zhuǎn)移地址在內(nèi)存中的jmp指令1699.7 jcxz指令1719.8 loop指令1729.9 根據(jù)位移進(jìn)行轉(zhuǎn)移的意義1739.10 編譯器對(duì)轉(zhuǎn)移位移超界的檢測(cè)174實(shí)驗(yàn)8 分析一個(gè)奇怪的程序174實(shí)驗(yàn)9 根據(jù)材料編程175第10章 call和ret指令17810.1 ret和retf17810.2 call指令18010.3 依據(jù)位移進(jìn)行轉(zhuǎn)移的call指令18010.4 轉(zhuǎn)移的目的地址在指令中的call指令18110.5 轉(zhuǎn)移地址在寄存器中的call指令18210.6 轉(zhuǎn)移地址在內(nèi)存中的call指令18210.7 call和ret的配合使用18410.8 mul指令18710.9 模塊化程序設(shè)計(jì)18810.10 參數(shù)和結(jié)果傳遞的問題18810.11 批量數(shù)據(jù)的傳遞19010.12 寄存器沖突的問題191實(shí)驗(yàn)10 編寫子程序194課程設(shè)計(jì)1200第11章 標(biāo)志寄存器20211.1 ZF標(biāo)志20211.2 PF標(biāo)志20311.3 SF標(biāo)志20411.4 CF標(biāo)志20511.5 OF標(biāo)志20611.6 adc指令20811.7 sbb指令21111.8 cmp指令21111.9 檢測(cè)比較結(jié)果的條件轉(zhuǎn)移指令21511.10 DF標(biāo)志和串傳送指令21911.11 pushf和popf22311.12 標(biāo)志寄存器在Debug中的表示223實(shí)驗(yàn)11 編寫子程序224第12章 內(nèi)中斷22512.1 內(nèi)中斷的產(chǎn)生22512.2 中斷處理程序22612.3 中斷向量表22612.4 中斷過程22712.5 中斷處理程序22812.6 除法錯(cuò)誤中斷的處理22912.7 編程處理0號(hào)中斷22912.8 安裝23212.9  do023512.10 設(shè)置中斷向量23812.11 單步中斷23812.12 響應(yīng)中斷的特殊情況239實(shí)驗(yàn)12 編寫0號(hào)中斷的處理程序240第13章 int指令24113.1 int指令24113.2 編寫供應(yīng)用程序調(diào)用的中斷例程24213.3 對(duì)int、iret和棧的深入理解24513.4 BIOS和DOS所提供的中斷例程24713.5 BIOS和DOS中斷例程的安裝過程24813.6 BIOS中斷例程應(yīng)用24813.7 DOS中斷例程應(yīng)用250實(shí)驗(yàn)13 編寫、應(yīng)用中斷例程251第14章 端口25414.1 端口的讀寫25414.2 CMOS RAM芯片25514.3 shl和shr指令25614.4 CMOS RAM中存儲(chǔ)的時(shí)間信息258實(shí)驗(yàn)14 訪問CMOS RAM260第15章 外中斷26115.1 接口芯片和端口26115.2 外中斷信息26115.3 PC機(jī)鍵盤的處理過程26315.4 編寫int 9中斷例程26415.5 安裝新的int 9中斷例程272實(shí)驗(yàn)15 安裝新的int 9中斷例程274指令系統(tǒng)總結(jié)274第16章 直接定址表27616.1 描述了單元長(zhǎng)度的標(biāo)號(hào)27616.2 在其他段中使用數(shù)據(jù)標(biāo)號(hào)27816.3 直接定址表28116.4 程序入口地址的直接定址表285實(shí)驗(yàn)16 編寫包含多個(gè)功能子程序的中斷例程289第17章 使用BIOS進(jìn)行鍵盤輸入和磁盤讀寫29017.1 int 9中斷例程對(duì)鍵盤輸入的處理29017.2 使用int 16h中斷例程讀取鍵盤緩沖區(qū)29117.3 字符串的輸入29417.4 應(yīng)用int 13h中斷例程對(duì)磁盤進(jìn)行讀寫298實(shí)驗(yàn)17 編寫包含多個(gè)功能子程序的中斷例程301課程設(shè)計(jì)2302附注304附注1 Intel系列微處理器的三種工作模式304附注2 補(bǔ)碼305附注3 匯編編譯器(masm.exe)對(duì)jmp的相關(guān)處理307附注4 用棧傳遞參數(shù)310附注5 公式證明313

編輯推薦

  《匯編語言》采用了獨(dú)特的教學(xué)理念,完全按照循序漸進(jìn)的原則寫成。學(xué)習(xí)是一個(gè)動(dòng)態(tài)的過程,《匯編語言》的重要的宗旨就是對(duì)學(xué)習(xí)的過程進(jìn)行引導(dǎo)。因此,作者打破了傳統(tǒng)教材按照靜態(tài)的知識(shí)結(jié)構(gòu)對(duì)內(nèi)容進(jìn)行組織的體例,在其中構(gòu)造了一個(gè)貫穿始終的可以步步深入的學(xué)習(xí)線索,使得讀者可以真正深入地理解機(jī)器運(yùn)行程序的機(jī)理和獲得高質(zhì)量的底層編程體驗(yàn),為計(jì)算機(jī)科學(xué)相關(guān)課程的學(xué)習(xí)和研究打下堅(jiān)實(shí)的理論和實(shí)踐基礎(chǔ)?! 〔捎萌碌慕Y(jié)構(gòu)對(duì)課程內(nèi)容進(jìn)行了組織,對(duì)知識(shí)進(jìn)行最小化分割,為讀者構(gòu)造了循序漸進(jìn)的學(xué)習(xí)線索。  在深入本質(zhì)的層面上對(duì)匯編語言進(jìn)行講解。  對(duì)關(guān)鍵環(huán)節(jié)進(jìn)行深入的剖析。

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    匯編語言 PDF格式下載


用戶評(píng)論 (總計(jì)0條)

 
 

 

250萬本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7