Test t3202:
Machine instructions XCHG
- Tested procedures
-
IigXCHG
- Source & expected listing
t3202.htm.lst
-
| | EUROASM LIST=ON, DUMP=ON, DUMPWIDTH=32,CPU=X64
| |t3202 PROGRAM FORMAT=BIN,LISTMAP=OFF,LISTGLOBALS=OFF
| |;;
|[Mode16] |[Mode16] SEGMENT WIDTH=16,PURPOSE=CODE
|0000:0000000000000000 |MemQword DQ Q
|0008:00000000 |MemDword DD D
|000C:0000 |MemWord DW W
|000E:00 |MemByte DB B
|000F:86C1 | XCHG AL,CL
|0011:86C8 | XCHG AL,CL,CODE=LONG
|0013:86C8 | XCHG CL,AL
|0015:86C1 | XCHG CL,AL,CODE=LONG
|0017:86E0 | XCHG AH,AL
|0019:86E0 | XCHG AL,AH,CODE=LONG
|001B:8605 | XCHG AL,[DI]
|001D:8605 | XCHG [DI],AL
|001F:F08606[0E00] | LOCK:XCHG [MemByte],AL
|0024:91 | XCHG AX,CX
|0025:87C8 | XCHG AX,CX,CODE=LONG
|0027:91 | XCHG CX,AX
|0028:87C1 | XCHG CX,AX,CODE=LONG
|002A:87CA | XCHG CX,DX
|002C:87D1 | XCHG CX,DX,CODE=LONG
|002E:87D1 | XCHG DX,CX
|0030:87CA | XCHG DX,CX,CODE=LONG
|0032:8705 | XCHG AX,[DI]
|0034:8705 | XCHG [DI],AX
|0036:8706[0C00] | XCHG AX,[MemWord]
|003A:8706[0C00] | XCHG [MemWord],AX
|003E:6690 | XCHG EAX,EAX
|0040:6691 | XCHG EAX,ECX
|0042:6687C8 | XCHG EAX,ECX,CODE=LONG
|0045:6691 | XCHG ECX,EAX
|0047:6687C1 | XCHG ECX,EAX,CODE=LONG
|004A:6687CA | XCHG ECX,EDX
|004D:6687D1 | XCHG ECX,EDX,CODE=LONG
|0050:668705 | XCHG EAX,[DI]
|0053:668705 | XCHG [DI],EAX
|0056:66870D | XCHG ECX,[DI]
|0059:66870D | XCHG [DI],ECX
|005C:668706[0800] | XCHG EAX,[MemDword]
|0061:668706[0800] | XCHG [MemDword],EAX
| |;;
|[Mode32] |[Mode32] SEGMENT WIDTH=32,PURPOSE=CODE
|00000000:86C1 | XCHG AL,CL
|00000002:86C8 | XCHG AL,CL,CODE=LONG
|00000004:86C8 | XCHG CL,AL
|00000006:86C1 | XCHG CL,AL,CODE=LONG
|00000008:8607 | XCHG AL,[EDI]
|0000000A:8607 | XCHG [EDI],AL
|0000000C:8605[0E000000] | XCHG AL,[MemByte]
|00000012:F08605[0E000000] | LOCK:XCHG [MemByte],AL
|00000019:6691 | XCHG AX,CX
|0000001B:6687C8 | XCHG AX,CX,CODE=LONG
|0000001E:6691 | XCHG CX,AX
|00000020:6687C1 | XCHG CX,AX,CODE=LONG
|00000023:6687CA | XCHG CX,DX
|00000026:6687D1 | XCHG CX,DX,CODE=LONG
|00000029:6687D1 | XCHG DX,CX
|0000002C:6687CA | XCHG DX,CX,CODE=LONG
|0000002F:668707 | XCHG AX,[EDI]
|00000032:668707 | XCHG [EDI],AX
|00000035:668705[0C000000] | XCHG AX,[MemWord]
|0000003C:668705[0C000000] | XCHG [MemWord],AX
|00000043:90 | XCHG EAX,EAX
|00000044:91 | XCHG EAX,ECX
|00000045:87C8 | XCHG EAX,ECX,CODE=LONG
|00000047:91 | XCHG ECX,EAX
|00000048:87C1 | XCHG ECX,EAX,CODE=LONG
|0000004A:87CA | XCHG ECX,EDX
|0000004C:87D1 | XCHG ECX,EDX,CODE=LONG
|0000004E:8707 | XCHG EAX,[EDI]
|00000050:8707 | XCHG [EDI],EAX
|00000052:870F | XCHG ECX,[EDI]
|00000054:870F | XCHG [EDI],ECX
|00000056:8705[08000000] | XCHG EAX,[MemDword]
|0000005C:8705[08000000] | XCHG [MemDword],EAX
|00000062:874540 | XCHG EAX,[EBP+64]
|00000065:874540 | XCHG [EBP+64],EAX
| |;;
|[Mode64] |[Mode64] SEGMENT WIDTH=64,PURPOSE=CODE
|00000000:86C1 | XCHG AL,CL
|00000002:86C8 | XCHG AL,CL,CODE=LONG
|00000004:86C8 | XCHG CL,AL
|00000006:86C1 | XCHG CL,AL,CODE=LONG
|00000008:86C4 | XCHG AL,AH
|0000000A:86E0 | XCHG AL,AH,CODE=LONG
|0000000C:86E0 | XCHG AH,AL
|0000000E:86C4 | XCHG AH,AL,CODE=LONG
|00000010:4086C6 | XCHG AL,SIL
|00000013:4086F0 | XCHG AL,SIL,CODE=LONG
|00000016:4086F0 | XCHG SIL,AL
|00000019:4086C6 | XCHG SIL,AL,CODE=LONG
|0000001C:4586C1 | XCHG R8L,R9L
|0000001F:4586C8 | XCHG R9L,R8L
|00000022:4887EB | XCHG RBP,RBX
|00000025:4987C1 | XCHG RAX,R9
|00000028:4D87D3 | XCHG R10,R11
|0000002B:4987EF | XCHG RBP,R15
|0000002E:4C87C1 | XCHG R8,RCX
|00000031:4187C1 | XCHG EAX,R9D
|00000034:4187C8 | XCHG ECX,R8D
|00000037:664187C1 | XCHG AX,R9W
|0000003B:664487C1 | XCHG R8W,CX
|0000003F:4486C0 | XCHG R8B,AL
|00000042:4186C1 | XCHG AL,R9B
|00000045:4486C1 | XCHG R8B,CL
|00000048:4186C9 | XCHG CL,R9B
|0000004B:8607 | XCHG AL,[RDI]
|0000004D:8607 | XCHG [RDI],AL
|0000004F:448607 | XCHG R8L,[RDI]
|00000052:448607 | XCHG [RDI],R8L
|00000055:8605(0E000000) | XCHG AL,[MemByte]
|0000005B:F08605(0E000000) | LOCK:XCHG [MemByte],AL
|00000062:448605(0E000000) | XCHG R8L,[MemByte]
|00000069:448605(0E000000) | XCHG [MemByte],R8L
|00000070:6691 | XCHG AX,CX
|00000072:6687C8 | XCHG AX,CX,CODE=LONG
|00000075:6691 | XCHG CX,AX
|00000077:6687C1 | XCHG CX,AX,CODE=LONG
|0000007A:664187C8 | XCHG CX,R8W
|0000007E:664187C8 | XCHG R8W,CX,CODE=LONG
|00000082:6687D1 | XCHG DX,CX
|00000085:6687CA | XCHG DX,CX,CODE=LONG
|00000088:664587C1 | XCHG R8W,R9W
|0000008C:668707 | XCHG AX,[RDI]
|0000008F:668707 | XCHG [RDI],AX
|00000092:66870F | XCHG CX,[RDI]
|00000095:66870F | XCHG [RDI],CX
|00000098:668705(0C000000) | XCHG AX,[MemWord]
|0000009F:668705(0C000000) | XCHG [MemWord],AX
|000000A6:87C0 | XCHG EAX,EAX
|000000A8:92 | XCHG EAX,EDX
|000000A9:87D0 | XCHG EAX,EDX,CODE=LONG
|000000AB:92 | XCHG EDX,EAX
|000000AC:87C2 | XCHG EDX,EAX,CODE=LONG
|000000AE:4187D0 | XCHG EDX,R8D
|000000B1:4487C2 | XCHG R8D,EDX
|000000B4:87CA | XCHG ECX,EDX
|000000B6:87D1 | XCHG ECX,EDX,CODE=LONG
|000000B8:8707 | XCHG EAX,[RDI]
|000000BA:8707 | XCHG [RDI],EAX
|000000BC:8705(08000000) | XCHG EAX,[MemDword]
|000000C2:8705(08000000) | XCHG [MemDword],EAX
|000000C8:44870D(08000000) | XCHG R9D,[MemDword]
|000000CF:44870D(08000000) | XCHG [MemDword],R9D
|000000D6:4892 | XCHG RAX,RDX
|000000D8:4887D0 | XCHG RAX,RDX,CODE=LONG
|000000DB:4D87C1 | XCHG R8,R9
|000000DE:4D87C8 | XCHG R9,R8
|000000E1:4987EF | XCHG RBP,R15
|000000E4:4C87FD | XCHG RBP,R15,CODE=LONG
|000000E7:488707 | XCHG RAX,[RDI]
|000000EA:488707 | XCHG [RDI],RAX
|000000ED:4C8707 | XCHG R8,[RDI]
|000000F0:4C8707 | XCHG [RDI],R8
|000000F3:488705(00000000) | XCHG RAX,[MemQword]
|000000FA:488705(00000000) | XCHG [MemQword],RAX
|00000101:48875540 | XCHG RDX,[RBP+64]
|00000105:48875540 | XCHG [RBP+64],RDX
| | ENDPROGRAM t3202
- Expected messages
t3202.out
I0180 Assembling source file "t3202.htm".
I0270 Assembling source "t3202".
I0310 Assembling source pass 1.
I0330 Assembling source pass 2 - final.
I0470 Assembling program "t3202". "t3202.htm"{49}
I0510 Assembling program pass 1. "t3202.htm"{49}
I0510 Assembling program pass 2. "t3202.htm"{49}
I0530 Assembling program pass 3 - final. "t3202.htm"{49}
I0660 16bit TINY BIN file "t3202.bin" created, size=489. "t3202.htm"{208}
I0650 Program "t3202" assembled in 3 passes with errorlevel 0. "t3202.htm"{208}
I0750 Source "t3202" (227 lines) assembled in 2 passes with errorlevel 0.
I0860 Listing file "t3202.htm.lst" created, size=8138.
I0990 EuroAssembler terminated with errorlevel 0.
▲Back to the top▲