Untitled
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