Rev. 1.00
34
September 11, 2018
Rev. 1.00
35
September 11, 2018
HT45F4050
A/D NFC Flash MCU
HT45F4050
A/D NFC Flash MCU
Example 2
data .section ‘data’
adres1 db ?
adres2 db ?
adres3 db ?
adres4 db ?
block db ?
code .section at 0 ‘code’
org 00h
start:
mov
a,04h ;
setup
size
of
block
mov block,a
mov
a,01h ;
setup
the
memory
sector
mov mp1h,a
mov a,offset adres1
; Accumulator loaded with first RAM address
mov mp1l,a ; setup memory pointer with first RAM address
loop:
clr IAR
1
; clear the data at address defined by MP1
L
inc mp1l ; increment memory pointer MP1L
sdz block ; check if last memory location has been cleared
jmp loop
continue:
:
The important point to note here is that in the example shown above, no reference is made to specific
Data Memory addresses.
Direct Addressing Program Example using extended instructions
data .section ‘data’
temp db ?
code .section at 0 code
org 00h
start:
lmov
a,[m] ;
move
[m]
data
to
acc
lsub a, [m+1] ; compare [m] and [m+1] data
snz
c ; [m]>[m+1]?
jmp
continue
;
no
lmov
a,[m] ;
yes,
exchange
[m]
and
[m+1]
data
mov temp,a
lmov a,[m+1]
lmov [m],a
mov a,temp
lmov [m+1],a
continue:
:
Note: here "m" is a data memory address located in any data memory sectors. For example,
m=1F0H, it indicates address 0F0H in Sector 1.