XCH (exchange)
Exchanges two values.
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
These instructions exchanges two values. They memory regions cannot overlap.
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