• 汇编语言
21年品牌 40万+商家 超1.5亿件商品

汇编语言

74.3 7.5折 99 全新

库存4件

四川成都
认证卖家担保交易快速发货售后保障

作者(美)基普·欧文(Kip Irvine) 著;贺莲,龚奕利 译

出版社机械工业出版社

ISBN9787111530367

出版时间2016-04

装帧平装

开本16开

定价99元

货号1201271463

上书时间2024-06-29

聚合博文书店

十年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
基普·欧文(Kip I rvine),佛罗里达靠前大学不错讲师,教授计算机相关的课程。著有多本编程教材,被翻译成多国语言,涵盖的主题如汇编语言、C++、Visual Basic~IEICOBOL。

目录
出版者的话
译者序
前言
章基本概念1
1.1欢迎来到汇编语言的世界1
1.1.1读者可能会问的问题2
1.1.2汇编语言的应用4
1.1.3本节回顾5
1.2虚拟机概念5
1.3数据表示7
1.3.1二进制整数7
1.3.2二进制加法8
1.3.3整数存储大小9
1.3.4十六进制整数10
1.3.5十六进制加法11
1.3.6有符号二进制整数12
1.3.7二进制减法13
1.3.8字符存储14
1.3.9本节回顾15
1.4布尔表达式16
1.4.1布尔函数真值表18
1.4.2本节回顾18
1.5本章小结19
1.6关键术语19
1.7复习题和练习20
1.7.1简答题20
1.7.2算法基础21
第2章x86处理器架构23
2.1一般概念23
2.1.1基本微机设计23
2.1.2指令执行周期24
2.1.3读取内存25
2.1.4加载并执行程序26
2.1.5本节回顾26
2.232位x86处理器27
2.2.1操作模式27
2.2.2基本执行环境27
2.2.3x86内存管理30
2.2.4本节回顾30
2.364位x86—64处理器30
2.3.164位操作模式31
2.3.2基本64位执行环境31
2.4典型x86计算机组件32
2.4.1主板32
2.4.2内存34
2.4.3本节回顾34
2.5输入输出系统34
2.5.1I/O访问层次34
2.5.2本节回顾36
2.6本章小结36
2.7关键术语37
2.8复习题38
第3章汇编语言基础39
3.1基本语言元素39
3.1.1个汇编语言程序39
3.1.2整数常量40
3.1.3整型常量表达式41
3.1.4实数常量41
3.1.5字符常量42
3.1.6字符串常量42
3.1.7保留字42
3.1.8标识符43
3.1.9伪指令43
3.1.10指令44
3.1.11本节回顾46
3.2示例:整数加减法46
3.2.1AddTwo程序46
3.2.2运行和调试AddTwo程序48
3.2.3程序模板52
3.2.4本节回顾52
3.3汇编、链接和运行程序53
3.3.1汇编–链接–执行周期53
3.3.2列表文件53
3.3.3本节回顾55
3.4定义数据55
3.4.1内部数据类型55
3.4.2数据定义语句55
3.4.3向AddTwo程序添加一个变量56
3.4.4定义BYTE和SBYTE数据57
3.4.5定义WORD和SWORD数据59
3.4.6定义DWORD和SDWORD数据59
3.4.7定义QWORD数据60
3.4.8定义压缩BCD(TBYTE)数据60
3.4.9定义浮点类型61
3.4.10变量加法程序61
3.4.11小端顺序62
3.4.12声明未初始化数据62
3.4.13本节回顾63
3.5符号常量63
3.5.1等号伪指令63
3.5.2计算数组和字符串的大小64
3.5.3EQU伪指令65
3.5.4TEXTEQU伪指令66
3.5.5本节回顾66
3.664位编程67
3.7本章小结68
3.8关键术语69
3.8.1术语69
3.8.2指令、运算符和伪指令70
3.9复习题和练习70
3.9.1简答题70
3.9.2算法基础71
3.10编程练习71
第4章数据传送、寻址和算术运算73
4.1数据传送指令73
4.1.1引言73
4.1.2操作数类型73
4.1.3直接内存操作数74
4.1.4MOV指令75
4.1.5整数的全零/符号扩展76
4.1.6LAHF和SAHF指令77
4.1.7XCHG指令78
4.1.8直接–偏移量操作数78
4.1.9示例程序(Moves)79
4.1.10本节回顾80
4.2加法和减法81
4.2.1INC和DEC指令81
4.2.2ADD指令81
4.2.3SUB指令81
4.2.4NEG指令82
4.2.5执行算术表达式82
4.2.6加减法影响的标志位82
4.2.7示例程序(AddSubTest)85
4.2.8本节回顾86
4.3与数据相关的运算符和伪指令87
4.3.1OFFSET运算符87
4.3.2ALIGN伪指令88
4.3.3PTR运算符88
4.3.4TYPE运算符89
4.3.5LENGTHOF运算符89
4.3.6SIZEOF运算符90
4.3.7LABEL伪指令90
4.3.8本节回顾90
4.4间接寻址91
4.4.1间接操作数91
4.4.2数组91
4.4.3变址操作数92
4.4.4指针93
4.4.5本节回顾95
4.5JMP和LOOP指令95
4.5.1JMP指令96
4.5.2LOOP指令96
4.5.3在VisualStudio调试器中显示数组97
4.5.4整数数组求和98
4.5.5复制字符串98
4.5.6本节回顾99
4.664位编程99
4.6.1MOV指令99
4.6.264位的SumArray程序100
4.6.3加法和减法101
4.6.4本节回顾102
4.7本章小结102
4.8关键术语104
4.8.1术语104
4.8.2指令、运算符和伪指令104
4.9复习题和练习104
4.9.1简答题104
4.9.2算法基础106
4.10编程练习107
第5章过程108
5.1堆栈操作108
5.1.1运行时堆栈(32位模式)108
5.1.2PUSH和POP指令110
5.1.3本节回顾112
5.2定义并使用过程112
5.2.1PROC伪指令112
5.2.2CALL和RET指令114
5.2.3过程调用嵌套115
5.2.4向过程传递寄存器参数116
5.2.5示例:整数数组求和116
5.2.6保存和恢复寄存器118
5.2.7本节回顾119
5.3链接到外部库119
5.3.1背景知识119
5.3.2本节回顾120
5.4Irvine32链接库120
5.4.1创建库的动机120
5.4.2概述122
5.4.3过程详细说明123
5.4.4库测试程序133
5.4.5本节回顾139
5.564位汇编编程139
5.5.1Irvine64链接库139
5.5.2调用64位子程序140
5.5.3x64调用规范140
5.5.4调用过程示例141
5.6本章小结142
5.7关键术语143
5.7.1术语143
5.7.2指令、运算符和伪指令143
5.8复习题和练习143
5.8.1简答题143
5.8.2算法基础146
5.9编程练习146
第6章条件处理148
6.1条件分支148
6.2布尔和比较指令148
6.2.1CPU状态标志149
6.2.2AND指令149
6.2.3OR指令150
6.2.4位映射集151
6.2.5XOR指令152
6.2.6NOT指令153
6.2.7TEST指令153
6.2.8CMP指令154
6.2.9置位和清除单个CPU标志位155
6.2.1064位模式下的布尔指令155
6.2.11本节回顾156
6.3条件跳转156
6.3.1条件结构156
6.3.2Jcond指令156
6.3.3条件跳转指令类型157
6.3.4条件跳转应用159
6.3.5本节回顾163
6.4条件循环指令163
6.4.1LOOPZ和LOOPE指令163
6.4.2LOOPNZ和LOOPNE指令164
6.4.3本节回顾164
6.5条件结构164
6.5.1块结构的IF语句165
6.5.2复合表达式167
6.5.3WHILE循环168
6.5.4表驱动选择169
6.5.5本节回顾171
6.6应用:有限状态机172
6.6.1验证输入字符串172
6.6.2验证有符号整数172
6.6.3本节回顾176
6.7条件控制流伪指令176
6.7.1新建IF语句177
6.7.2有符号数和无符号数的比较178
6.7.3复合表达式179
6.7.4用.REPEAT和.WHILE创建循环181
6.8本章小结182
6.9关键术语183
6.9.1术语183
6.9.2指令、运算符和伪指令184
6.10复习题和练习184
6.10.1简答题184
6.10.2算法基础186
6.11编程练习187
6.11.1测试代码的建议187
6.11.2习题188
第7章整数运算191
7.1移位和循环移位指令191
7.1.1逻辑移位和算术移位191
7.1.2SHL指令192
7.1.3SHR指令193
7.1.4SAL和SAR指令193
7.1.5ROL指令194
7.1.6ROR指令195
7.1.7RCL和RCR指令195
7.1.8有符号数溢出196
7.1.9SHLD/SHRD指令196
7.1.10本节回顾198
7.2移位和循环移位的应用198
7.2.1多个双字的移位198
7.2.2二进制乘法199
7.2.3显示二进制位200
7.2.4提取文件日期字段200
7.2.5本节回顾201
7.3乘法和除法指令201
7.3.1MUL指令201
7.3.2IMUL指令203
7.3.3测量程序执行时间205
7.3.4DIV指令207
7.3.5有符号数除法208
7.3.6实现算术表达式211
7.3.7本节回顾212
7.4扩展加减法212
7.4.1ADC指令212
7.4.2扩展加法示例213
7.4.3SBB指令215
7.4.4本节回顾215
7.5ASCII和非压缩十进制运算216
7.5.1AAA指令217
7.5.2AAS指令218
7.5.3AAM指令218
7.5.4AAD指令219
7.5.5本节回顾219
7.6压缩十进制运算219
7.6.1DAA指令220
7.6.2DAS指令220
7.6.3本节回顾221
7.7本章小结221
7.8关键术语222
7.8.1术语222
7.8.2指令、运算符和伪指令222
7.9复习题和练习222
7.9.1简答题222
7.9.2算法基础224
7.10编程练习225
第8章不错过程227
8.1引言227
8.2堆栈帧227
8.2.1堆栈参数227
8.2.2寄存器参数的缺点228
8.2.3访问堆栈参数230
8.2.432位调用规范232
8.2.5局部变量233
8.2.6引用参数235
8.2.7LEA指令235
8.2.8ENTER和LEAVE指令236
8.2.9LOCAL伪指令238
8.2.10Microsoftx64调用规范239
8.2.11本节回顾239
8.3递归239
8.3.1递归求和240
8.3.2计算阶乘241
8.3.3本节回顾246
8.4INVOKE、ADDR、PROC和PROTO246
8.4.1INVOKE伪指令246
8.4.2ADDR运算符247
8.4.3PROC伪指令247
8.4.4PROTO伪指令250
8.4.5参数类别253
8.4.6示例:交换两个整数253
8.4.7调试提示254
8.4.8WriteStackFrame过程255
8.4.9本节回顾256
8.5新建多模块程序256
8.5.1隐藏和导出过程名256
8.5.2调用外部过程257
8.5.3跨模块使用变量和标号258
8.5.4示例:ArraySum程序259
8.5.5用Extern新建模块259
8.5.6用INVOKE和PROTO新建模块262
8.5.7本节回顾265
8.6参数的不错用法(可选主题)265
8.6.1受USES运算符影响的堆栈265
8.6.2向堆栈传递8位和16位参数266
8.6.3传递64位参数267
8.6.4非双字局部变量268
8.7Java字节码(可选主题)269
8.7.1Java虚拟机269
8.7.2指令集270
8.7.3Java反汇编示例271
8.7.4示例:条件分支273
8.8本章小结274
8.9关键术语275
8.9.1术语275
8.9.2指令、运算符和伪指令276
8.10复习题和练习276
8.10.1简答题276
8.10.2算法基础276
8.11编程练习277
……
第9章字符串和数组279
0章结构和宏308
1章MS—Windows编程354
2章浮点数处理与指令编码406
3章不错语言接口438
附录AMASM参考知识464
附录Bx86指令集483
附录C“本节回顾”问题答案510
索引527

内容摘要
本书是汇编语言课程的经典教材,系统介绍x86和Intel64处理器的汇编语言编程和架构。前9章为汇编语言的核心概念,包括:汇编语言基础,x86处理器架构,数据传送、寻址和算术运算,过程,条件处理,整数运算,不错过程,以及字符串和数组。本书为原书第7版,增加了部分实例程序的讨论,补充了更多的复习题和关键术语,介绍了64位编程;还有配套的网上资料,提供完整的程序清单、复习题答案和编程练习的解决方案。

精彩内容
前    言Assembly Language for x86 Processors, Seventh Edition本书介绍x86和Intel64处理器的汇编语言编程与架构,适合作为下述几类大学课程的教材:
    汇编语言编程计算机系统基础计算机体系结构基础学生使用Intel或AMD处理器,用Microsoft宏汇编器(Microsoft Macro Assembler,MASM)编程,MASM运行在Microsoft Windows最新的版本上。尽管本书的初衷是作为大学生的编程教材,但它也是计算机体系结构课程的有效补充。本书广受欢迎,前几个版本已被翻译为多种语言。
    重点主题  本版所含主题可以自然过渡到讲述计算机体系结构、操作系统和编写编译器的后续课程:
    虚拟机概念指令集架构基本布尔运算指令执行周期内存访问和握手中断和轮询基于硬件的I/O浮点数二进制表示其他主题则专门针对x86和Intel64架构:
    受保护的内存和分页实地址模式的内存分段16位中断处理MS-DOS和BIOS系统调用(中断)浮点单元架构和编程指令编码本书中的某些例子还可以用于计算机科学课程体系中的后续课程:
    搜索与排序算法不错语言结构有限状态机代码优化示例第7版的新内容这一版增加了对程序示例的讨论,添加了更多的复习题和关键术语,介绍了64位编程,降低了对子程序库的依赖性。具体内容如下:
    本版前面的几章现在包含了以64位CPU架构和编程为主的小节,并且还创建了子程序库的64位版本Irvine64。
    修改、替换了很多复习题和练习,部分题目从章节内移动到该章末尾,且习题分为两部分:简答题和算法基础练习。后者要求学生编写一小段代码实现一个目标。
    每章有一节为关键术语,列出了新的术语和概念,以及新的MASM伪指令和Intel指令。
    添加了新的编程练习,删除了一些旧习题,并对一些现有的练习进行了修改。
    本书对作者子程序库的依赖性大大减低。鼓励学生自己调用系统函数,并使用Visual Studio调试器单步执行程序。Irvine32和Irvine64链接库可以帮助学生处理输入/输出,但是不强制要求使用它们。
    作者录制的新视频教程涵盖了本书的基本内容,并已添加到Pearson网站。
    本书仍然关注其首要目标,即教授学生编写并调试机器级程序。它不能代替计算机体系结构的完整教材,但它确实在告诉学生计算机工作原理的基础上,给出了编写软件的手经验。我们认为,理论联系实际能让学生更好地掌握知识。在工程课程中,学生构建原型;在计算机体系结构课程中,学生应编写机器级程序。在这些课程里,学生都能获得难忘的经验,从而有信心在任何OS/面向机器的环境中工作。
    保护模式编程是纸版章节(章~3章)的重中之重。因此,学生需要在最新版本的Microsoft Windows环境下创建并运行32位和64位程序。其他4章是电子版,讲述16位编程。这些章包含了BIOS编程、MS-DOS服务、键盘和鼠标输入、视频编程和图形图像内容。其中一章为磁盘存储基础,还有一章为不错DOS编程技术。
    子程序库  本书为学生提供了三个版本的子程序库,用于基本输入/输出、模拟、计时和其他有用的任务。Irvine32和Irvine64链接库运行于保护模式。16位版本的链接库(Irvine16.lib)运行于实地址模式,且只用于4章~7章。这些库的完整源代码见于配套的网站。链接库是为了使用方便,而不是为了阻止学生学习如何自行对输入–输出编程。鼓励学生创建自己的链接库。
    所含软件与示例  所有示例程序均在Microsoft Visual Studio 2012下,用Microsoft Macro Assembler Version 11.0进行了验证。此外,还提供了批处理文件允许学生用Windows命令行汇编和运行应用程序。4章中的32位C++应用程序已用Microsoft Visual C++ .NET测试。本书的内容更新与勘误参见配套的网站,其中包括了一些额外的编程项目,老师可以在章节结束的时候布置给学生。
    总体目标本书的以下目标旨在提高学生对汇编语言相关知识的兴趣并拓展知识面:
    Intel和AMD处理器架构与编程;实地址模式和保护模式编程;汇编语言伪指令、宏、运算符与程序结构;编程方法,展示了如何用汇编语言创建系统级软件工具和应用程序;计算机硬件操作;汇编语言程序、操作系统和其他应用程序之间的交互作用。
    本书的目标之一是帮助学生以机器级的思维方式来处理编程问题。将CPU视为交互工具,学习尽可能直接地监控其操作是很重要的。调试器是程序员最好的朋友,不仅可以捕捉错误,还可以用作学习CPU和操作系统的教学工具。我们鼓励学生探查不错语言的内部机制,并能意识到大多数编程语言都被设计为可移植的,因此,也独立于其运行的主机。除了短小的示例外,本书还有几百个可运行的程序来演示书中讲述的指令和思想。本书结尾有参考资料,包括MS-DOS中断和指令助记符指南。
    背景知识  读者应至少能熟练使用一种不错语言进行编程,比如Python、Java、C或C++。本书有一章涉及C++接口,因此,如果手边有编译器将会非常有帮助。本书不仅已经用于计算机科学和管理信息系统专业课堂,而且还用于其他工程课程。
    特点完整的程序清单  配套的网站包含了补充资料、学习指南,以及本书全部示例的源代码。本书还提供了丰富的链接库,其中包括30多个过程,可以简化用户输入–输出、数字处理、磁盘和文件处理,以及字符串处理。课程初期,学生可以用这个链接库来改进自己编写的程序。之后,学生可以自行编写过程并将它们添加到链接库中。
    编程逻辑  

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP