You are on page 1of 4

EX 1 ;

include"m16def.inc" .dseg
tabA: .byte 100
tabB: .byte 100
.cseg
.org 0
ldi XL, LOW(tabA)
ldi XH, HIGH(tabA)
ldi YL, LOW(tabB+101)
ldi YH, HIGH(tabB+101)
ldi R17, 0
loop:
ld R16, Y+
st -X, R16
inc R17
cpi R17, 100
brne loop ;

EX 2;
.include"m16def.inc"
.equ ItemSize = 2
.dseg
tabA: .byte 100
tabB: .byte 100
.cseg
.org 0
ldi XL, LOW(tabA)
ldi XH, HIGH(tabA)
ldi YL, LOW(tabB)
ldi YH, HIGH(tabB)
ldi R17, 2
ldi R18, 100
loop:
ld R16, X+
mul R16, R17
st Y+, R16
dec R18
cpi R18, 100
brne loop ;

EX 3
.include"m16def.inc"
.dseg
tabA: .byte 100
tabB: .byte 100
tabC: .byte 100
.cseg
.org 0
ldi XL, LOW(tabA)
ldi XH, HIGH(tabA)
ldi YL, LOW(tabB)
ldi YH, HIGH(tabB)
ldi YL, LOW(tabC)
ldi YH, HIGH(tabC)
ldi R18, 0
loop:
ld R16, Y+
ld R17, Z+
add R16, R17
st X+, R16
inc R18
cpi R18, 100
brne loop ;
EX 1.A
.include"m16def.inc"
.equ ItemSize = 2
.dseg
tabA: .byte 10*ItemSize
tabB: .byte 10*ItemSize
tabC: .byte 10*ItemSize
.cseg
.org 0
ldi XL, LOW(tabA)
ldi XH, HIGH(tabA)
ldi YL, LOW(tabB)
ldi YH, HIGH(tabB)
ldi R17, 0
loop:
ld R16, Y+
st X+, R16
inc R17
cpi R17, 100
brne loop ;

Ex2.A
.include"m16def.inc"
.equ ItemSize = 2
.dseg
tabA: .byte 10*ItemSize
tabB: .byte 10*ItemSize
tabC: .byte 10*ItemSize
.cseg
.org 0
ldi XL, LOW(tabA)
ldi XH, HIGH(tabA)
ldi YL, LOW(tabB)
ldi YH, HIGH(tabB)
ldi YL, LOW(tabC)
ldi YH, HIGH(tabC)
ldi R20, 10*ItemSize
loop:
lower_byte:
ld R16, Y+
ld R18, Z+
upper_byte:
ld r17, Y+
ld r19, Z+
add R16, R18
adc R17, R19
st X+, R17:R16
dec R20
cpi R20, 0
brne loop

You might also like