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

  • 相关阅读:
    一天一个shell实例(1)文本中n个出现频率最高的单词(转)
    JNDI全攻略(一)(转)
    JNDI 学习(转)
    JNDI全攻略(二)(转)
    C#开发系列 文章索引
    AppControls
    JSF系列 文章索引
    [转载]DELPHI组件安装全攻略
    什么是有价值的人生
    [转载]InnoSetup5.2.3啊风增强版 安装代码
  • 原文地址:https://www.cnblogs.com/viplanyue/p/12700580.html
Copyright © 2011-2022 走看看