Code: Alles auswählen
VAR long dataStructureAddress[0]
...
byte volumeLabel[12], directoryEntryCache[32], dataBlock[512], CIDRegisterCopy[16]
...
PRI blockToLong(index) ' 4 Stack Longs
bytemove(@result, @dataBlock[(index & $1_FF)], 4)
Code: Alles auswählen
VAR long dataStructureAddress[0]
...
byte volumeLabel[12], directoryEntryCache[32], dataBlock[512], CIDRegisterCopy[16]
byte volumeLabel[12], directoryEntryCache[32], CIDRegisterCopy[16]
word RTCtime, PdataBlock
...
PRI blockToLong(index) ' 4 Stack Longs
bytemove(@result, PdataBlock[(index & $1_FF)], 4)
Das ist der Block der umgestellt muss
Code: Alles auswählen
PRI blockToWord(index) ' 4 Stack Longs
bytemove(@result, @dataBlock[(index & $1_FF)], 2)
bytemove(@result, PdataBlock[(index & $1_FF)], 2) ' <<<<< Richtig So?
PRI longToBlock(index, value) ' 5 Stack Longs
bytemove(@dataBlock[(index & $1_FF)], @value, 4)
bytemove(PdataBlock[(index & $1_FF)], @value, 4) ' <<<<< Richtig So?
PRI byteToBlock(index, value) ' 5 Stack Longs
dataBlock[(index & $1_FF)] := value ' <<<<<< Wie muss ich das Umstellen?
byte[PdataBlock+(index & $1_FF)] := value ' <<<<<<< Richtig So?
PRI zeroBlock ' 3 Stack Longs
bytefill(@dataBlock, 0, 512)
bytefill(PdataBlock, 0, 512) ' <<<<< Richtig So?
PRI blockToByte(index) ' 4 Stack Longs
return dataBlock[(index & $1_FF)] ' <<<<<< Wie muss ich das Umstellen?
return byte(PdataBlock+(index & $1_FF)] ' <<<<<< Richtig So?
PRI addressOfBlock(index) ' 4 Stack Longs
return @dataBlock[(index & $1_FF)]
return PdataBlock[(index & $1_FF)] ' <<<<< Richtig So?