Thank you but it doesnt seem to work either
Also when I adress the D01000 in BMOV it says that it is '1056' while above it is 'hxxxxxxxxxxxxxxxxx'?
There is no "H" before the 1056 in the image, so the 1056 is
base 10, which is the same as H
0420.
So that command is moving the
low word (low 16 bits) of D01000 (H200549
561603
0420), where what is actually desired is the
fifth byte i.e. H56.
The reason BMOV did that is that there was no Z argument supplied to the BMOV command, and my guess is that it assumes Z is H0010
- H0xxx - start reading bits at bit 0 on the Source
- Hx0xx - start writing bits at bit 0 on the Destination
- Hxx10 - read and write H10 bits i.e one word = two bytes
I
think it needs to be something like
Code:
BMOV D01001 M0200 0008
OR
MOV8 D01001.0 M0200
TL;DR
Data have been moved to D01000 as HCCwdSSMMHHddmmyy.
where
- H indcates hexadecimal
- All following values are in BCD
- CC is hundreds of years (20 for 2000A.D. through 2099A.D.)
- wd is weekday (00=Sunday; 05=Friday)
- SS is second of minute
- MM is minute of hour
- HH is hour of day
- dd is day of month
- mm is month of year (01=January)
- yy is year modulo 100 (19 for 2019A.D.)
Minute of hour is desired, that starts at bit 16 of the double word D01000; we cannot address bits beyond 15 (D01000.F), so we jump to the next double word address, so "D01000.10" (where the .10 implies H10 i.e. decimal 16) would be illegal syntax (I assume), but conceptually it is the same as D01001.0.
cf. "XGB/XGC Instructions and Programming User's Manual," section 2.2.5.
Again, if I understand that section 2.2.5 correctly, then that date field copied to D01000 looks like this
Code:
+--Low nibble of D01001
|
v
H200549[COLOR=Blue][COLOR=black]5[/COLOR][I][B]6[/B][/I][/COLOR]1603[COLOR=Red]042[I][B]0[/B][/I][/COLOR]
[COLOR=Red][COLOR=Black] ^[/COLOR][/COLOR]
[COLOR=Red][COLOR=Black] |[/COLOR][/COLOR]
[COLOR=Red][COLOR=Black] +--Low nibble of D01000
[/COLOR][/COLOR]
[COLOR=Red][I][B][COLOR=Black][/COLOR]
[/B][/I][/COLOR]