ca001
segmento de pila
db 64 dup (?)
finales de pila
segmento de código
supongamos cs: código, ss: pila
inicio:
mov ax, 1010011100101010B
llamar a CalcAmount
salir:
mov ax, 4C00H
int 21H
CalcAmount:
(cuenta el número de unos en el número binario AX)
; (Los resultados se colocan en CX)
xor cx, cx
CA001:
shr ax, 1
jz CA002 p >
jnc CA001
inc cx
jmp short CA001
CA002:
inc cx después de la última derecha; shift Ya es 0, pero CX no se ha incrementado en uno, así que agréguelo
ret
código termina
fin de inicio