编程统计BUF字单元数据中所含1的个数,并将结果存入COUNT单元中。

编程统计BUF字单元数据中所含1的个数,并将结果存入COUNT单元中。

代码如下:

DATA	SEGMENT
BUF		DW 2345H	;随机存储一下数据
COUNT	DB ?		;用于统计BUF字单元数据中所含1的个数
DATA	ENDS
STACK	SEGMENT STACKDB 100 DUP(?);在堆栈段开辟一段大小为100DB的存储空间
STACK	ENDS
CODE	SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK
START:	MOV AX,DATA	;MOV DS,AX	;MOV AX,BUF	;将BUF中的数据存储到AX寄存器中,因为BUF里面只有一个数据且和AX的大小类型一致,所以直接将BUF的值赋值给AX,使用AX进行参与运算XOR CL,CL	;对CL进行初始化清零操作,用于存放统计1的个数
NEXT:	AND AX,AX	;先判断BUF里面的数据是否为0JZ  EXIT	;JZ判断上条指令中的AX结果为0跳转,否则执行下一条指令SHL AX,1	;执行到此条指令,表示BUF内容不为0.即将AX逻辑左移一位,最高位赋值给CF,最低位补0JNC NEXT	;判断上条指令中的AX左移之后,若没有进位(CF=0)则跳转到NEXT标签处,否则(CF=1)执行下一条指令 即一个二进制位数有1,执行下一条指令,若没有1.跳转到NEXT再次左移判断下一个二进制位是否是1INC CL		;执行到此条指令,即二进制位为1,CL计数自加JMP NEXT	;无条件跳转到NEXT处开始再次的左移操作判断下一位二进制位是否为1
EXIT:	MOV COUNT,CL;把最后统计到1的个数赋值给COUNTMOV AH,4CH	;调用4CH号功能,返回DOS操作系统INT 21H		;终止当前程序的运行,并返回DOS系统
CODE	ENDSEND START

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

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

相关文章

循环链表(代码、分析、汇编)

目录:代码:分析:汇编:代码: CircleList.h #ifndef _CIRCLELIST_H_ #define _CIRCLELIST_H_typedef void CircleList;typedef struct _tag_CircleListNode CircleListNode;struct _tag_CircleListNode{CircleListNode…

Java Throwable setStackTrace()方法与示例

Throwable类setStackTrace()方法 (Throwable Class setStackTrace() method) setStackTrace() Method is available in java.lang package. setStackTrace()方法在java.lang包中可用。 setStackTrace() Method is used to sets stack trace elements that will be retrieved by…

IOS中设置全局变量

转:http://blog.csdn.net/totogogo/article/details/7355203 有几种方法 some developers recommend use singleton patter (ref link http://blog.csdn.net/kmyhy/article/details/7026511) 方法1:使用静态变量 (不推荐) 方法2: …

设计模式之Observer

观察者模式可以参考邮件订阅的例子 邮件订阅设计到2个主要角色,一个是订阅者(观察者),一个是发布者 发布者可以拥有一个观察者的集合,可以添加,删除观察者,当发布者发布一个新的消息时,要邮件通知观察者集合…

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

编写一个程序,计算|X-Y|的值,并将结果存入RESULT单元中,其中X和Y都为带符号字数据。 P154 例4.11 汇编思路:DATA段定义X、Y、RESULE分别用于存放随机数、存放随机数、存放最后计算结果。STACK段定义100DB大小的堆栈段运算存储空间。将AX获取…

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…