zoukankan      html  css  js  c++  java
  • 汇编刷题:统计内存中的一个十六位二进制数 位值为1的位个数之和

    DATA SEGMENT
        DATAS DW 100DH                                  ;测试数据100D
    DATA ENDS

    STACK SEGMENT
        DB 1000 DUP(?)
    STACK ENDS

    CODE SEGMENT
        ASSUME CS:CODE,DS:DATA,SS:STACK
    START:
        MOV AX,DATA
        MOV DS,AX
        
        MOV CX,10H                                             ;循环次数
        MOV AX,0
        LEA BX,DATAS
        MOV DX,[BX]                                             ;将数据段中的测试数据放到寄存器中

    SIGN:    ROL DX,1                                         ;不带进位的循环移位指令,这里可以使用其他移位指令
        JNB NEXT                                                  ;若CF位为零则继续循环,若不为零则计数器加一
        INC AX
        
    NEXT:    LOOP SIGN
        ADD AX,30H                                               ;0的ASCII码值为30H,dos 02号功能显示的是ascii码,不是图形
        MOV DL,AL                                                 ;因为算法原因这里仅支持最多9位为1
        MOV AH,02H
        INT 21H
        MOV AH,4CH
        INT 21H
        
    CODE ENDS
        END START

  • 相关阅读:
    python深浅copy探究
    构建squid代理服务器
    python列表和元组操作
    python字符串操作
    Apache虚拟主机
    Apache访问控制
    部署AWStats分析系统
    LAMP平台部署
    二分查找
    设计模式六大原则
  • 原文地址:https://www.cnblogs.com/viplanyue/p/12700580.html
Copyright © 2011-2022 走看看