diff --git a/SMILEBASIC/TEST.txt b/SMILEBASIC/TEST.txt index dbc87d2..a01d5d2 100644 --- a/SMILEBASIC/TEST.txt +++ b/SMILEBASIC/TEST.txt @@ -60,18 +60,18 @@ DEF SWAPTEST VAR A=1 VAR B=2 SWAP A,B - ASSERT__ B==1, "SWAP" - ASSERT__ A==2, "SWAP" + ASSERT__ B==1, "SWAP1" + ASSERT__ A==2, "SWAP2" VAR A$="1 VAR B$="2 SWAP A$,B$ - ASSERT__ B$=="1", "SWAP" - ASSERT__ A$=="2", "SWAP" + ASSERT__ B$=="1", "SWAP3" + ASSERT__ A$=="2", "SWAP4" VAR A%=1 VAR B#=2.34567 SWAP A%,B# - ASSERT__ B#==1, "SWAP" - ASSERT__ A%==2, "SWAP" + ASSERT__ B#==1, "SWAP5" + ASSERT__ A%==2, "SWAP6" END 'REPEAT TEST diff --git a/SMILEBASIC/VM.d b/SMILEBASIC/VM.d index ec6304f..07c55bf 100644 --- a/SMILEBASIC/VM.d +++ b/SMILEBASIC/VM.d @@ -2293,7 +2293,7 @@ class SwapCode : Code if (refitem1.reference.type == ValueType.Double && refitem2.reference.type == ValueType.Integer) { integer = refitem2.reference.castInteger; - refitem2.reference.integerValue = refitem1.reference.integerValue; + refitem2.reference.integerValue = refitem1.reference.castInteger; refitem1.reference.doubleValue = integer; return; }