IBM-PC汇编语言程序设计(第二版)习题3.36疑似错题。

问题描述

IBM-PC汇编语言程序设计(第二版)习题3.36疑似错题。

原题干如下:

假设X和X+2单的内容为双精度p,Y和Y+2单元的内容为双精度数q,X和Y为低位字,试说明下列程序段做什么工作?
MOV DX, X+2
MOV AX, X
ADD AX, X
ADC DX, X+2
CMP DX, Y+2
JL L2
JG L1
CMP AX, Y
JBE L2
L1: MOV AX,1
JMP SHORT EXIT
L2: MOV AX,2
EXIT: INT 20H

接下来是习题解:
此程序判断p*2>q, 则使(AX)=1后退出;P*2<=q,则使(AX)=2后退出。

我的疑问:
如题干所述,程序运行至 [ADC DX, X+2],若p值本身为负值,这一指令执行的可能产生负溢,这样的话下面执行[ CMP DX, Y+2]会可能得出与实际相反的结果吧,同时也会重置OF和CF值吧。

小弟最近刚接触汇编,对各种简单功能的实现没有经验,希望哪位有经验的前辈帮忙看一下。

解决方案

基本语句看得懂伐?
比如算术运算add adc有什么区别?
跳转 jbe jg jmp有什么区别?
然后画出框图,就清楚了。
再不行,多上机,单步调试,观察每个寄存器的值的变化。特别是flag寄存器。
这么简单的题目张口要答案,对你又有什么帮助。

解决方案二:

我认为,该题目在处理p+p时,未考虑带符号数的溢出。

时间: 2025-01-01 01:42:48

IBM-PC汇编语言程序设计(第二版)习题3.36疑似错题。的相关文章

谁有 ASP. NET2.0动态网站程序设计(第二版)程不功 课后答案??发个给我呀!1083371806@qq.com

问题描述 谁有ASP.NET2.0动态网站程序设计(第二版)程不功课后答案??发个给我呀!1083371806@qq.com 解决方案 解决方案二:这本书我当初学的时候也看了,但是没怎么看答案,在看习题的时候不懂的话就百度,google,你将会知道更多

C语言程序设计第二版 1.6数组练习1-13打印输入中单词长度的直方图的问题

问题描述 C语言程序设计第二版 1.6数组练习1-13打印输入中单词长度的直方图的问题 /* Note:Your choice is C IDE */ #include "stdio.h" #define MAXHIST 15 //柱状图长度 #define MAXWORD 11 //单词长度 #define IN 1 #define OUT 0 void main() { int c,i,nc,state; int len; int maxvalue; //wl[]的最大值 int

javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)_javascript技巧

复制代码 代码如下: var EventUtil={ //跨浏览器处理程序---创建方法 addHandler:function(element,type,handler){ if(element.addEventListener){ element.addEventListneter(type,handler,false); }else if(element.attachEvent){ element.attachEvent("on"+type,handler); }else{ el

《LabVIEW 虚拟仪器程序设计从入门到精通(第二版)》一2.4 前面板对象的操作

2.4 前面板对象的操作 LabVIEW 虚拟仪器程序设计从入门到精通(第二版) 2.4.1 焦点 前面板的控件有一些特殊的操作可以帮助程序更方便的完成.比如在系统登录界面程序中,往往是程序一旦开始运行,就可以马上输入密码,而不需要先手动选择密码框输入.在LabVIEW中,焦点可以帮助完成这样的程序操作. 为了说明焦点的作用,下面做一个小程序来示范,图2-23为字符串焦点. 数值.字符串和停止在该程序中都是输入控件,当程序开始运行时,按会看到一个细黑线的框在3个输入控件上轮换移动.当这个框移动到

汇编语言——Intel汇编语言程序设计(第5版)中文版

问题描述 汇编语言--Intel汇编语言程序设计(第5版)中文版 学会汇编语言的话,Intel汇编语言程序设计(第5版)中文版这本书怎么样呢

基于Intel 80×86 CPU的IBM PC及其兼容计算机的启动流程

前段时间我在微博上看到了阮一峰的一篇日志<计算机是如何启动的?>才想起来自己之前尝试探索X86架构计算机的启动流程来着,趁着还没遗忘就先记录下一部分结论吧.不过相对于阮一峰的这篇博文,我的侧重点在于BIOS查找"启动顺序"(Boot Sequence)之前,也就是从按下电源到BIOS移交权限之间的这一段.关于MBR分区体系磁盘的分区表,阮一峰描述的很详细,我就不重复造轮子了. 顺便罗嗦一下,有关"扩展分区"(Extended partition)描述,阮

《ArcGIS Engine 地理信息系统开发从入门到精通(第二版)》——第6章 空间数据管理 6.1 SDE及空间数据

第6章 空间数据管理 6.1 SDE及空间数据 ArcGIS Engine 地理信息系统开发从入门到精通(第二版)6.1.1 SDE介绍 ArcSDE是数据库系统中管理地理数据库的接口,通过该接口可以往关系数据中加入空间数据,提供地理要素的空间位置及形状等信息,是ArcGIS与关系数据库之间的GIS通道.它允许用户在多种数据管理系统中管理地理信息,并使所有的ArcGIS应用程序都能够使用这些数据. ArcSDE是多用户ArcGIS系统的一个关键部件,它为DBMS提供了一个开放的接口,允许ArcG

《指针的编程艺术(第二版)》一第一篇 C语言篇

第一篇 C语言篇 指针的编程艺术(第二版)C语言最早是在AT&T(American Telephone and Telegraph,美国电话与电报公司)内部使用的语言,但为了发布UNIX操作系统,不得不公开这一程序语言.主导这语言的两个灵魂人物,分别是Dennis Ritchie与Brian Kernighan.ANSI C已于1989年公布.Dennis Ritchie生于1941年,哈佛大学数学博士,是C语言之父.Brian Kernighan目前在普林斯顿大学计算器科学系(Departme

《指针的编程艺术(第二版)》一导读

序 言 指针的编程艺术(第二版)C语言的特色就是"指针"(Pointer),这是个让人又爱又难受的主题.有一句话是这么说的,学过C,而不会指针,那只能说你看过C.熟悉指针的人,会将指针比喻成天上那一颗最美的星星,而让不懂指针的人,头上冒星星,同样是星星,但却是完全不同的境遇. "指针好难啊,都不知道该怎么学--",常常有人会对我讲这句话,并问我有没有好方法可以"顿悟"它.有许多人学到指针时,便裹足不前.基本原因是没有专门的图书讨论指针及其相关的问