Dummy... are defined to be in bank0,
Warte_Drive is located at $C2.
If there is some time tommorow I will test it again on the dedicated hardware and can deliver the .lst-files.
I use MPASM !
I just looked inside the lst-file.
I think there is an error !
DummyW<<1 is recognized as a 1-bit shift of a word-variable.
First, C is cleared. OK.
Then, RP is set to BANK0 in order to acces DummyW,
DummyW is rotated left into WREG,
RP is set to BANK1,
W is stored in Warte_Drive,
DummyW+1 is rotated left into WREG, (without choosing Bank0!)
W is stored in Warte_Drive+1.
There is a bug !
Here is the part of the lst-file:
06090 ; D:\_\ENTWIC~1\BIOFUE~1\BFC220~1.BAS 01795 Dummy=Cod_Time_Drive:Gosub Cod2Wert:Warte_Drive=DummyW<<1
06091 SHIFTL?WCW _DummyW, 001h, _Warte_Drive
M if (001h == 1)
1681 1003 M bcf STATUS, C
M if (_Warte_Drive == _DummyW)
[...]
M else
M CHK?RP _DummyW
[...]
1682 0D3C M rlf _DummyW, W
M MOVE?AB _Warte_Drive
M CHK?RP _Warte_Drive
[...]
1683 1683 M bsf STATUS, RP0
[...]
1684 00C2 M movwf _Warte_Drive
M CHK?RP _Warte_Drive
[...]
1685 0D3D M rlf _DummyW + 1, W
M MOVE?AB _Warte_Drive + 1
[...]
1686 00C3 M movwf _Warte_Drive + 1
M endif
M else
M MOVE?WW _DummyW, R0
M MOVE?CA 001h
M L?CALL SHIFTL
M MOVE?AWW R0, _Warte_Drive
M endif
06092
PBP 2.50C, MCS+ 3.0.0.5, MPLAB 8, MPASM 5.14, ASIX Presto, PoScope, mE mikroBasic V7.2, PICKIT2
Bookmarks