注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)匯編語(yǔ)言/編譯原理匯編語(yǔ)言與計(jì)算機(jī)體系結(jié)構(gòu):使用C++和Java

匯編語(yǔ)言與計(jì)算機(jī)體系結(jié)構(gòu):使用C++和Java

匯編語(yǔ)言與計(jì)算機(jī)體系結(jié)構(gòu):使用C++和Java

定 價(jià):¥79.00

作 者: (美)賴(lài)斯(Reis, A.J.D.)編著;呂宏輝, 馬海軍譯
出版社: 清華大學(xué)出版社
叢編項(xiàng): 國(guó)外計(jì)算機(jī)科學(xué)經(jīng)典教材
標(biāo) 簽: 匯編語(yǔ)言 高等學(xué)校 教材

ISBN: 9787302120032 出版時(shí)間: 2006-01-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 633 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  匯編語(yǔ)言和計(jì)算機(jī)體系結(jié)構(gòu)都是難學(xué)的課程。傳統(tǒng)的匯編語(yǔ)言是如此復(fù)雜和特別,以至于即使學(xué)習(xí)基本概念都可能是一項(xiàng)困難任務(wù)。計(jì)算機(jī)體系結(jié)構(gòu)也有同樣的問(wèn)題,而且更嚴(yán)重。學(xué)習(xí)匯編語(yǔ)言,我們要研究一個(gè)復(fù)雜系統(tǒng);而學(xué)習(xí)計(jì)算機(jī)體系結(jié)構(gòu),則要研究許多復(fù)雜系統(tǒng)。那么怎樣才能最有效地學(xué)習(xí)匯編語(yǔ)言和計(jì)算機(jī)體系結(jié)構(gòu)呢?本書(shū)采用的方法是使用一個(gè)簡(jiǎn)單的計(jì)算機(jī)模型H1。H1非常容易學(xué)習(xí),學(xué)生可以迅速用H1完成大量任務(wù)。另外,學(xué)生可以著重學(xué)習(xí)重要的系統(tǒng)概念,而不是無(wú)關(guān)緊要的細(xì)節(jié)。

作者簡(jiǎn)介

暫缺《匯編語(yǔ)言與計(jì)算機(jī)體系結(jié)構(gòu):使用C++和Java》作者簡(jiǎn)介

圖書(shū)目錄

第1章 數(shù)制1
1.1 簡(jiǎn)介1
1.2 按位記數(shù)制1
1.3 各數(shù)制的算術(shù)規(guī)則4
1.4 數(shù)制轉(zhuǎn)換6
1.5 Horner法9
1.6 有符號(hào)二進(jìn)制數(shù)10
1.6.1 符號(hào)—絕對(duì)值表示法10
1.6.2 2的補(bǔ)碼表示法11
1.6.3 1的補(bǔ)碼表示法13
1.6.4 加n表示法14
1.7 用2的補(bǔ)碼加法計(jì)算減法14
1.8 2的補(bǔ)碼和無(wú)符號(hào)數(shù)的范圍15
1.9 擴(kuò)展2的補(bǔ)碼和無(wú)符號(hào)數(shù)16
1.10 溢出17
1.10.1 有符號(hào)數(shù)溢出17
1.10.2 無(wú)符號(hào)數(shù)溢出18
1.11 分析2的補(bǔ)碼數(shù)20
1.12 加法器電路21
1.13 門(mén)23
1.14 用加法器執(zhí)行減法24
1.15 比較有符號(hào)數(shù)26
1.16 比較無(wú)符號(hào)數(shù)27
1.17 正數(shù)、負(fù)數(shù)和無(wú)符號(hào)數(shù)的一致對(duì)待27
1.18 浮點(diǎn)數(shù)表示法28
1.18.1 科學(xué)記數(shù)法28
1.18.2 32位IEEE 754浮點(diǎn)數(shù)格式29
1.18.3 下溢、溢出和特殊值30
1.18.4 某些Java程序中的計(jì)算誤差30
1.18.5 長(zhǎng)格式35
1.19 小結(jié)35
1.20 問(wèn)題36
第2章 機(jī)器語(yǔ)言40
2.1 簡(jiǎn)介40
2.2 計(jì)算機(jī)的組件40
2.3 機(jī)器語(yǔ)言編程44
2.4 在sim上運(yùn)行機(jī)器語(yǔ)言程序48
2.5 問(wèn)題52
第3章 H1匯編語(yǔ)言:第1部分54
3.1 簡(jiǎn)介54
3.2 匯編語(yǔ)言基礎(chǔ)55
3.3 注釋匯編語(yǔ)言程序58
3.4 使用標(biāo)號(hào)58
3.5 使用匯編器61
3.6 低級(jí)語(yǔ)言與高級(jí)語(yǔ)言65
3.7 匯編器工作原理66
3.8 使用dup修飾符67
3.9 操作數(shù)字段中的算術(shù)表達(dá)式68
3.10 指定當(dāng)前位置70
3.11 字符串71
3.12 org偽指令74
3.13 end偽指令75
3.14 指令的順序執(zhí)行76
3.15 問(wèn)題78
第4章 H1匯編語(yǔ)言:第2部分81
4.1 簡(jiǎn)介81
4.2 描述指令的簡(jiǎn)寫(xiě)形式81
4.3 直接指令82
4.4 堆棧指令83
4.5 立即指令85
4.6 I/O指令90
4.7 轉(zhuǎn)移指令96
4.8 間接指令98
4.9 相對(duì)指令102
4.10 變址103
4.11 連接指令105
4.12 終止指令109
4.13 高級(jí)語(yǔ)言中指令的自動(dòng)生成109
4.14 調(diào)試110
4.15 使用存儲(chǔ)映像式I/O115
4.16 equ偽指令117
4.17 Java程序的潛在問(wèn)題:大小端118
4.18 問(wèn)題121
第5章 電子學(xué)和數(shù)字邏輯電路基礎(chǔ)125
5.1 簡(jiǎn)介125
5.2 電子學(xué)基礎(chǔ)125
5.2.1 導(dǎo)體和絕緣體125
5.2.2 一個(gè)簡(jiǎn)單電路126
5.2.3 有效電壓127
5.2.4 電源127
5.2.5 如何避免觸電128
5.2.6 晶體管129
5.2.7 電容、電感和阻抗131
5.3 組合邏輯電路133
5.3.1 門(mén)133
5.3.2 布爾函數(shù)134
5.3.3 最小電路135
5.3.4 使用布爾代數(shù)使電路最小化136
5.3.5 摩根定律的圖示法137
5.3.6 使用卡諾圖使電路最小化138
5.3.7 多路復(fù)用器141
5.3.8 解碼器和編碼器142
5.3.9 半加器和全加器143
5.3.10 一位移位器144
5.3.11 乘法器陣列145
5.3.12 算術(shù)邏輯單元148
5.3.13 三態(tài)緩沖器149
5.3.14 ROM151
5.4 時(shí)序邏輯電路153
5.4.1 SR觸發(fā)器153
5.4.2 時(shí)鐘控制D觸發(fā)器155
5.4.3 時(shí)鐘控制JK觸發(fā)器157
5.4.4 邊沿檢測(cè)157
5.4.5 T觸發(fā)器159
5.4.6 RAM159
5.4.7 二進(jìn)制計(jì)數(shù)器160
5.4.8 寄存器161
5.4.9 時(shí)鐘和序列發(fā)生器163
5.5 集成電路164
5.6 問(wèn)題165
第6章 H1和V1的微級(jí)168
6.1 簡(jiǎn)介168
6.2 H1的微級(jí)168
6.2.1 H1的組織概述168
6.2.2 微指令170
6.2.3 存儲(chǔ)器數(shù)據(jù)總線(xiàn)171
6.2.4 存儲(chǔ)器地址總線(xiàn)172
6.2.5 寄存器庫(kù)172
6.2.6 指定微操作175
6.2.7 驅(qū)動(dòng)寄存器庫(kù)的控制輸入端175
6.2.8 整合H1各部分176
6.2.9 分支多路復(fù)用器178
6.2.10 定時(shí)問(wèn)題180
6.2.11 微指令格式181
6.2.12 序列發(fā)生器驅(qū)動(dòng)的控制輸入端181
6.2.13 基本指令集的微代碼182
6.2.14 硬件/微代碼權(quán)衡187
6.3 在sim上使用新的微代碼189
6.3.1 如何使用!偽指令189
6.3.2 創(chuàng)建配置文件189
6.3.3 創(chuàng)建二進(jìn)制微代碼191
6.3.4 用新指令集匯編192
6.3.5 在微級(jí)上跟蹤193
6.3.6 加密微代碼198
6.3.7 編寫(xiě)并優(yōu)化復(fù)雜的微代碼198
6.4 解釋機(jī)器語(yǔ)言指令200
6.5 硬接線(xiàn)控制201
6.6 垂直微編程202
6.6.1 使用V1202
6.6.2 構(gòu)成更短的微指令203
6.6.3 匯編垂直微代碼205
6.7 問(wèn)題210
第7章 評(píng)估H1的指令集體系結(jié)構(gòu):第1部分214
7.1 簡(jiǎn)介214
7.2 啞編譯器214
7.3 全局變量218
7.4 局部變量221
7.5 變化的相對(duì)地址229
7.6 參數(shù)和傳值調(diào)用230
7.7 返回值235
7.8 需要相對(duì)指令的原因236
7.9 確定動(dòng)態(tài)局部變量和參數(shù)的地址238
7.10 間接引用指針241
7.11 問(wèn)題243
第8章 評(píng)估H1的指令集體系結(jié)構(gòu):第2部分249
8.1 簡(jiǎn)介249
8.2 引用調(diào)用249
8.2.1 引用調(diào)用的實(shí)現(xiàn)249
8.2.2 C++引用參數(shù)的概念視圖256
8.2.3 不間接引用C++引用參數(shù)的情況257
8.2.4 傳值調(diào)用與引用調(diào)用的比較258
8.2.5 常數(shù)和表達(dá)式作為變?cè)?59
8.3 函數(shù)重載和重命名263
8.4 結(jié)構(gòu)267
8.5 Java中的指針271
8.6 函數(shù)指針272
8.7 數(shù)組274
8.7.1 定義并訪問(wèn)數(shù)組274
8.7.2 數(shù)組作為變?cè)?78
8.7.3 Java中的數(shù)組282
8.8 控制語(yǔ)句283
8.9 有符號(hào)數(shù)和無(wú)符號(hào)數(shù)比較285
8.10 多字加法285
8.11 位級(jí)操作286
8.12 遞歸287
8.13 問(wèn)題293
第9章 高級(jí)匯編語(yǔ)言編程301
9.1 簡(jiǎn)介301
9.2 指向指針的指針301
9.3 引用調(diào)用及其他地方存在的潛在錯(cuò)誤307
9.4 關(guān)系和布爾表達(dá)式310
9.5 字符串313
9.6 值結(jié)果調(diào)用315
9.7 變長(zhǎng)變?cè)斜?21
9.8 問(wèn)題326
第10章 連接和加載329
10.1 簡(jiǎn)介329
10.2  浮動(dòng)字段330
10.3 顯示標(biāo)題和機(jī)器代碼正文的程序334
10.4 小s項(xiàng)336
10.5 禁止重定位337
10.6 分別匯編338
10.7 乘法子例程348
10.8 使用庫(kù)350
10.9 分別匯編的優(yōu)點(diǎn)357
10.10 啟動(dòng)代碼357
10.11 C++模塊的分別編譯367
10.12 問(wèn)題371
第11章 用C++或Java實(shí)現(xiàn)匯編器和連接器376
11.1 簡(jiǎn)介376
11.2 編寫(xiě)匯編器376
11.2.1 一個(gè)簡(jiǎn)單匯編器的規(guī)范377
11.2.2 操作碼表378
11.2.3 符號(hào)表380
11.2.4 使用二進(jìn)制文件382
11.2.5 讀取輸入文本文件并創(chuàng)建標(biāo)題385
11.2.6 匯編機(jī)器字387
11.2.7 將機(jī)器正文寫(xiě)入輸出文件388
11.2.8 分析輸入388
11.2.9 Java程序的大小端問(wèn)題388
11.2.10 添加對(duì)public、extern和end偽指令的支持389
11.3 編寫(xiě)連接器390
11.3.1 一個(gè)簡(jiǎn)單連接器的規(guī)范390
11.3.2 構(gòu)建P、E、R和S表391
11.3.3 重定位地址并解析外部引用393
11.3.4添加庫(kù)支持395
11.4 問(wèn)題396
第12章 最優(yōu)指令集397
12.1 簡(jiǎn)介397
12.2 新增和改進(jìn)的指令398
12.2.1 mult、m、div和rem399
12.2.2 addc和subc400
12.2.3 scmp401
12.2.4 ucmp402
12.2.5 shll和shrl403
12.2.6 shra404
12.2.7 addy405
12.2.8 or、xor、and和flip407
12.2.9 cali409
12.2.10 sect和dect409
12.2.11 sodd410
12.2.12 esba、reba、bpbp、pobp和pbp411
12.2.13 cora416
12.2.14 bcpy417
12.3 鏈表——使用最優(yōu)指令集示例418
12.4 關(guān)于最優(yōu)指令集的進(jìn)展報(bào)告424
12.4.1 主存儲(chǔ)器的數(shù)量不足424
12.4.2 存儲(chǔ)器存儲(chǔ)字符串的效率不高424
12.4.3 缺少加和減的立即指令425
12.4.4 缺少變址寄存器425
12.4.5 累加器型寄存器太少425
12.4.6 swap指令破壞sp寄存器425
12.4.7 缺少乘法和除法指令426
12.4.8 sp寄存器作為棧頂指針和基址寄存器的雙重用途426
12.4.9 難以獲得堆棧上變量的地址426
12.4.10 缺少塊復(fù)制指令426
12.4.11 難以調(diào)用地址已知的函數(shù)426
12.4.12 aloc和dloc指令的局限性426
12.4.13 難以執(zhí)行有符號(hào)數(shù)和無(wú)符號(hào)數(shù)比較426
12.4.14 難以執(zhí)行多字加法426
12.4.15 不支持位級(jí)操作427
12.5 問(wèn)題427
第13章 使用、評(píng)估并實(shí)現(xiàn)最優(yōu)指令集和堆棧指令集430
13.1 簡(jiǎn)介430
13.2 H1上的乘法430
13.3 二維數(shù)組437
13.4 匯編語(yǔ)言中的面向?qū)ο缶幊?41
13.4.1 C++的結(jié)構(gòu)、類(lèi)和對(duì)象441
13.4.2 繼承452
13.4.3 通過(guò)指針調(diào)用成員函數(shù)457
13.4.4 虛函數(shù)和多態(tài)性464
13.5 名調(diào)用472
13.6 面向堆棧的體系結(jié)構(gòu)479
13.6.1 體系結(jié)構(gòu)與組織479
13.6.2 以棧頂代替ac寄存器480
13.6.3 4位操作碼的可用性484
13.6.4 特殊的堆棧操作485
13.6.5 更簡(jiǎn)單的編譯486
13.6.6 返回值487
13.6.7 使用堆棧指令集示例489
13.6.8 比較最優(yōu)指令集和堆棧指令集491
13.6.9 關(guān)于JVM的幾點(diǎn)觀察492
13.7 編寫(xiě)最優(yōu)和堆棧指令集的微代碼493
13.8 微編程的挑戰(zhàn)496
13.9 問(wèn)題497
第14章 存儲(chǔ)系統(tǒng)503
14.1 簡(jiǎn)介503
14.2 地址的傳送503
14.3 多程序系統(tǒng)505
14.4 直接存儲(chǔ)器存取505
14.5 分時(shí)系統(tǒng)506
14.6 重定位寄存器506
14.7 虛擬存儲(chǔ)器508
14.7.1 簡(jiǎn)單分頁(yè)系統(tǒng)509
14.7.2 關(guān)聯(lián)存儲(chǔ)器512
14.7.3 中斷514
14.7.4 請(qǐng)求式分頁(yè)516
14.7.5 請(qǐng)求式分頁(yè)的頁(yè)面替換策略518
14.7.6 頁(yè)面大小的考慮519
14.7.7 超級(jí)用戶(hù)/用戶(hù)模式520
14.7.8 存儲(chǔ)器保護(hù)521
14.7.9 分頁(yè)的分段521
14.8 高速緩沖存儲(chǔ)器522
14.8.1 緩存的替換策略523
14.8.2 寫(xiě)策略523
14.8.3 存儲(chǔ)器到緩存的映射方案524
14.9 可共享的程序526
14.10 問(wèn)題527
第15章 某些現(xiàn)代體系結(jié)構(gòu)530
15.1 簡(jiǎn)介530
15.2 CISC與RISC530
15.3 SPARC:RISC體系結(jié)構(gòu)532
15.3.1 重疊的寄存器窗口532
15.3.2 保存和恢復(fù)指令536
15.3.3 加載和存儲(chǔ)指令538
15.3.4 轉(zhuǎn)移、call和jmpl指令543
15.3.5 指令流水線(xiàn)546
15.3.6 連接指令552
15.3.7 尋址方式553
15.3.8 一個(gè)簡(jiǎn)單的匯編語(yǔ)言程序555
15.3.9 合成指令557
15.3.10 編譯器生成的代碼559
15.3.11 存儲(chǔ)映像式I/O565
15.4 Pentium:CISC體系結(jié)構(gòu)566
15.4.1 寄存器結(jié)構(gòu)566
15.4.2 匯編語(yǔ)言567
15.4.3 編譯器生成的代碼568
15.4.4 I/O指令570
15.5 問(wèn)題571
第16章 Java虛擬機(jī)(JVM)576
16.1 簡(jiǎn)介576
16.2 JVM的結(jié)構(gòu)577
16.3 某些使用操作數(shù)堆棧的普通操作578
16.4 方法的調(diào)用和返回579
16.5 執(zhí)行引擎的實(shí)現(xiàn)581
16.6 明智之舉:JVM使用堆棧體系結(jié)構(gòu)582
16.7 一個(gè)簡(jiǎn)單的例子582
16.8 常數(shù)池584
16.9 類(lèi)文件格式585
16.10 字節(jié)碼的空間效率589
16.11 控制語(yǔ)句590
16.12 反匯編類(lèi)文件591
16.13 對(duì)象和數(shù)組593
16.14 JVM:抽象機(jī)器595
16.15 問(wèn)題595
附錄A 指令集匯總(s.txt、b.txt、o.txt、k.txt)598
附錄B 微指令級(jí)匯總(mic.txt)606
附錄C 標(biāo)準(zhǔn)指令集的微代碼(s.has)609
附錄D SPARC匯總(sparc.txt)614
附錄E java虛擬機(jī)字節(jié)碼匯總(jvm.txt)620
附錄F ASCII匯總(ascii.txt)625
附錄G 數(shù)制匯總(number.txt)627
附錄H 了解C++對(duì)Java程序員的幫助628

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)