42 lines
883 B
Text
42 lines
883 B
Text
INCLUDE "D2:REAL.ACT" ;from the Action! Tool Kit
|
|
|
|
PROC Swap(BYTE POINTER ptr1,ptr2 INT size)
|
|
BYTE tmp
|
|
INT i
|
|
|
|
FOR i=0 TO size-1
|
|
DO
|
|
tmp=ptr1^ ptr1^=ptr2^ ptr2^=tmp
|
|
ptr1==+1 ptr2==+1
|
|
OD
|
|
RETURN
|
|
|
|
PROC Main()
|
|
BYTE b1=[13],b2=[56]
|
|
INT i1=[65234],i2=[534]
|
|
REAL r1,r2
|
|
CHAR ARRAY s1="abcde",s2="XYZ"
|
|
|
|
Put(125) PutE() ;clear the screen
|
|
ValR("32.5",r1) ValR("-0.63",r2)
|
|
|
|
Print("Swap bytes: ")
|
|
PrintB(b1) Put(32) PrintB(b2) Print(" -> ")
|
|
Swap(@b1,@b2,1)
|
|
PrintB(b1) Put(32) PrintBE(b2)
|
|
|
|
Print("Swap integers: ")
|
|
PrintI(i1) Put(32) PrintI(i2) Print(" -> ")
|
|
Swap(@i1,@i2,2)
|
|
PrintI(i1) Put(32) PrintIE(i2)
|
|
|
|
Print("Swap floats: ")
|
|
PrintR(r1) Put(32) PrintR(r2) Print(" -> ")
|
|
Swap(r1,r2,6)
|
|
PrintR(r1) Put(32) PrintRE(r2)
|
|
|
|
Print("Swap strings: ")
|
|
Print(s1) Put(32) Print(s2) Print(" -> ")
|
|
Swap(@s1,@s2,2)
|
|
Print(s1) Put(32) PrintE(s2)
|
|
RETURN
|