task no 9
task no 9
.model small
.stack 100h
.data
.code
main proc
mov cx, 08
again:
rol bl, 1
mov dl, bl
and dl, 01
add dl, 48
int 21h
loop again
; Exit program
int 21h
main endp
end main
BINARY TO HEXADECIMAL (16 BITS)
.Model small
.stack 100h
.data
.code
Main proc
mov cx, 04
Again:
rol bx, 04
mov dl, bl
; comparing with 9
cmp dl, 09
jg conversion
add dl, 48
jmp print
Conversion:
; convert output value to ascii equivalent(a - f)
add dl, 55
jmp print
Print:
int 21h
loop again
; exit program
int 21h
Main endp
End main
.stack 100h
.data
.code
Main proc
mov cx, 02
Again:
rol bL, 04
mov dl, bl
; comparing with 9
cmp dl, 09
jg conversion
add dl, 48
jmp print
Conversion:
add dl, 55
jmp print
Print:
int 21h
; exit program
int 21h
Main endp
End main
No 3:
.model small
.stack 100h
.data
msg1 db 'Enter the first number (0-9): $'
msg2 db 'Enter the second number (0-9): $'
msg3 db 'Enter 1 for subtraction and 2 for addition: $'
msg4 db 'result: $'
num1 db ?
num2 db ?
sum db ?
.code
Main proc
mov ax, @data
mov ds, ax
subtraction:
mov al, num1
sub al, num2
add al, 30h
mov sum, al
jmp print_result
print_result:
; Read first number
mov dx, offset msg4
mov ah, 09h
int 21h
; Print result
mov dl, sum
mov ah, 02h
int 21h
; Exit program
mov ah, 4ch
int 21h
Main endp
end Main