steffen_sohl
Lifetime Supporting Member
Hi Johnny
I've got an example of how we do inderect adressing these days at PMN, yes it's us who made this old palletizer, for I don't know how long ago.
In my opinion it's a lot of money and time to spend on a 20 - 25 years old machine, but of cource we make our money selling new machines.
Back to the example.
A M 120.7 //OS to shift tabel
JCN JMP2
L MD 130 //Memory for Pointer
LAR1 //to AR1
L MD 130 //Memory for Pointer
L P#4.0 //Increment Pointer with 4 Byte
+D
T MD 130 //New Pointer to Memory
OPN DB1 //Open Datablock
L DBW [AR1,P#0.0] //Load Value from DB
T DB100.DBW0 //Transfer to workarea
L DBW [AR1,P#2.0] //Load Value from DB
T DB100.DBW2 //Transfer to workarea
JMP2: NOP 0
M120.7 is a one/shot to shift the table from your programme sequence and the no. of bytes you increment your Pointer is dependend on how many bytes / words you need.
I've got an example of how we do inderect adressing these days at PMN, yes it's us who made this old palletizer, for I don't know how long ago.
In my opinion it's a lot of money and time to spend on a 20 - 25 years old machine, but of cource we make our money selling new machines.
Back to the example.
A M 120.7 //OS to shift tabel
JCN JMP2
L MD 130 //Memory for Pointer
LAR1 //to AR1
L MD 130 //Memory for Pointer
L P#4.0 //Increment Pointer with 4 Byte
+D
T MD 130 //New Pointer to Memory
OPN DB1 //Open Datablock
L DBW [AR1,P#0.0] //Load Value from DB
T DB100.DBW0 //Transfer to workarea
L DBW [AR1,P#2.0] //Load Value from DB
T DB100.DBW2 //Transfer to workarea
JMP2: NOP 0
M120.7 is a one/shot to shift the table from your programme sequence and the no. of bytes you increment your Pointer is dependend on how many bytes / words you need.