书评第002篇:《汇编语言(第3版)》

claireyuancy claireyuancy     2022-09-04     164

关键词:

本书基本信息

作者:王爽(著)

出版社:清华大学出版社

出版时间:2013-9-1

ISBN:9787302333142

版次:3

页数:337

字数:527000

印刷时间:2013-9-1

开本:16开

纸张:胶版纸

印次:1

包装:平装

定价:36.00元

 

书籍封面

技术分享

 

内容简单介绍

        汇编语言是各种CPU提供的机器指令的助记符的集合,人们能够用汇编语言直接控制硬件系统进行工作。汇编语言是非常多相关课程(如数据结构、操作系统、微机原理等)的重要基础。为了更好地引导、帮助读者学习汇编语言。作者以循序渐进的思想精心创作了这本书。

        《汇编语言(第3版)》具有例如以下特点:採用了全新的结构对课程的内容进行组织,对知识进行最小化切割。为读者构造了循序渐进的学习线索。在深入本质的层面上对汇编语言进行解说;对关键环节进行深入的剖析。

        《汇编语言(第3版)》可用作大学计算机专业本科生的汇编教材及希望深入学习计算机科学的读者的自学教材。

 

前置知识

        C语言。

 

我的点评

        不管是对于反病毒project师还是逆向分析爱好者来说,汇编都是他们必学的知识,能够说汇编是一切逆向研究的根本。

不管是使用OllyDbg还是IDA Pro,又或者是其他的一些反汇编工具,我们进行逆向分析的时候。是仅仅能查看目标程序的汇编代码的。通过分析其汇编代码。来猜測程序的执行机理。因此从这个角度来说。想研究逆向,就一定要精通汇编。

        我相信。在非常多没有学过汇编的人看来,汇编虽说不是什么“高大上”的东西,但也是显得十分地神奇,似乎非常地高深。从而在学习之前,就望而却步。我起初也是这样觉得的,毕竟我本科是市场营销出身,学汇编之前,也只具有C语言的二级水平。但是当我学完了这本书之后,却对汇编大为改观。由于这本书将看似深奥的汇编解说得非常浅显易懂,配合每一章节后面的练习题,会使读者非常easy就进入汇编的世界。

书后的习题有难有易,非常多习题都是非常值得思考,相信每一位认真学完书中内容。而且认真做出书后习题的读者,都会收获颇丰。

        不可否认的是,书中的内容非常多都已过时。比方某些程序是仅仅能在低级别的操作系统中才干实现的。并且书中内容基本上是基于16位的系统,显然与如今普遍的64位系统有些格格不入。

由于这些问题的存在,使得不少人对这本书持否定的态度,这也能理解,毕竟萝卜白菜各有所爱,一本书不可能迎合全部人的胃口。

因此。我在这里仅仅想从作为读者的我们到底在学完本书后想达成什么目的来讨论一下。

        首先,我是研究软件的,对于那些研究硬件的project师们须要将汇编掌握到什么程度,我不清楚。因此不做讨论。非常多人都说汇编没用,现在应该学习高层次的编程语言,对此我是允许的。我在本文开篇也说了,眼下学习汇编不过为了可以在逆向工作中读懂反汇编代码,或者在漏洞挖掘技术中编写ShellCode。或者有些高手就喜欢将汇编代码嵌入自己的程序。来提高程序的执行效率……这是我可以想到的眼下汇编的应用。假设说读者是想达到这几个目的。那么王爽教授的这本书。是全然足够将你引入汇编的世界的。可是无论哪一行,都是“师傅领进门,修行在个人”。基础知识的学习不过为了以后学习更加高深的技术打下基础。

我也觉得。研究完这本书之后,那么再学习汇编的其他方面的技术,即便是32位或者64位。都会游刃有余。从容不迫。

        最后。对于本书。我是强力推荐的,也请大家支持正版书籍。


菜鸟学linux第002篇笔记linux简单介绍

Linux的基本原则: 1、由目的单一的小程序组成:组合小程序完成复杂任务; 2、一切皆文件; 3、尽量避免捕获用户接口(尽量不和用户交互); 4、配置文件保存为纯文本格式;Linux和用户的交互接口 GUI接口:GraphicUserInterface CL... 查看详情

乞丐版servlet容器第3篇

4EventListener接口让我们继续看SocketConnector中的acceptConnect方法:@OverrideprotectedvoidacceptConnect()throwsConnectorException{newThread(()->{while(true&&started){Socketsocket=null;try{socket=serverS 查看详情

深度学习·理论篇(2023版)·第002篇深度学习和计算机视觉中的基础数学知识01:线性变换的定义+基于角度的线性变换案例(坐标变换)+点积和投影+矩阵乘法的几何意义+图形化精讲

查看详情

java语言程序设计(基础篇)第10版13.4

importjava.util.*;publicclassExercise13_04{ publicstaticvoidmain(String[]args){  Scannerinput=newScanner(System.in);  System.out.println("输入月份和年份:");  PrintCalendarY 查看详情

java语言程序设计(基础篇)第10版课后习题13.1答案

importjava.util.*;abstractclassGeometricObject{  privateStringcolor; private booleanfilled; publicStringgetColor(){  returncolor; } publicvoidsetColor(Stri 查看详情

汇编语言(第3版)王爽第八章学习内容

只要在[]中使用寄存器bp,而指令中没有显性地给出段地址,段地址就默认在ss中。movax,[bp]含义:(ax)=((ss)*16+(bp))movax,[bp+idata]含义:(ax)=((ss)*16+(bp)+idata)movax,[bp+si]含义:(ax)=((ss)*16+(bp)+(si))movax,[bp+si+idata]含义:(ax)=((ss)*16+(si)+ida 查看详情

汇编语言王爽第四版实验3(代码片段)

汇编语言王爽第四版课后检测点课后实验持续更新~~实验3要求:将下面的程序保存为t1.asm文件,将其生成可执行文件t1.exeassumecs:codesegcodesegsegmentmovax,2000Hmovss,axmovsp,0addsp,4popaxpopbxpushaxpushbxpopaxpopbxmovax,4c00Hint21hcodesegendsend使用debug跟踪t1 查看详情

汇编语言王爽第四版课后检测点课后实验包括解释持续更新~~

...汇编的,找到实习之后再写吧,不好意思了)官方论坛监测点汇编语言王爽第四版第一章检测点1.1汇编语言王爽第四版第二章检测点2.1汇编语言王爽第四版第二章检测点2.2汇编语言王爽第四版第二章检测点2.3汇编语言王爽第四版第三... 查看详情

汇编语言(第3版)王爽问题7.9代码

assumecs:codesg,ss:stacksg,ds:datasgstacksgsegmentdw0,0,0,0,0,0,0,0stacksgendsdatasgsegmentdb‘1.display‘db‘2.brows‘db‘3.replace‘db‘4.modify‘datasgendscodesgsegmentstart:movax,datasgmovds,axmovax,stack 查看详情

挑战程序设计竞赛(第2版)的目录

... 7  1.3.1 本书所涉及的内容 7  1.3.2 所用的编程语言 7  1.3.3 题目描述的处理 7  1.3.4 程序结构 7  1.3.5 练习题 8  1.3.6 读透本书后更上一层楼的练习方法 8  1.4 如何提交解答 9  1.4.1 poj的... 查看详情

java语言程序设计(第3版)沈泽刚主编第10,11,12章课后习题答案(代码片段)

Java语言程序设计(第3版)沈泽刚主编第10,11,12章课后习题答案第10章接口和Lambda表达式10.1定义Duck类实现Swimmable接口和flyable接口。interfaceSwimmablepublicvoidswim();interfaceflyablepublicvoidfly();publicclassDuckimplementsSwi 查看详情

java语言程序设计(第3版)沈泽刚主编第4章课后习题答案(代码片段)

Java语言程序设计(第3版)沈泽刚主编第4章课后习题答案第四章类和对象4.1定义一个名为Person的类,编写程序,实现定义的Person类,实现数据的访问与修改。publicclassPersonStringname;intage;publicvoidsetName(Stringname)this.name=name... 查看详情

汇编语言王爽第四版课后检测点课后实验包括解释持续更新~~

...课后实验持续更新~~,尽量在半年内更新完官方论坛监测点汇编语言王爽第四版第一章检测点1.1汇编语言王爽第四版第二章检测点2.1汇编语言王爽第四版第二章检测点2.2汇编语言王爽第四版第二章检测点2.3汇编语言王爽第四版第三... 查看详情

c语言学习002:第一个完整的c程序代码

#include<stdio.h>//引用相关的外部库,stdio.h包含了终端读写数据的代码//程序入口,程序通过main函数的返回值判断程序是否运行成功,0表示成功,非0表示程序运行时除了问题//早期的ANSIC标准中main的返回值可以是void类型,但... 查看详情

java语言程序设计(第3版)沈泽刚主编第6,7,8章课后习题答案(代码片段)

Java语言程序设计(第3版)沈泽刚主编第6,7,8章课后习题答案第6章字符串6.1编写程序,提示用户输入一个字符串,显示它的长度,第一个字符和最后一个字符。importjava.util.Scanner;publicclassStringDemopublicstaticvoidmain(... 查看详情

统计自然语言处理(第2版)目录(代码片段)

第1章绪论1.1基本概念1.1.1语言学与语音学1.1.2自然语言处理1.1.3关于“理解”的标准1.2自然语言处理研究的内容和面临的困难1.2.1自然语言处理研究的内容1.2.2自然语言处理涉及的几个层次1.2.3自然语言处理面临的困难1.3自然语言... 查看详情

002-qt&vtk-第一个vtkqt程序(代码片段)

...xff0c;如果觉得不错,请点赞搜藏哈。文章目录Qt&Vtk第一个VtkQt程序1程序运行效果2配置2.1配置环境变量3新建Qt工程3.1建立QtWidgetsApplication工程3.2完成Pro文件基本配置3.3写测试代码3.4运行测试4源码Qt&Vtk第一个VtkQt程序本文... 查看详情

电子商务概论(第3版)(配光盘)邵兵家课后答案(代码片段)

邵兵家电子商务概论(第3版)(配光盘)习题答案?本书借鉴国外同类教材的经验,以商务活动的发展为起点分析电子商务产生的经济原因;以网络信息技术所提供的功能为依据介绍电子商务产生的技术基础;通过案例分析介绍电... 查看详情