Untitled

 avatar
unknown
plain_text
2 months ago
3.9 kB
2
Indexable
org 100h
.model small
.stack 100h
.data
.code
main proc ;binary operator AND, OR, XOR
mov bl, 3
mov cl, 2
AND bl, cl
mov dl, bl
add dl, 48
mov ah, 2
int 21h
mov bl, 3
mov cl, 2
OR bl, cl
mov dl, bl
add dl, 48
mov ah, 2
int 21h
mov bl, 3
mov cl, 2
XOR bl, cl
mov dl, bl
add dl, 48
mov ah, 2
int 21h
main endp
ret

------

//U TO L CASE

main PROC
mov al, 'A'
mov bl, 01000000b ;
or al, bl 
mov dl, al
add dl, 32 
mov ah, 2
int 21h

main endp
ret


----------------------------------

CMP EQUAL

org 100h
.model small
.stack 100h
.data
msg db "Both are equal $"
msg1 db "Both are not equal $"
.code

main proc
mov al, 5
mov bl, 5

cmp al, bl

je equal

lea dx, msg1
mov ah, 9
int 21h
jmp done

equal:
lea dx, msg
mov ah, 9
int 21h

done:
main endp
ret

-----------------

ABOVE EQUAL BELOW

org 100h
.model small
.stack 100h
.data
msg db "Bl is greater than al $"
msg1 db "Bl is not greater than al $"
msg2 db "Bl is equal to al $"
.code

main proc
mov al, 4
mov bl, 5

cmp bl, al

ja above
jb below
je equal

above:
lea dx, msg
mov ah, 9
int 21h
jmp end_program

below:
lea dx, msg1
mov ah, 9
int 21h
jmp end_program

equal:
lea dx, msg2
mov ah, 9
int 21h
jmp end_program

end_program:

main endp
ret

-------------------------------

TELL WHICH CHARACTER

org 100h
.model small
.stack 100h
.data
msg db "Enter any character: $"
msg1 db "Special Character $"
msg2 db "Capital Character $"
msg3 db "Small Character $"
msg4 db "Number $"
.code

main proc
lea dx, msg
mov ah, 9
int 21h

mov ah, 1
int 21h

cmp al, '0'
jl special
cmp al, '9'
jg check_capital

lea dx, msg4
mov ah, 9
int 21h
jmp done

check_capital:
cmp al, 'A'
jl special
cmp al, 'Z'
jg check_small

lea dx, msg2
mov ah, 9
int 21h
jmp done

check_small:
cmp al, 'a'
jl special
cmp al, 'z'
jg special

lea dx, msg3
mov ah, 9
int 21h
jmp done

special:
lea dx, msg1
mov ah, 9
int 21h
jmp done

done:
main endp
ret

---------------------------------------------------

Loops

Q1) Demonstrate Loop in emu8086

org 100h
.model small
.stack 100h
.data
.code

main proc
mov bl,9
mov cl,5

repeat:
mov dl,bl
add dl,48
mov ah,2
int 21h

mov dl,10
mov ah,2
int 21h
mov dl,13
mov ah,2
int 21h

loop repeat
main endp
ret

---------------------

User Input Loop

org 100h
.model small
.stack 100h
.data
.code

main proc
mov cx,5       

l1:
mov ah,1         
int 21h          
loop l1           

main endp
ret

====================

Q3) Program to print numbers 0 to 9 using loop.

org 100h
.model small
.stack 100h
.data
.code

main proc
mov cx,10
mov bl,48

repeat:
mov dl,bl
mov ah,2
int 21h

mov dl,10
mov ah,2
int 21h

mov dl,13
mov ah,2
int 21h

inc bl
loop repeat
main endp
ret

_______________________________

Q4) Program to print capital letters A to Z using loop.

org 100h
.model small
.stack 100h
.data
.code

main proc
mov bl,'A'
mov cl,26

x:
mov dl,bl
mov ah,2
int 21h
inc bl
loop x
main endp
ret

________________________________________

org 100h
.model small
.stack 100h
.data
msg db "Enter any character: $"
msg1 db "Special Character $"
msg2 db "Capital Character $"
msg3 db "Small Character $"
msg4 db "Number $"
.code

main proc
lea dx, msg
mov ah, 9
int 21h

mov ah, 1
int 21h

cmp al, '0'
jl special
cmp al, '9'
jg check_capital

lea dx, msg4
mov ah, 9
int 21h
jmp done

check_capital:
cmp al, 'A'
jl special
cmp al, 'Z'
jg check_small

lea dx, msg2
mov ah, 9
int 21h
jmp done

check_small:
cmp al, 'a'
jl special
cmp al, 'z'
jg special

lea dx, msg3
mov ah, 9
int 21h
jmp done

special:
lea dx, msg1
mov ah, 9
int 21h
jmp done

done:
main endp
ret
Leave a Comment