Assembly language step-by-step:programming with Linux

副标题:无

作   者:(美)Jeff Duntemann著;梁晓晖译

分类号:

ISBN:9787302345923

微信扫一扫,移动浏览光盘

简介

《汇编语言——基于Linux环境(第3版)》由达特曼(Jeff Duntemann)著,作为畅销书的新版本,在保持上一版精华内容的同时,本书进行了大量修订。全书从相关软件基础(如计算机数制系统),到软件编码思想(如利用过程和宏解决程序的复杂性),以及后续扩展(如C库函数调用)等方面,对Linux下汇编语言编程等进行了全方位的介绍,为学习者尤其是初学者奠定了坚实、广泛的基础。

目录

第1章又一个令人愉快的星期六
1.1一切尽在计划之中
1.1.1步骤和测试
1.1.2不止两种方式
1.1.3计算机像我们一样思考
1.2如果这是真实情况
1.3此路不通,请绕行
1.3.1BigBux游戏
1.3.2玩BigBux游戏
1.4像棋盘游戏一样的汇编语言编程
1.4.1代码和数据
1.4.2地址
1.4.3隐喻,将军
第2章外星基数
2.1新数学怪物归来
2.2在火星上计数
2.2.1火星数字剖析
2.2.2数字基数的本质
2.3八进制:绿色精怪怎样偷走8和9的
2.4十六进制:解决数字的短缺
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.7.1二进制值
2.7.2为什么使用二进制
2.8二进制简写方式:十六进制
第3章摘下面具
3.1RAXie,我们怎么不认识你
3.2开关、晶体管和存储器
3.2.1如果走陆路,就是
3.2.2晶体管开关
3.2.3难以置信的位缩水
3.2.4随机访问
3.2.5存储器访问时间
3.2.6字节,字,双字,四字
3.2.7精致的芯片排成一行
3.2.8车间工长和流水线
3.2.9对话内存
3.2.10驾驭数据总线
3.2.11车间工长的口袋
3.2.12流水线
3.3遵循计划行事的盒子
3.3.1取指和执行
3.3.2车间工长的内脏
3.3.3改变航向
3.4是什么vs.怎么做:体系结构和微体系结构
3.4.1体系结构的演变
3.4.2地下室里的秘密机制
3.5工厂经理
3.5.1操作系统:角落办公室
3.5.2BIOS:是软件,但并不软
3.5.3多任务魔术
3.5.4内核提升
3.5.5内核爆炸
3.5.6计划
第4章位置,位置,位置
4.1内存模式的乐趣
4.1.116位将带来64K存储空间
4.1.2兆字节的本质
4.1.3向后兼容和虚拟86模式
4.1.416位眼罩
4.2段的本质
4.2.1一个界限,而非一个位置
4.2.2用两个16位寄存器构成20位地址
4.316位和32位寄存器
4.3.1通用寄存器
4.3.2半寄存器
4.3.3指令指针寄存器
4.3.4标志寄存器
4.4三种主要的汇编编程模型
4.4.1实模式平面模型
4.4.2实模式段模型
4.4.3保护模式平面模型
4.5保护模式下不再允许我们做的事情
4.5.1内存映射视频系统
4.5.2直接访问端口硬件
4.5.3直接调用BIOS
4.6展望未来:64位“长模式”
第5章汇编的权利
5.1文件及其包含的内容
5.1.1二进制文件vs.文本文件
5.1.2用Bless编辑器查看文件内容
5.1.3解释原始数据
5.1.4“字节序”
5.2文本进去,代码出来
5.2.1汇编语言
5.2.2注释
5.2.3当心“只写”源代码
5.2.4目标代码和连接器
5.2.5重定位能力
5.3汇编语言开发过程
5.3.1工作目录规范
5.3.2编辑源代码文件
5.3.3编译源代码文件
5.3.4汇编错误
5.3.5回到编辑器
5.3.6汇编警告
5.3.7连接目标代码文件
5.3.8连接错误
5.3.9测试.EXE文件
5.3.10错误vs.漏洞
5.3.11我们还在那里吗
5.3.12调试器和调试
5.4沿着汇编小路旅行
5.4.1安装软件
5.4.2第1步:在编辑器中编辑程序
5.4.3第2步:使用NASM编译程序
5.4.4第3步:使用LD连接器
5.4.5第4步:测试可执行文件
5.4.6第5步:在调试器中观察程序运行
5.4.7准备好要来真格的了吗
第6章有地儿,有工具
6.1Kate编辑器
6.1.1安装Kate编辑器
6.1.2启动Kate
6.1.3配置
6.1.4Kate会话
6.1.5Kate编辑器的文件管理
6.1.6向工具栏添加菜单项
6.1.7Kate编辑器的编辑控制
6.1.8编程期间使用Kate编辑器
6.2Linux和终端
6.2.1Linux控制台
6.2.2Konsole中的字符编码
6.2.3三个标准Unix文件
6.2.4110重定向
6.2.5简易文本过滤器
6.2.6使用转义序列进行终端控制
6.2.7为什么不用汇编语言编写GUI应用程序呢
6.3使用LinuxMake
6.3.1依赖条件
6.3.2文件何时最新
6.3.3依赖链
6.3.4从Kate编辑器内部
调用Make实用工具
6.3.5使用touch命令强制执行生成操作
6.4Insight调试器
6.4.1运行Insight
6.4.2Insight的众多窗口
6.4.3快速体验Insight
6.4.4拿起你的工具
第7章跟踪指令
7.1为自己建立一个沙盒
7.1.1一个最小的NASM程序
7.1.2指令及其操作数
7.1.3源操作数和目标操作数
7.1.4立即数
7.1.5寄存器数据
7.1.6内存数据
7.1.7混淆数据和它的地址
7.1.8内存数据的尺寸
7.1.9糟糕的过去
7.2CPU的标志位
7.2.1标志规范
7.2.2使用INC指令和DEC指令加1和减1
7.2.3从Insight中观察标志
7.2.4标志如何改变程序的执行
7.3有符号值和无符号值
7.3.1补码和NEG
7.3.2符号扩展和MOVSX
7.4隐式操作数和Mul
7.4.1MUL和进位标志
7.4.2使用DIV实现无符号除法
7.4.3x86中的“慢动作”指令
7.5阅读和使用汇编语言参考资料
7.5.1对于复杂记忆的唤醒文件
7.5.2初学者汇编语言参考指南
7.5.3标志
7.6NEG:求补(求补码:即,与—1相乘)
7.6.1合法形式
7.6.2操作数符号
7.6.3示例
7.6.4注解
7.6.5这里没有包含的内容
第8章我们的崇高目标
8.1汇编语言程序的基本框架
8.1.1最开始处的注释块
8.1.2.data段
8.1.3.bss段
8.1.4.text段
8.1.5标号
8.1.6已初始化变量
8.1.7字符串变量
8.1.8通过EQU和$推导字符串的长度
8.2通过堆栈实现后进先出
8.2.1每小时500个盘子
8.2.2堆栈的内容上下颠倒
8.2.3Push—y指令
8.2.4POP指令
8.2.5临时存储
8.3通过INT80使用Linux内核服务
8.3.1不中断任何事情的中断
8.3.2再次返回
8.3.3通过使用INT80h退出一个程序
8.3.4软件中断VS硬件中断
8.3.5INT80h和可移植性盲目崇拜
8.4设计一个有价值的程序
8.4.1问题定义
8.4.2从伪代码开始
8.4.3连续改进
8.4.4不可避免的“哎呀!”时刻
8.4.5扫描缓冲区
8.4.6缓冲溢出(“OffByOne”)错误
8.4.7进一步学习
……
第9章位、标志、分支和表
第10章分治
第11章字符串奏鸣曲
第12章C语言
结论:不是结束,而是刚刚开始
附录A部分x86指令集
附录B字符集图

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Assembly language step-by-step:programming with Linux
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon