統計寄存器AX中1 的個數


 1 ;====================================
 2 ; 統計寄存器AX中1 的個數
 3 DATAS segment
 4 
 5 DATAS ends
 6 
 7 CODES segment
 8 START:
 9     mov AX,DATAS
10     mov DS,AX
11     ;正式代碼部分
12     mov  AX,1001111011B ;2進制數7個1
13     mov  CX,0   ;CX置為0
14     mov  CH,16  ;記錄當前操作的第幾位數字
15 NEXT:
16     test AX,0001H;讓...0001與AX進行 與 運算
17     JZ isZero   ;如果為0繼續循環判斷下一個
18     inc  CL     ;自增1
19 
20 isZero:
21     dec  CH     ;高位-1
22     JZ   EXIT   ;if(CH=0)則跳轉到EXIT
23     SHR  AX,1   ;邏輯右移1位
24     JMP  NEXT
25 EXIT:
26     count db ?,'$';向屏幕打印輸出結果
27     add cl,30H
28     mov count,cl
29     Lea dx,count
30     mov AH,09   ;09號功能調用
31     INT  21H    
32 
33     mov  AL,0   ;置退出碼
34     mov  AH,4CH ;置功能調用號
35     INT  21H    ;軟中斷指令:實施功能調用
36 CODES ends
37     end START

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM