Q.Explain the purpose and working of each instruction written
in the following lines
Hint: three codes are mentioned separately regarding about the multitasking kernel.
Code # 1
; subroutine to run as first thread
mytask: push bp
mov bp, sp
sub sp, 2 ; thread local variable
push ax
push bx
xor ax, ax ; use line number 0
mov bx, 70 ; use column number 70
mov word [bp-2], 0 ; initialize local variable
Code # 2
; subroutine to run as second thread
mytask2: push ax
push bx
push es
mov ax, 0xb800
mov es, ax ; point es to video base
xor bx, bx ; initialize to use first shape
Code # 3
; subroutine to run as third thread
mytask3: push bp
mov bp, sp
sub sp, 2 ; thread local variable
push ax
push bx
push cx