You are on page 1of 6

Lab 10

Task 1:

org 100h

include emu8086.inc

.DATA

arr db 8 DUP (?)

n db 0

.CODE

printn 'Enter 1st value'

call scan_num

mov arr,cl

printn ''

printn 'Enter 2nd value '

call scan_num

mov arr+1,cl

printn ''

printn 'Enter 3rd value'

call scan_num

mov arr+2,cl

printn ''

printn 'Enter 4th value'

call scan_num

mov arr+3,cl

printn ''

printn 'Enter 5th value'


call scan_num

mov arr+4,cl

printn ''

printn 'Enter 6th value'

call scan_num

mov arr+5,cl

printn ''

printn 'Enter 7th value'

call scan_num

mov arr+6,cl

printn ''

printn 'Enter 8th value'

call scan_num

mov arr+7,cl

printn 'the values after every second value are'

mov al,arr+1

printn ''

printn '2nd value is'

call print_num

mov al,arr+3

printn ''

printn '4th value is'

call print_num
mov al,arr+5

printn ''

printn '6th value is'

call print_num

mov al,arr+7

printn ''

printn '8th value is'

call print_num

main PROC

main ENDP

DEFINE_PRINT_NUM

DEFINE_PRINT_NUM_UNS

DEFINE_SCAN_NUM

end main

ret
Task 3:

include emu8086.inc

.data

arr dw 10 dup(?)

a dw 1

n dw 0

c dw 0

.CODE

main PROC

mov ax, @data

mov ds, ax

mov ax,0
lea bx,arr

whilecount1:cmp a,10

jg quit

printn

print "enter number"

call scan_num

mov PTR [bx],cx

add bx,2

inc a

jmp whilecount1

quit:

printn

printn "enter a number to sarch"

call scan_num

mov n,cx

lea bx,arr

mov a,1

whileloop1: cmp a,10

jg end1

cmp cx,[bx]

je label1

add bx,2

inc a

jmp whileloop1
label1:

printn

printn "Number Found "

jmp end

end1:

printn

print "Number not Present"

end:

main ENDP

DEFINE_PRINT_NUM

DEFINE_SCAN_NUM

DEFINE_PRINT_NUM_UNS

END main

You might also like