Lab 6
Lab 6
.8086
.model small
.stack 100h
.data
msg1 db 13,10, "Enter the number of digits $"
msg3 db 13,10, "The number is a harshad number $"
msg4 db 13,10, "The number is not a harshad number $"
msg5 db 13,10, "Enter the number $"
digit db 0
number dw 0
.code
mov ax,@data
mov ds,ax
mov ah,09h
lea dx,msg1
int 21h
mov ah,01h
int 21h
sub al,30h
mov cl,al ;cl stores the number of digits
mov ah,09h
lea dx,msg5
int 21h
mov ah,0
mov ch,0
loop1:
mov dx,10
mov ah,01h
int 21h
sub al,30h
add bl,al
mov digit,al
mov ax,number
mul dx
mov dl,digit
add ax,dx
mov number,ax
inc ch
cmp ch,cl
jne loop1
har:
mov ah,09h
lea dx,msg3
int 21h
jmp exitt
nothar:
mov ah,09h
lea dx,msg4
int 21h
jmp exitt
exitt:
mov ax,4c00h
int 21h
PRINT PROC
mov cx,0
mov dx,0
loop2:
cmp ax,0
je print1
mov bx,10
div bx
push dx
inc cx
xor dx,dx
jmp loop2
print1:
cmp cx,0
je exit
pop dx
add dx,48
mov ah,02h
int 21h
dec cx
jmp print1
exit:
ret
PRINT ENDP
end
OUTPUT:-
Q2)
.8086
.model small
.stack 100h
.data
msg1 db 13,10, "The largest number is: $"
msg2 db 13,10, "Enter the number of numbers: $"
msg3 db 13,10, "Enter the number: $"
x db 20 dup(?)
counter1 db 0
counter2 db 0
.code
mov ax,@data
mov ds,ax
mov ah,09h
lea dx, msg2
int 21h
mov ah,01h
int 21h
sub al,30h
mov cl,al;cl stores the length of the array
mov bl,0
mov ch,0
;get inputs
loop1:
mov ah,09h
lea dx, msg3
int 21h
mov ah,01h
int 21h
mov [si],al
inc si
inc ch
cmp ch,cl
jne loop1
mov ch,0
loop2:
cmp [di],bl
jge loop3
inc di
inc ch
cmp ch,cl
je exitt
jmp loop2
loop3:
mov bl,[di]
inc di
inc ch
cmp ch,cl
je exitt
jmp loop2
exitt:
mov ah,09h
lea dx, msg1
int 21h
mov dl,bl
mov ah,02h
int 21h
mov ax,4c00h
int 21h
end
OUTPUT:-
Q3)
.8086
.model small
.stack 100h
.data
msg1 db 13,10, "Enter the string: $"
x db 20 dup(?)
.code
mov ax,@data
mov ds,ax
mov ah,09h
lea dx,msg1
int 21h
loop1:
mov ah,01h
int 21h
mov [si],al
cmp al,'$'
je loop2
inc si
jmp loop1
loop2:
mov bl,[di]
cmp bl,'$'
je exitt
mov bl,[di]
cmp bl,'A'
jge loop3
inc di
jmp loop2
loop3:
mov bl,[di]
cmp bl,'z'
jle loop4
inc di
jmp loop2
loop4:
mov dl,[di]
mov ah,02h
int 21h
inc di
jmp loop2
exitt:
mov ax,4c00h
int 21h
end
OUTPUT:-