Untitled

 avatar
unknown
plain_text
a month ago
4.2 kB
12
Indexable
AND, OR, XOR:

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
................

................................
UPPER TO LOWERCASE:
org 100h
.model small
.stack 100h
.data
.code
main proc
mov al, 'M' ;uppercase into lowercase using AND, OR, XOR
mov bl, 76
or al, bl
mov dl, al
add dl, 32
mov ah, 2
int 21h
mov al, 77 ;we can also write the decimal directly
mov bl, 76
and al, bl
mov dl, al
add dl, 33
mov ah, 2
int 21h
mov al, 'M'
mov bl, 76
xor al, bl
mov dl, al
add dl, 108
mov ah, 2
int 21h
ret


XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXX


LOOP:
org 100h
.model small
.stack 100h
.data
.code
main proc
mov bl, 9
mov cl, 5
counter:
mov dl, bl
add dl, 48
mov ah, 2
int 21h
loop counter
main endp
ret


................................................
USER-INPUT LOOP
org 100h
.model small
.stack 100h
.data
.code
main proc
mov cl, 5
counter:
mov ah, 1
int 21h
loop counter
main endp
ret


................................................
ABC, 123 WITH LOOP:
org 100h
.model small
.stack 100h
.data
.code
main proc
mov bl, -1
mov cl, 10
counter:
inc bl
mov dl, bl
add dl, 48
mov ah, 2
int 21h
loop counter
mov dl, 10
mov ah, 2
int 21h
mov dl, 13
mov ah, 2
int 21h
mov bl, '@'
mov cl, 26
alphabets:
inc bl
mov dl, bl
mov ah, 2
int 21h
loop alphabets
main endp
ret


................................................
EVEN NUMS WITH LOOP:
org 100h
.model small
.stack 100h
.data
num dw 0
rem db ?
.code
main proc
mov cl, 10
even:
mov ax, num
mov bl, 2
div bl
mov rem, ah
cmp rem, 0
jnz next_value
mov dx, num
add dx, 48
mov ah, 2
int 21h
next_value:
inc num
loop even
main endp
ret


XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXX
JUMP:
COMPARE (JZ, JNZ):
org 100h
.model small
.stack 100h
.data
msg1 db 'BL is equal to AL $'
msg2 db 'BL is not equal to AL $'
.code
main proc ;COMPARE
mov al, 7
mov bl, 7
cmp bl, al
JZ equal
JNZ notequal
equal:
lea dx, msg1
mov ah, 9
int 21h
jmp endprogram
notequal:
lea dx, msg2
mov ah, 9
int 21h
jmp endprogram
endprogram:
main endp
ret


................................................
COMPARE (JE):
org 100h
.model small
.stack 100h
.data
msg1 db "Both are equal $"
msg2 db "Both are not equal $"
.code
main proc
mov al, 8
mov bl, 5
cmp al, bl
je equal
;if we don't jump
lea dx, msg2
mov ah, 9
int 21h
jmp endprogram
equal:
lea dx, msg1
mov ah, 9
int 21h
endprogram:
main endp
ret


................................................
COMPARE (EQUAL, GREATER, LESS):
org 100h
.model small
.stack 100h
.data
msg1 db "BL is greater than AL $"
msg2 db "BL is lesser than AL $"
msg3 db "BL is equal to AL $"
.code
main proc
mov al, 5
mov bl, 4
cmp bl, al
ja above
jb below
je equal
above:
lea dx, msg1
mov ah, 9
int 21h
jmp endprogram
below:
lea dx, msg2
mov ah, 9
int 21h
jmp endprogram
equal:
lea dx, msg3
mov ah, 9
int 21h
jmp endprogram
endprogram:
main endp
ret


................................................
CHECK CHARACTER TYPE (NUM, SMALL, SPECIAL, CAP)
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


XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXX
Leave a Comment