DATA SEGMENT
VUID DB 2,3,0,2,1,8,5,6,1 ; numeric digits of VUID
COUNT DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
LEA SI, VUID ; point to start of array
MOV CX, 9 ; total 9 digits
MOV DX, 0 ; to store even count
NEXT_DIGIT:
MOV AL, [SI]
MOV BL, 2
DIV BL ; AL ÷ 2 → remainder in AH
CMP AH, 0
JNE NOT_EVEN
INC DX ; count even number
NOT_EVEN:
INC SI
LOOP NEXT_DIGIT
MOV COUNT, DL ; optional store count
; DX now has number of even digits
MOV AH, 4CH
INT 21H
CODE ENDS
END START
DATA SEGMENT
VUID DB 2,3,0,2,1,8,5,6,1 ; numeric digits of VUID
COUNT DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
NEXT_DIGIT:
MOV AL, [SI]
MOV BL, 2
DIV BL ; AL ÷ 2 → remainder in AH
CMP AH, 0
JNE NOT_EVEN
INC DX ; count even number
NOT_EVEN:
INC SI
LOOP NEXT_DIGIT
CODE ENDS
END START