XCH (exchange)

Exchanges two values.

Syntax

XCH1 value1 [in/out,1], value2 [in/out,1] ;code:65
XCH2 value1 [in/out,2], value2 [in/out,2] ;code:66
XCH4 value1 [in/out,4], value2 [in/out,4] ;code:67
XCH8 value1 [in/out,8], value2 [in/out,8] ;code:68
XCHN size [in,4i], value1 [in/out,1[size]], value2 [in/out,1[size]] ;code:69

Description

These instructions exchanges two values. They memory regions cannot overlap.

NoASM

There are several kinds of these instructions defined in NoASM Compiler:

XCH1,  XCH2,  XCH4,  XCH8,  XCHN,
XCH1i, XCH2i, XCH4i, XCH8i,
XCH1u, XCH2u, XCH4u, XCH8u,
              XCH4f, XCH8f