| | | 彙編語言:基於x86處理器(原書第7版) 計算機與互聯網 [美]基普 | 該商品所屬分類:圖書 -> ε | 【市場價】 | 883-1280元 | 【優惠價】 | 552-800元 | 【出版社】 | 機械工業出版社 | 【ISBN】 | 9787111530367 | 【折扣說明】 | 一次購物滿999元台幣免運費+贈品 一次購物滿2000元台幣95折+免運費+贈品 一次購物滿3000元台幣92折+免運費+贈品 一次購物滿4000元台幣88折+免運費+贈品
| 【本期贈品】 | ①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
| |
版本 | 正版全新電子版PDF檔 | 您已选择: | 正版全新 | 溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。*. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。 *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。 *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。 | | | | 內容介紹 | |
![](/c49/32/70441215101.jpg)
出版社:機械工業出版社 ISBN:9787111530367 商品編碼:70441215101 開本:16開 出版時間:2016-03-01 頁數:547 字數:485000 代碼:99
" 商品基本信息,請以下列介紹為準 | 商品名稱: | 彙編語言:基於x86處理器(原書第7版) | 作者: | [美]基普·歐文(Kip Irvine) | 代碼: | 99.0 | 出版社: | 機械工業出版社 | 出版日期: | 2016-03-01 | ISBN: | 9787111530367 | 印次: | | 版次: | | 裝幀: | 開本: | 16開 |
內容簡介 | 本書是彙編語言課程的經典教材,繫統介紹x86和Intel64處理器的彙編語言編程和架構。前9章為彙編語言的核心概念,包括:彙編語言基礎,x86處理器架構,數據傳送、尋址和算術運算,過程,條件處理,整數運算,過程,以及字符串和數組。本書為原書第7版,增加了部分實例程序的討論,補充了更多的復關鍵術語,介紹了64位編程;還有配套的網上資料,提供完整的程序清單、復案和編程練決方案。 |
目錄 | 目錄Assembly Language for x86 Processors, Seventh Edition出版者的話譯者序前言第1章基本概念 11.1歡迎來到彙編語言的 11.1.1讀者可能會問的問題 21.1.2彙編語言的應用 41.1.3本節回顧 51.2虛擬機概念 51.3數據表示 71.3.1制整數 71.3.2制加法 81.3.3整數存儲大小 91.3.4十制整數 101.3.5十制加法 111.3.6有符號制整數 121.3.7制減法 131.3.8字符存儲 141.3.9本節回顧 151.4布爾表達式 161.4.1布爾函數真值表 181.4.2本節回顧 181.5本章小結 191.6關鍵術語 191.7復練 201.7.1簡答題 201.7.2算法基礎 21第2章x86處理器架構 232.1一般概念 232.1.1基本微機設計 232.1.2指令執行周期 242.1.3讀取內存 252.1.4加載並執行程序 262.1.5本節回顧 262.232位x86處理器 272.2.1作模式 272.2.2基本執行環境 272.2.3x86內存管理 302.2.4本節回顧 302.364位x86-64處理器 302.3.164位作模式 312.3.2基本64位執行環境 312.4典型x86計算機組件 322.4.1主板 322.4.2內存 342.4.3本節回顧 342.5輸入輸出繫統 342.5.1I/O訪問層次 342.5.2本節回顧 362.6本章小結 362.7關鍵術語 372.8復 38第3章彙編語言基礎 393.1基素 393.1.1第一個彙編語言程序 393.1.2整數常量 403.1.3整型常量表達式 413.1.4實數常量 413.1.5字符常量 423.1.6字符串常量 423.1.7保留字 423.1.8標識符 433.1.9偽指令 433.1.10指令 443.1.11本節回顧 463.2示例:整數加減法 463.2.1AddTwo程序 463.2.2運行和調試AddTwo程序 483.2.3程序模板 523.2.4本節回顧 523.3彙編、鏈接和運行程序 533.3.1彙編–鏈接–執行周期 533.3.2列表文件 533.3.3本節回顧 553.4定義數據 553.4.1內部數據類型 553.4.2數據定義語句 553.4.3向AddTwo程序添加一個變量 563.4.4定義BYTE和SBYTE數據 573.4.5定義WORD和SWORD數據 593.4.6定義DWORD和SDWORD數據 593.4.7定義QWORD數據 603.4.8定義壓縮BCD(TBYTE)數據 603.4.9定義浮點類型 613.4.10變量加法程序 613.4.11小端順序 623.4.12聲明未初始化數據 623.4.13本節回顧 633.5符號常量 633.5.1等號偽指令 633.5.2計算數組和字符串的大小 643.5.3EQU偽指令 653.5.4TEXTEQU偽指令 663.5.5本節回顧 663.664位編程 673.7本章小結 683.8關鍵術語 693.8.1術語 693.8.2指令、運算符和偽指令 703.9復練 703.9.1簡答題 703.9.2算法基礎 713.10編程練 71第4章數據傳送、尋址和算術運算 734.1數據傳送指令 734.1.1引言 734.1.2作數類型 734.1.3直接內存作數 744.1.4MOV指令 754.1.5整數的全零/符號擴展 764.1.6LAHF和SAHF指令 774.1.7XCHG指令 784.1.8直接–偏移量作數 784.1.9示例程序(Moves) 794.1.10本節回顧 804.2加法和減法 814.2.1INC和DEC指令 814.2.2ADD指令 814.2.3SUB指令 814.2.4NEG指令 824.2.5執行算術表達式 824.2.6加減法影響的標志位 824.2.7示例程序(AddSubTest) 854.2.8本節回顧 864.3與數據相關的運算符和偽指令 874.3.1OFFSET運算符 874.3.2ALIGN偽指令 884.3.3PTR運算符 884.3.4TYPE運算符 894.3.5LENGTHOF運算符 894.3.6SIZEOF運算符 904.3.7LABEL偽指令 904.3.8本節回顧 904.4間接尋址 914.4.1間接作數 914.4.2數組 914.4.3變址作數 924.4.4指針 934.4.5本節回顧 954.5JMP和LOOP指令 954.5.1JMP指令 964.5.2LOOP指令 964.5.3在Visual Studio調試器中顯示數組 974.5.4整數數組求和 984.5.5復制字符串 984.5.6本節回顧 994.664位編程 994.6.1MOV指令 994.6.264位的SumArray程序 1004.6.3加法和減法 1014.6.4本節回顧 1024.7本章小結 1024.8關鍵術語 1044.8.1術語 1044.8.2指令、運算符和偽指令 1044.9復練 1044.9.1簡答題 1044.9.2算法基礎 1064.10編程練 107第5章過程 1085.1堆棧作 1085.1.1運行時堆棧(32位模式) 1085.1.2PUSH和POP指令 1105.1.3本節回顧 1125.2定義並使用過程 1125.2.1PROC偽指令 1125.2.2CALL和RET指令 1145.2.3過程調用嵌套 1155.2.4向過程傳遞寄存器參數 1165.2.5示例:整數數組求和 1165.2.6保存和恢復寄存器 1185.2.7本節回顧 1195.3鏈接到外部庫 1195.3.1背景知識 1195.3.2本節回顧 1205.4Irvine32鏈接庫 1205.4.1創建庫的動機 1205.4.2概述 1225.4.3過程詳細說明 1235.4.4庫測試程序 1335.4.5本節回顧 1395.564位彙編編程 1395.5.1Irvine64鏈接庫 1395.5.2調用64位子程序 1405.5.3x64調用規範 1405.5.4調用過程示例 1415.6本章小結 1425.7關鍵術語 1435.7.1術語 1435.7.2指令、運算符和偽指令 1435.8復練 1435.8.1簡答題 1435.8.2算法基礎 1465.9編程練 146第6章條件處理 1486.1條件分支 1486.2布爾和比較指令 1486.2.1CPU狀態標志 1496.2.2AND指令 1496.2.3OR指令 1506.2.4位映射集 1516.2.5XOR指令 1526.2.6NOT指令 1536.2.7TEST指令 1536.2.8CMP指令 1546.2.9置位和清除單個CPU標志位 1556.2.1064位模式下的布爾指令 1556.2.11本節回顧 1566.3條件跳轉 1566.3.1條件結構 1566.3.2Jcond指令 1566.3.3條件跳轉指令類型 1576.3.4條件跳轉應用 1596.3.5本節回顧 1636.4條件循環指令 1636.4.1LOOPZ和LOOPE指令 1636.4.2LOOPNZ和LOOPNE指令 1646.4.3本節回顧 1646.5條件結構 1646.5.1塊結構的IF語句 1656.5.2復合表達式 1676.5.3WHILE循環 1686.5.4表驅動選擇 1696.5.5本節回顧 1716.6應用:有限狀態機 1726.6.1驗證輸入字符串 1726.6.2驗證有符號整數 1726.6.3本節回顧 1766.7條件控制流偽指令 1766.7.1新建IF語句 1776.7.2有符號數和無符號數的比較 1786.7.3復合表達式 1796.7.4用.REPEAT和.WHILE創建循環 1816.8本章小結 1826.9關鍵術語 1836.9.1術語 1836.9.2指令、運算符和偽指令 1846.10復練 1846.10.1簡答題 1846.10.2算法基礎 1866.11編程練 1876.11.1測試代碼的建議 1876.11.2 188第7章整數運算 1917.1移位和循環移位指令 1917.1.1邏輯移位和算術移位 1917.1.2SHL指令 1927.1.3SHR指令 1937.1.4SAL和SAR指令 1937.1.5ROL指令 1947.1.6ROR指令 1957.1.7RCL和RCR指令 1957.1.8有符號數溢出 1967.1.9SHLD/SHRD指令 1967.1.10本節回顧 1987.2移位和循環移位的應用 1987.2.1多個雙字的移位 1987.2.2制乘法 1997.2.3顯示制位 2007.2.4提取文件日期字段 2007.2.5本節回顧 2017.3乘法和除法指令 2017.3.1MUL指令 2017.3.2IMUL指令 2037.3.3測量程序執行時間 2057.3.4DIV指令 2077.3.5有符號數除法 2087.3.6實現算術表達式 2117.3.7本節回顧 2127.4擴展加減法 2127.4.1ADC指令 2127.4.2擴展加法示例 2137.4.3SBB指令 2157.4.4本節回顧 2157.5ASCII和非壓縮制運算 2167.5.1AAA指令 2177.5.2AAS指令 2187.5.3AAM指令 2187.5.4AAD指令 2197.5.5本節回顧 2197.6壓縮制運算 2197.6.1DAA指令 2207.6.2DAS指令 2207.6.3本節回顧 2217.7本章小結 2217.8關鍵術語 2227.8.1術語 2227.8.2指令、運算符和偽指令 2227.9復練 2227.9.1簡答題 2227.9.2算法基礎 2247.10編程練 225第8章過程 2278.1引言 2278.2堆棧幀 2278.2.1堆棧參數 2278.2.2寄存器參數的缺點 2288.2.3訪問堆棧參數 2308.2.432位調用規範 2328.2.5局部變量 2338.2.6引用參數 2358.2.7LEA指令 2358.2.8ENTER和LEAVE指令 2368.2.9LOCAL偽指令 2388.2.10Microsoft x64調用規範 2398.2.11本節回顧 2398.3遞歸 2398.3.1遞歸求和 2408.3.2計算階乘 2418.3.3本節回顧 2468.4INVOKE、ADDR、PROC和PROTO 2468.4.1INVOKE偽指令 2468.4.2ADDR運算符 2478.4.3PROC偽指令 2478.4.4PROTO偽指令 2508.4.5參數類別 2538.4.6示例:交換兩個整數 2538.4.7調試提示 2548.4.8WriteStackFrame過程 2558.4.9本節回顧 2568.5新建多模塊程序 2568.5.1隱藏和導出過程名 2568.5.2調用外部過程 2578.5.3跨模塊使用變量和標號 2588.5.4示例:ArraySum程序 2598.5.5用Extern新建模塊 2598.5.6用INVOKE和PROTO新建模塊 2628.5.7本節回顧 2658.6參數的用法(可選主題) 2658.6.1受USES運算符影響的堆棧 2658.6.2向堆棧傳遞8位和16位參數 2668.6.3傳遞64位參數 2678.6.4非雙字局部變量 2688.7Java字節碼(可選主題) 2698.7.1Java虛擬機 2698.7.2指令集 2708.7.3Java反彙編示例 2718.7.4示例:條件分支 2738.8本章小結 2748.9關鍵術語 2758.9.1術語 2758.9.2指令、運算符和偽指令 2768.10復練 2768.10.1簡答題 2768.10.2算法基礎 2768.11編程練 277第9章字符串和數組 2799.1引言 2799.2字符串基本指令 2799.2.1MOVSB、MOVSW和MOVSD 2809.2.2CMPSB、CMPSW和CMPSD 2809.2.3SCASB、SCASW和SCASD 2819.2.4STOSB、STOSW和STOSD 2829.2.5LODSB、LODSW和LODSD 2829.2.6本節回顧 2829.3部分字符串過程 2839.3.1Str_compare過程 2839.3.2Str_length過程 2849.3.3Str_copy過程 2849.3.4Str_trim過程 2859.3.5Str_ucase過程 2879.3.6字符串庫演示程序 2889.3.7Irivne64庫中的字符串過程 2899.3.8本節回顧 2919.4二維數組 2919.4.1行列順序 2919.4.2基址–變址作數 2929.4.3基址–變址–偏移量作數 2949.4.464位模式下的基址–變址作數 2949.4.5本節回顧 2959.5整數數組的檢索和排序 2959.5.1冒泡排序 2959.5.2對半查找 2979.5.3本節回顧 3029.6Java字節碼:字符串處理(可選主題) 3029.7本章小結 3039.8關鍵術語和指令 3049.9復練 3049.9.1簡答題 3049.9.2算法基礎 3059.10編程練 305第10章結構和宏 30810.1結構 30810.1.1定義結構 30810.1.2聲明結構變量 30910.1.3引用結構變量 31010.1.4示例:顯示繫統時間 31310.1.5結構包含結構 31510.1.6示例:醉漢行走 31510.1.7聲明和使用聯合 31810.1.8本節回顧 32010.2宏 32010.2.1概述 32010.2.2定義宏 32110.2.3調用宏 32210.2.4其他宏特性 32310.2.5使用本書的宏庫(僅32位模式) 32610.2.6示例程序:封裝器 33210.2.7本節回顧 33310.3條件彙編偽指令 33310.3.1檢查缺失的參數 33310.3.2默認參數初始值設定 33410.3.3布爾表達式 33510.3.4IF、ELSE和ENDIF偽指令 33510.3.5IFIDN和IFIDNI偽指令 33610.3.6示例:矩陣行求和 33610.3.7特殊運算符 33910.3.8宏函數 34210.3.9本節回顧 34310.4定義重復語句塊 34410.4.1WHILE偽指令 34410.4.2REPEAT偽指令 34410.4.3FOR偽指令 34510.4.4FORC偽指令 34510.4.5示例:鏈表 34610.4.6本節回顧 34710.5本章小結 34810.6關鍵術語 34910.6.1術語 34910.6.2運算符和偽指令 34910.7復練 34910.7.1簡答題 34910.7.2算法基礎 35010.8編程練 351第11章MS-Windows編程 35411.1Win32控制臺編程 35411.1.1背景知識 35411.1.2Win32控制臺函數 35711.1.3顯示消息框 35911.1.4控制臺輸入 36111.1.5控制臺輸出 36611.1.6讀寫文件 36811.1.7Irvine32鏈接庫的文件I/O 37111.1.8測試文件I/O過程 37311.1.9控制臺窗口作 37511.1.10控制光標 37811.1.11控制文本顏色 37911.1.12時間與日期函數 38011.1.13使用64位Windows API 38311.1.14本節回顧 38411.2編寫圖形化的Windows應用程序 38411.2.1必要的結構 38511.2.2MessageBox函數 38611.2.3WinMain過程 38711.2.4WinProc過程 38711.2.5ErrorHandler過程 38811.2.6程序清單 38811.2.7本節回顧 39111.3動態內存分配 39111.3.1HeapTest程序 39411.3.2本節回顧 39711.4x86存儲管理 39711.4.1線性地址 39811.4.2頁轉換 40011.4.3本節回顧 40111.5本章小結 40211.6關鍵術語 40311.7復練 40311.7.1簡答題 40311.7.2算法基礎 40411.8編程練 404第12章浮點數處理與指令編碼 40612.1浮點數制表示 40612.1.1IEEE制浮點數表示 40612.1.2階碼 40712.1.3規格化制浮點數 40712.1.4新建IEEE表示 40812.1.5制小數轉換為制實數 40912.1.6本節回顧 41112.2 41112.2.1FPU寄存器棧 41112.2.2舍入 41312.2.3浮點數異常 41412.2.4浮點數指令集 41412.2.5算術運算指令 41612.2.6比較浮點數值 41912.2.7讀寫浮點數值 42212.2.8異常同步 42312.2.9代碼示例 42312.2.10混合模式運算 42512.2.11屏蔽與未屏蔽異常 42612.2.12本節回顧 42712.3x86指令編碼 42712.3.1指令格式 42712.3.2單字節指令 42812.3.3立即數送寄存器 42812.3.4寄存器模式指令 42912.3.5處理器作數大小前綴 42912.3.6內存模式指令 43012.3.7本節回顧 43212.4本章小結 43212.5關鍵術語 43312.6復練 43412.6.1簡答題 43412.6.2算法基礎 43412.7編程練 435第13章語言接口 43813.1引言 43813.1.1通用規範 43813.1.2.MODEL偽指令 43913.1.3檢查編譯器生成的代碼 44113.1.4本節回顧 44413.2內嵌彙編代碼 44413.2.1Visual C 中的__asm偽指令 44413.2.2文件加密示例 44713.2.3本節回顧 44913.332位彙編程序與C/C 的鏈接 44913.3.1IndexOf示例 45013.3.2調用C和C 函數 45313.3.3乘法表示例 45413.3.4調用C庫函數 45713.3.5目錄表程序 45913.3.6本節回顧 46113.4本章小結 46113.5關鍵術語 46213.6復 46213.7編程練 462附錄AMASM參考知識 464附錄Bx86指令集 483附錄C“本節回顧”問題答案 510索引 527 |
" | | | | | |