Untitled
unknown
plain_text
2 years ago
1.1 kB
14
Indexable
.model small
.data
msg db "Enter Binary Value: $"
msg1 db "Output: $"
even_msg db "Even$"
odd_msg db "Odd$"
.code
main proc
mov ax, @data
mov ds, ax
mov ah, 9
lea dx, msg
int 21h
mov bx, 0
mov cx, 16
input_:
mov ah, 01h
int 21h
cmp al, 13 ; cmp AL, 0DH
je output_
and al, 0Fh
shl bx, 1
or bl, al
loop input_
output_:
mov dl, 10 ; MOV DL, 0DH
mov ah, 2
int 21h
mov dl, 13 ; MOV DL, 0AH
int 21h
mov ah, 9
lea dx, msg1
int 21h
; Count the number of '1's
mov cx, 16 ; MAXIMUM 16 INPUT
mov ax, bx
mov dx, 0
count_ones_loop:
test ax, 1
jz zero
inc dx
zero:
shr ax, 1
loop count_ones_loop
; Check if the count is even or odd
test dl, 1
jz even_count
jmp odd_count
even_count:
; Print "Even"
mov ah, 9
lea dx, even_msg
int 21h
jmp exit_program
odd_count:
; Print "Odd"
mov ah, 9
lea dx, odd_msg
int 21h
exit_program:
; Exit the program
mov ah, 4Ch
int 21h
end main
Editor is loading...
Leave a Comment