Intel汇编语言程序设计(第四版) 勘误

深入理解Intel汇编语言程序设计(第四版) 本文还有配套的精品资源,点击获取 简介:本书是汇编语言编程领域的一本权威指南,专注于x86架构的汇编语言。它详细介绍了汇编的基础知识,包括二进制、十六进制、ASCII码、CPU寄存器和指令集。书中讲解了指令系统、程序结构、内存管理、高级主题以及汇编与高级语言的交互,并提供实例和练习,以帮助读者深化理解和实践汇编语言编程。 1. 汇编语言基础知识介绍 1.1 ... 阅读详情

Intel汇编语言程序设计(第四版)

[美] Kip R.Irvine  著

温玉杰  张家生  罗云彬  等译

 

第六章,6.3.3.3有符号比较

原文:

1 mov    ax,80h
2 cmp    ax,7Fh
3 ja    IsAbove
4 jg    IsGreater

原文解释:

  在上面的例子里,JA指令并不跳转,因为无符号数7Fh比无符号数80h要小;相反JG指令则执行跳转,因为+127大与-128。

---------------------------------------

本来也没太注意看着解释,不过这例子是我想弄明白的。

因为我想知道处理器怎么处理各个标志位,是把操作数当成无符号来处理,还是当成有符号来处理,还是根据SF标志来进行相应的处理呢

先看了下解释,似乎跟代码描述得不一样喔,然后再细看一下代码就觉得不对,AX是32位寄存器,进行处理的只是16位数,怎么操作CF、SF都不会设置。

带着怀疑,自己编译了一下,用OD载入调试。

发现,果然是原书打错了。

自己动手修改了一下

1 mov    al,80h
2 cmp    al,7Fh
3 ja    IsAbove
4 jg    IsGreater

按照预料中的结果运行。

现在来解决当初的疑惑

OD载入,执行到cmp al,7Fh时的标志位状态如下:

 继续执行,到ja IsAbove时,标志位状态如下:

可以发现,CF、SF、OF标志位置位,ZF标志位复位

很显然,CPU根本不知道7Fh,80h是无符号数还是有符号数,只是根据结果机械地设置各个标志位,而不管你操作数是否有符号。

 CF是无符号数操作时才有意义的,OF是有符号数操作时才有意义的,所以,ja,jg等指令可以根据SF来获取相关的操作数。

于是乎,这种机制能友好地为大家服务.

Intel 汇编语言程序设计(第四版) Intel 汇编语言程序设计(第四版) 中文版 立即下载

相关推荐

Intel汇编语言程序设计 第四版

东北大学软件学院教材 不过有点模糊 可以用超星阅读器打开

《Intel汇编语言程序设计》第四版勘误

    215页:   mov BYTE PTR [ebp-20],'Y'       ; name[0]   数组首地址是EBP-28,那么那么name[0]怎么会是ebp-20呢,是否错误?应为:   mov BYTE PTR [ebp-9],'Y'       ; name[0]...

qdujunjie的专栏 178

Intel汇编语言程序设计 第四版

本书全面细致地讲述了汇编语言程序设计的各个方面。从微处理器体系结构、工作机制到指令集;从最基本的编译器链接器的使用到高级过程、结构和宏的使用;从用纯汇编编写程序到用VC++,BC++等最新编译器与汇编的混合接口编程;从16位实模式下BIOS,DOS实模式文本及图形程序设计到32位保护模式的Windows程序设计;从磁盘基础知识到Intel指令编码、浮点运算等相关知识都做了深入而细致的讲解。 本书是佛罗里达国际大学等多所美国大学采用的计算机基础教材,内容广博,但又讲解得非常深入,书中结合最令人感兴趣的编程问题逐步引出汇编语言的解答,书后有编译器的安装使用以及常用的编程参考资料,随书附带的CD-ROM中配有较新的免费MASM 6.11编译器,为读者掌握汇编语言扫清一切障碍,另配以丰富和颇具特色的习题集及解答,使读者能够快速掌握这门公认为很难的语言。如果读者是汇编语言的初学者,本书则提供了最好的起点,如果读者已经熟练掌握了这门语言,重读本书,亦当有所收获。 本书对计算机体系结构及基本原理做了相当篇幅的介绍,因此本书不仅可作为高等院校计算机专业汇编语言的教材,也可以作为计算机体系结构和原理的参考资料。 本书着重讲述了如何在机器层次思考并解决程序设计的问题,具有以下特点: ·详细讲述了数制系统和数据存储的基础知识 ·所有的例子程序都在Microsoft的MASM 6.15编译器下测试通过 ·讲述了高级语言内嵌汇编代码以及汇编语言程序同实地址模式及保护模式的C/C++程序的链接 ·附带扩展的指令集手册,其中包含了指令格式和CPU标志的使用 ·讲述了中断和量和设备I/O ·随书附带的CD-ROM中包含了Microsoft MASM 6.15汇编编译器、程序编辑器、一个宏库和本书的源代码 第四版的新增内容: ·Win32程序设计,包含控制台API和图形应用程序 ·对过程、递归、堆栈参数、结构和联合进行了更多的介绍 ·布尔表达式、真值表和流程图 ·基本的字符串处理、排序和查找算法 ·实地址模式和保护模式下的位映射图形 ·IEEE浮点二进制表示法 ·虚拟机体系结构,IA-32保护模式分段和分页 ·介绍指令执行周期、内存、多任务、流水线和超标量体系结构 ·磁盘基础知识,包括磁盘的物理结构、FAT32和NTFS文件的结构 .PDG格式

《16/32位微机原理、汇编语言及接口技术-习题答案》资源介绍

《16/32位微机原理、汇编语言及接口技术-习题答案》资源介绍 去发现同类优质开源项目:https://gitcode.com/ 《16/32位微机原理、汇编语言及接口技术-习题答案》是一本专注于微机原理、汇编语言和接口技术的教材,旨在为广大计算机及相关专业的学生和从事计算机应用开发的技术人员提供全面、系统的学习资源。 内容概述 本书以Intel 8088/8086微处理器和IBM PC系列机为主...

gitblog_06798的博客 314

Intel汇编语言程序设计(第四版)光盘

相信现在大家都是买Intel汇编语言程序设计第五版的吧,是不是发觉第五版没有光盘呢!现在小弟上传上去,和大家分享下,不用多分,只要1分,毕竟小弟也要下载点东西。

Intel汇编语言程序设计(第四版)[配套光盘].part1.exe

Intel汇编语言程序设计(第四版)[配套光盘].part1.exe 配套光盘的第一部分,下载完成以后,直接运行第一部分就可以了。

微代码和汇编语言的区别

from http://www.kuqin.com/assemble/20070920/1153.html 微代码和汇编都是低级语言,但是微代码比汇编更底层。微代码和汇编都和硬件有着紧密的联系,但是对于同一产品系列的不同代产品来说,汇编可以完全相同,微代码可能有着巨大的区别,因为微代码是完全依赖于芯片内部的硬件连接。 我是写微代码的,当我告诉朋友我的职业的时候,他显得很迷惑。他觉得微...

weixin_33826268的博客 319

美河制作-汇编语言程序设计-第一部分 Richard Blum

美河制作 汇编语言 Richard Blum 马朝辉译

微码micrcode/ucode

1.微码和汇编语言的区别 微码:micrcode/ucode 微代码和汇编都是低级语言,但是微码比汇编更底层。微码和汇编都和硬件有着紧密的联系,但是对于同一产品系列的不同代产品来说,汇编可以完全相同,微代码可能有着巨大的区别,因为微代码是完全依赖于芯片内部的硬件连接。 对于同样一句C语言,在不同的处理器上会生成不同的汇编语言。每一条汇编语言的执行时间也许是一个或者两个时钟周期,甚至更多。微代码和汇编的关系,就像C 与汇编的关系,也就是说一条汇编也许会生成一条或多条微代码。所谓微代码,或者微指令,是处理

fgupupup的博客 9389

汇编语言程序设计(美)布鲁姆

汇编语言程序设计(美)布鲁姆 着,马朝晖 等译.pdf绝对是很经典的一本书

Intel汇编语言程序设计第四版中文版

本书全面细致地讲述了汇编语言程序设计的各个方面。从微处理器体系结构、工作机制到指令集;从最基本的编译器链器的使用到高级过程、结构和宏的使用;从用纯汇编编写程序到用C/C++等最新编译器与汇编的混合接口编程;从16位实模式下BIOS、DOS实模式文本及图形程序设计到32位保护模式的Windows程序设计;从磁盘基础知识到Intel指令编码、浮点运算等相关知识都做了深入而细致的讲解。 本书对计算机体系结构及基本原理做了相当篇幅的介绍,因此本书不仅可作为高等院校计算机专业汇编语言的教材,也可以作为计算机体系结构和原理的参考资料。

GCC内联汇编基础

这篇文章阐述内联汇编的使用方法。显然,阅读这篇文章您需要具备X86汇编语言和C语言的基础知识。 Contents 1. 简介 3 2. 概要 3 3. GCC汇编格式。 3 1) 源操作数和目的操作数的方向 3 2) 寄存器命名 4 3) 立即数 4 4) 操作数大小 4 5) 内存操作数 4 4. 基本形式的内联汇编

dengjiang1999的专栏 3325

Intel汇编语言程序设计(第四版)

内有专用的查看工具 先给个第四版,大家先看看,我找到第五的就上传 汇编还是非常经典的,建议大家多看看学习 尤其是计算机专业的朋友们

【转贴】GCC内联汇编基础

原文作者 Sandeep.S英文原文 [https://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html] 本文将介绍GCC编译环境下,在C语言代码中嵌入汇编代码的基本方法。阅读本文需要您具备80X86汇编语言和C语言的基础知识。为了使中文描述更加清楚自然,翻译过程中加入了稍许解释和意译部分。 简介 版权/反馈/勘误/...

weixin_30443813的博客 424

Camera AF和FF

Camera按对焦功能可以分为FF(Fixed Focus)和AF(Auto Focus),即固定对焦和自动对焦。固定对焦顾名思义就是焦距是固定的,而自动对焦可以通过移动镜头位置来改变焦距从而实现自动对焦。以前摄像的功能机大多是固定对焦,现在的手机都带有自动对焦功能。 FF模组包括镜头(Lens),传感器(Sensor),红外滤色器(IR Filter),电路板(PCB),镜头支撑(Lens Holder),连接器(Connector)。 Fig 1. FF Module AF模组包括FF模组,音圈马达(V

Coppa的博客 1万+

利用mininet模拟SDN架构并进行DDoS攻击与防御模拟(Ryu+mininet+sflow+postman)

1、知识概述 (1)软件定义网络: (2)mininet: Mininet是一个强大的网络仿真平台,通过这个平台,我们可以很方便的模拟真实环境中的网络操作与架构。特别是SDN,在真实网络中进行相关的网络实验有一定难度,自然需要一个仿真平台可以学习这种新型的网络架构,而Mininet就应运而生,承担了这个光荣而艰巨的使命。Mininet自带交换机(switchs)、主机(hosts)、控制器(controllers),同时,在mininet上可以安装OpenvSwitch、多种控制器(NOX\POX

北风 1万+
上一篇: Windows Hook的小研究
下一篇: Java图形编程入门(连载1)
epluguo
博客等级 码龄18年 34粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值