SWAP

From MCS Wiki AVR
Jump to: navigation, search

Contents

Action

Exchange two variables of the same type.

Exchange a nibbler or 2 bytes

 

 

Syntax

SWAP var1, var2

SWAP var3

 

 

Remarks

var1

A variable of type bit, byte, integer, word, long or string.

var2

A variable of the same type as var1.

var3

A byte, integer or word.

 

After the swap, var1 will hold the value of var2 and var2 will hold the value of var1.

 

When using swap with a single variable it need to be a byte, integer or word variable.

When using swap on a byte, the nibbles will be swapped.

Example :

byte=&B1100_0001  : swap byte : byte will become : &B0001_1100

 

When using swap on a single integer or word, the 2 bytes will be swapped so the LSB becomes the MSB and the MSB becomes the LSB.

 

 

Example


'-----------------------------------------------------------------------------------------
'name : swap.bas
'copyright : (c) 1995-2005, MCS Electronics
'purpose : demo: SWAP
'micro : Mega48
'suited for demo : yes
'commercial addon needed : no
'-----------------------------------------------------------------------------------------
 
$regfile = "m48def.dat" ' specify the used micro
$crystal = 4000000 ' used crystal frequency
$baud = 19200 ' use baud rate
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
 
Dim A As Byte , B1 As Byte
Dim Bbit1 As Bit , Bbit2 As Bit
Dim S1 As String * 10 , S2 As String * 10
 
 
 
S1 = "AAA" : S2 = "BBB"
Swap S1 , S2
 
A = 5 : B1 = 10 'assign some vars
Print A ; " " ; B1 'print them
 
Swap A , B1 'swap them
Print A ; " " ; B1 'print is again
 
Set Bbit1
Swap Bbit1 , Bbit2
Print Bbit1 ; Bbit2
End

Languages   English Deutsch  
Personal tools
Namespaces
Variants
Actions
Navigation
In other languages
Language