编写一个程序,计算|X-Y|的值,并将结果存入RESULT单元中,其中X和Y都为带符号字数据。

编写一个程序,计算|X-Y|的值,并将结果存入RESULT单元中,其中X和Y都为带符号字数据。

P154
例4.11

汇编思路:DATA段定义X、Y、RESULE分别用于存放随机数、存放随机数、存放最后计算结果。STACK段定义100DB大小的堆栈段运算存储空间。将AX获取到X的值,然后与Y进行CMP相减,判断JNS的值,结果是正数还是负数,若为正数直接将AX的值赋值给RESULT,然后调用4CH号功能返回DOS系统;若是负数,需要将AX进行求补运算,获得绝对值的结果,然后调用4CH号功能返回DOS系统。

汇编代码:

DATA	SEGMENT
X		DW	10		;随机数存储到X中
Y		DW 	-14		;随机数存储到X中
RESULE	DW ?		;存放最后的结果
DATA	ENDS
STACK	SEGMENT	STACKDB 100 DUP(?)
STACK	ENDS
CODE	SEGMENTASSUME	CS:CODE,DS:DATA,SS:STACK
STACK:	MOV	AX,DATAMOV	DS,AXMOV	AX,X	;X的内容赋值给AXSUB	AX,Y	;进行判断X-Y的SF符号位,1为负数,0位正数JNS	DONE	;若SF符号位为0,即结果为正数,跳转到DONE标签处,否则结果为负数,执行下一条指令NEG	AX		;执行到此条指令的时候,结果为负数,即SF=1,求补,即求绝对值
DONE:	MOV	RESULT,AX;将最后运算的结果赋值给RESULT单元MOV	AX,4CH	;调用4CH号功能,返回DOS操作系统INT	21H		;终止当前程序的运行,并返回DOS系统
CODE	ENDSEND	START

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/379265.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java timezone_Java TimeZone inDaylightTime()方法及示例

java timezoneTimeZone类inDaylightTime()方法 (TimeZone Class inDaylightTime() method) inDaylightTime() method is available in java.util package. inDaylightTime()方法在java.util包中可用。 inDaylightTime() method is used to check whether the given date (d) is…

这几天好像博客登不上去 什么情况

这几天好像博客登不上去 什么情况 我多年的心情记录啊 还以为关掉了 。。。。。。。 今天很生气,麻痹 转载于:https://www.cnblogs.com/cloud/archive/2010/04/25/1720744.html

双向链表(代码、分析、汇编)

目录:代码:分析:汇编:代码: DLinkList.h #ifndef _DLINKLIST_H_ #define _DLINKLIST_H_typedef void DLinkList; typedef struct _tag_DLinkListNode DLinkListNode; struct _tag_DLinkListNode {DLinkListNode* nex…

[道理]关于人生的,很不错!

[道理]关于人生的,很不错! 心理学课上,周正教授正在授课:“上次下课时,一个男孩子递了张纸条:我是个比较内向的人,又没什么特长,不会踢足球,不会打篮球……唯一的爱好是写…

变量和简单数据类型(一)

1,title()方法 将字符串中的每个单词的首字符大写 2,upper()方法 将字符串的所有字母大写 3,lower()方法 将字符串的所有字母小写 name "beyond Sq" print(name.title()) print(name.upper()) print(name.lower())调用方式&…

long类型20位示例_Java Long类lowerOneBit()方法与示例

long类型20位示例长类lowerOneBit()方法 (Long class lowestOneBit() method) lowestOneBit() method is available in java.lang package. minimumOneBit()方法在java.lang包中可用。 lowestOneBit() method is used to find at most only single 1’s bit from the rightmost…

VS2010安装、启动都挺快的,真不错

截图留念,里面的源码是《把脉VC》一书的示例工程。 转载于:https://www.cnblogs.com/silentmj/archive/2010/04/29/1723940.html

hdu 1712

地址:http://acm.hdu.edu.cn/showproblem.php?pid1712 题意:复习课程,n们课,有m天复习,a[i][j]代表用j天来复习第i门课的收获。。(这里居然可能用的天数多而收获更少……囧) mark:第…

Python中的or和and运算符的使用

通俗来讲 or:找真值,若第一个为真则返回该值;若全都不为真,则返回最后一个假值 and:找假值,若第一个为假则返回该值;若全都不为假,则返回最后一个真值 牢记这两句话!&…

栈-线性表(代码、分析、汇编)

目录:代码:分析:汇编:代码: LinkList.h #ifndef _LINKLIST_H_ #define _LINKLIST_H_typedef void LinkList; //定义链表类型 typedef struct _tag_LinkListNode LinkListNode;//定义链表节点类型 struct _tag_LinkL…

Java IdentityHashMap isEmpty()方法与示例

IdentityHashMap类isEmpty()方法 (IdentityHashMap Class isEmpty() method) isEmpty() method is available in java.util package. isEmpty()方法在java.util包中可用。 isEmpty() method is used to check whether this IdentityHashMap is "empty" or "not …

datatable序列化为string

代码 privatestaticstringSerializeDataTableXml(DataTable pDt){ //序列化DataTableStringBuilder sb newStringBuilder(); XmlWriter writer XmlWriter.Create(sb); XmlSerializer serializer newXmlSerializer(typeof(DataTable)); serializer.Serialize(writer, pD…

C#常用输出格式

输出方法Console. WriteLine( ) Console. WriteLine()方法将数据输出到屏幕并加上一个回车换行符(若不加回车换行 符,可用Console. Write()方法)。 该方法类似于C语言中的printf()函数, 可以采用“{N[,M][:格式化字符串]}”的形式格式化输出字符串,其中的参数含义如…

栈-顺序表(代码、分析、汇编)

目录:代码:分析:汇编:代码: SeqList.h #ifndef _SEQLIST_H_ #define _SEQLIST_H_typedef void SeqList;//定义顺序表类型 typedef void SeqListNode;//定义顺序表节点类型SeqList* SeqList_Create(int capacity);voi…

sqlserver 数据库日志文件过大的问题

USE[master] GO ALTER DATABASE 【数据库】 SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE 【数据库】 SET RECOVERY SIMPLE --简单模式 GO USE 【数据库】 GO DBCC SHRINKFILE (N【数据库日志文件名(如:msdb_log)】 , 11, TRUNCATE…

SQl Server存储过程基础

一、存储过程的概念 存储过程是SQL语句和可选控制流语句的预编译集合,存储在数据库中,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其他强大的编程功能。 在SQL Server中存储过程分为两类:即系统提供的存储…

isinfinite_Java Double类isInfinite()方法与示例

isinfinite双类isInfinite()方法 (Double class isInfinite() method) isInfinite() method is available in java.lang package. isInfinite()方法在java.lang包中可用。 isInfinite() method is used to check infinity (i.e. either positive infinity or negative infinity…

MySql学习(一)

SQL语句的分类:DDL(数据定义语言)、DML(数据操作语言)、DCL(数据控制语句)MySql的命令语句以;或\g结束建库:Create database name;建表:Create tablle name;选…

C盘爆红的解决办法

方法一:开始—>搜索—>cleanmgr—>磁盘清理—>选择你所需要清理的磁盘即可 方法二:我的电脑右击—>管理—>磁盘管理—>右键选择你要压缩的磁盘—>压缩卷—>输入压缩空间量—>压缩—>右键 拓展卷—>下一步—>输入…

栈应用_检测成对符号是否正确使用(代码、分析、汇编)

目录&#xff1a;代码&#xff1a;分析&#xff1a;汇编&#xff1a;代码&#xff1a; LinkList.h LinkList.c LinkStack.h LinkStack.c 栈-线性表 main.c #include <stdio.h> #include <stdlib.h> #include "LinkStack.h"//该程序是检查字符串中的出…