ich hatte einige umstimigkeiten mit der geschwindigkeit in der die grundrechenarten in kombination mit verschiedenen Datentypen ausgefürt werden. Ich habe daswegen alles mal im Bascom Simulator getestet(ohne Gewähr)
Code:
$regfile = "m32def.dat"
$crystal = 11059200
Dim B1 As Byte
Dim B2 As Byte
Dim B3 As Byte
Dim I1 As Integer
Dim I2 As Integer
Dim I3 As Integer
Dim W1 As Word
Dim W2 As Word
Dim W3 As Word
Dim L1 As Long
Dim L2 As Long
Dim L3 As Long
Dim S1 As Single
Dim S2 As Single
Dim S3 As Single
Dim D1 As Double
Dim D2 As Double
Dim D3 As Double
B1 = 80
I1 = 80
W1 = 80
L1 = 80
S1 = 80
D1 = 80
B2 = 8
I2 = 8
W2 = 8
L2 = 8
S2 = 8
D2 = 8
Do
B3 = B1 + B2 '9
B3 = B1 - B2 '9
B3 = B1 * B2 '10
B3 = B1 / B2 '112
Shift , B1 , Right , 3 '27
I3 = I1 + I2 '20
I3 = I1 - I2 '20
I3 = I1 * I2 '39
I3 = I1 / I2 '291
Shift , I1 , Right , 3 '34
W3 = W1 + W2 '20
W3 = W1 - W2 '20
W3 = W1 * W2 '39
W3 = W1 / W2 '255 '
Shift , W1 , Right , 3 '34
L3 = L1 + L2 '41
L3 = L1 - L2 '41
L3 = L1 * L2 '87
L3 = L1 / L2 '787
Shift , L1 , Right , 3 '48
S3 = S1 + S2 '162
S3 = S1 - S2 '171
S3 = S1 * S2 '420
S3 = S1 / S2 '527
Shift , S1 , Right , 3 '73
D3 = D1 + D2 '315
D3 = D1 - D2 '378
D3 = D1 * D2 '455
D3 = D1 / D2 '1760
Shift , D1 , Right , 3 '1
Loop
End 'end program
Die Komentare in der jeweiligen zeile sind nach Simulator die benötigten zyklen die für die berechnung benötigt werden. Mir hat es geholfen und deswegen wolte ich die ganze mühe nicht für mich behalten.
Lesezeichen