微机原理与接口技术 编写1个程序,统计寄存器AX中二进制位1的个数,结果以1位十六进制数形式显示到屏幕上

供稿:hz-xin.com     日期:2024-05-11
请问编程语言一共有多少种?


相关的网络编程API,比如Java, Python, C++, C#, PHP, Perl等
网络爬虫,又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常被称为网页追逐者,是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本,已被广泛应用于互联网领域。搜索引擎使用网络爬虫抓取Web网页、文档甚至图片、音频、视频等资源,通过相应的索引技术组织这些信息,提供给搜索用户进行查询。网络爬虫也为中小站点的推广提供了有效的途径。
网络爬虫另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫。随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战。搜索引擎,例如传统的通用搜索引擎AltaVista,Yahoo!和Google等,作为一个辅助人们检索信息的工具成为用户访问万维网的入口和指南。但是,这些通用性搜索引擎也存在着一定的局限性,如:
不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。
通用搜索引擎的目标是尽可能大的网络覆盖率,有限的搜索引擎服务器资源与无限的网络数据资源之间的矛盾将进一步加深。
数据大量出现,通用搜索引擎往往对这些信息含量密集且具有一定结构的数据无能为力,不能很好地发现和获取。
通用搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查询。

code segment
assume cs:code
start:
mov ax,0ffffh ;测试用的,你可以修改为任何有效的值
mov cl,16 ;ax是一个字,有16位二进制
mov dl,0 ;用于累加ax中1的个数
a:
rol ax,1 ;循环左移1称,16次循环后复原
jnc next ;该位是0,则CF=0,这里就是测试CF的值,为0则跳转不累加
inc dl ;CF=1时,dl+1
next:
loop a ;循环结构

add dl,30h ;将dl的值转为ASCII码
cmp dl,'9' ;大于9则是A-F或者10
jbe print ;小于或者等于0则不必再转化ASCII码
add dl,7 ;如果是A-F则转化
cmp dl,'F' ;这步关键,如果AX的值是0FFFFH,则dl=16=10H,没有这步将会输出G
ja print_10 ;AX=0FFFFH则跳转进行特殊处理
print:
mov ah,02h
int 21h
print_10:
mov dl,31h ;特殊情况只有一种,即dl=10H,故只要两次分别输出字符1和0即可
mov ah,02h
int 21h
mov dl,30h
int 21h

mov ah,4ch
int 21h
code ends
end start

assume cs:code, ds:data

data segment
tb db '0123456789ABCDEF'
data ends

code segment
start:
mov ax, data
mov ds, ax

mov ax, 3ch
mov cx, 16
xor bx, bx
nx:
rol ax, 1
test al, 1
jz zero
inc bx
zero:
loop nx

mov ax, bx
lea bx, tb
xlat
mov ah, 2
mov dl, al
int 21h

mov ax, 4c00h
int 21h
code ends
end start