how should i implement macro in this 8086 assembly language program for counting no. of 0's and 1's in 16 bit number?

this is the source code which i am using SOURCE: https://ankurm.com/8086-assembly-program-to-count-number-of-0s-and-1s-from-a-number/

DATA SEGMENT
NO DW 5648H
Z DW ?
O DW ?
DATA ENDS
 
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
MOV AX, NO
MOV BX, 00H
MOV CX, 10H
MOV DX, 00H
 
UP:
ROL AX,1
JC ONE
INC BX
JMP NXT
 
ONE:
INC DX
 
NXT:
DEC CX
JNZ UP
 
MOV Z, BX
MOV O, DX
 
INT 3
CODE ENDS
END START
How many English words
do you know?
Test your English vocabulary size, and measure
how many words do you know
Online Test
Powered by Examplum