編程統計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.pswp.cn/news/379270.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/379270.shtml
英文地址,請注明出處:http://en.pswp.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…