Mask Upper Nibble
Write assembly programs to Mask Upper Nibble for that number should be loaded into the register and operation should be implemented on that loaded number .
- Calculated result should be displayed in the output .
Algorithm for Mask Upper Nibble:
Step I : Load the number in AL.
Step II : Mask the upper nibble.
Step III : Display result.
Step IV : Stop.
Program for Mask Upper Nibble:
.model small
.data
a dw 0012H
.code
mov ax, @data ; Initialize data section
mov ds, ax
mov ax, a ; Load number1 in ax
and al, 0fh ; mask upper nibble.Result in al
mov ch, 02h ; Count of digits to be displayed
mov cl, 04h ; Count to roll by 4 bits
mov bh, al ; Result in reg bh
l2: rol bh, cl ; roll bl so that msb comes to lsb
mov dl, bh ; load dl with data to be displayed
and dl, 0fH ; get only lsb
cmp dl, 09 ; check if digit is 0-9 or letter A-F
jbe l4
add dl, 07 ; if letter add 37H else only add 30H
l4: add dl, 30H
mov ah, 02 ; Function 2 under INT 21H (Display character)
int 21H
dec ch ; Decrement Count
jnz l2
mov ah, 4ch
int 21h
end
Assembly programs
C:\programs>tasm upnib.asm
Turbo Assembler Version 3.0 Copyright (c) 1988, 1991 Borland International
Assembling file: upnib.asm
Passes: 1
Remaining memory: 438k
C:\programs>tlink upnib
Turbo Link Version 3.0 Copyright (c) 1987, 1990 Borland International
Warning: No stack
C:\programs>upnib



Leave a Reply