Dataman 48Pro User Manual

Page 59

Advertising
background image

Software


Description

MSB 14-Bit

word

LSB

RETLW

Return with literal in W

11 01xx

kkkk

kkkk


where xx can be replaced by 00 and k are data bits, i.e.
serial number byte

Opcode of RETLW instruction is hexadecimal 34KKH
where KK is data Byte (serial number byte)

Let’s assume we want to write serial number
1234ABCDH as part of four RETLW instructions to
device PIC. The highest Byte of serial number is the most
significant Byte. We want to write the serial number to
device program memory at address 40H. Serial number
split us very useful in this situation. Serialization without
serial number split will write the following number to
buffer and device:

Address Data
0000080

CD AB 34 12 xx xx xx xx xx xx xx xx xx xx xx xx


Note: address 80H is because buffer has byte
organization and PIC has word organization so it has
equivalent program memory address 40H. When buffer
has word organization x16, the address will be 40H and
number 1234ABCDH will be placed to buffer as following:

Address Data
0000040 ABCD 1234 xxxx xxxx xxxx xxxx xxxx xxxx

We want to use RETLW instruction so buffer has to be:

Address Data
0000040 34CD 34AB 3434 3412 xxxx xxxx xxxx xxxx

We can do this by following steps:

a) write four RETLW instructions at address 40H to

main buffer (this can be done by hand editing buffer
or by loading file with proper content). The bottom 8
bits of each RETLW instruction are not important
now, because serialization will write correct serial
number bytes at bottom 8 bits of each RETLW
instruction.

The buffer content before starting device program will
look for example as following:

Address Data
0000040

3400 3400 3400 3400 xxxx xxxx xxxx xxxx

59

Advertising