EuroAssembler Index Manual Download Source Macros


Sitemap Links Forum Tests Projects

Test t3033: 64bit MOFFS addressing mode


Description
Copying between memory|immediate and accumulator in special MOFFS addressing mode with opcodes A0..A3, B0..BF.
Tested procedures
IigMOV  
Source & expected listing t3033.htm.lst
| | EUROASM LIST=ON,DUMP=ON,DUMPWIDTH=32,AUTOALIGN=OFF,CPU=X64 | |t3033: PROGRAM FORMAT=BIN,MODEL=FLAT,WIDTH=64, \ | | IMAGEBASE=0x3300_0000,LISTMAP=ON,LISTGLOBALS=ON |[CODE] |[CODE] SEGMENT |00000000:90 | ALIGN OWORD,BYTE ; Intentional disalignment. |00000001:1111111111111111 |NearQword:: DQ 0x11111111_11111111 |00000009:22222222 |NearDword:: DD 0x22222222 |0000000D:3333 |NearWord:: DW 0x3333 |0000000F:44 |NearByte:: DB 0x44 |00000010:B044 | MOV AL,0x44 |00000012:66B83333 | MOV AX,0x3333 |00000016:B822222222 | MOV EAX,0x22222222 |0000001B:48B81111111111111111 | MOV RAX,0x11111111_11111111 |00000025:B144 | MOV CL,0x44 |00000027:66B93333 | MOV CX,0x3333 |0000002B:B922222222 | MOV ECX,0x22222222 |00000030:B9FFFFFFFF | MOV ECX,0xFFFFFFFF |00000035:B9FFFFFFFF | MOV ECX,-1 |0000003A:B922222222 | MOV RCX,0x22222222 |0000003F:B9FFFFFFFF | MOV RCX,0xFFFFFFFF |00000044:48C7C1FFFFFFFF | MOV RCX,-1 |0000004B:48B9FFFFFFFFFFFFFFFF | MOV RCX,-1,IMM=QWORD |00000055:48B91111111111111111 | MOV RCX,0x11111111_11111111 |0000005F:67A022110000 | MOV AL,[1122h] |00000065:67A0[0F000000] | MOV AL,[NearByte] |0000006B:67A0[0F000000] | MOV AL,[FarByte] |00000071:6667A122110000 | MOV AX,[1122h] |00000078:6667A1[0D000000] | MOV AX,[NearWord] |0000007F:6667A1[0D000000] | MOV AX,[FarWord] |00000086:67A122110000 | MOV EAX,[1122h] |0000008C:67A1[09000000] | MOV EAX,[NearDword] |00000092:67A1[09000000] | MOV EAX,[FarDword] |00000098:6748A122110000 | MOV RAX,[1122h] |0000009F:6748A1[01000000] | MOV RAX,[NearQword] |000000A6:6748A1[01000000] | MOV RAX,[FarQword] |000000AD:67A222110000 | MOV [1122h],AL |000000B3:67A2[0F000000] | MOV [NearByte],AL |000000B9:67A2[0F000000] | MOV [FarByte],AL |000000BF:6667A322110000 | MOV [1122h],AX |000000C6:6667A3[0D000000] | MOV [NearWord],AX |000000CD:6667A3[0D000000] | MOV [FarWord],AX |000000D4:67A322110000 | MOV [1122h],EAX |000000DA:67A3[09000000] | MOV [NearDword],EAX |000000E0:67A3[09000000] | MOV [FarDword],EAX |000000E6:6748A322110000 | MOV [1122h],RAX |000000ED:6748A3[01000000] | MOV [NearQword],RAX |000000F4:6748A3[01000000] | MOV [FarQword],RAX |000000FB: | |[DATA] |[DATA] SEGMENT |00000000:00 | ALIGN QWORD,BYTE ; Intentional disalignment. |00000001:FFFFFFFFFFFFFFFF |FarQword:: DQ 0xFFFFFFFF_FFFFFFFF |00000009:EEEEEEEE |FarDword:: DD 0xEEEEEEEE |0000000D:DDDD |FarWord:: DW 0xDDDD |0000000F:CC |FarByte:: DB 0xCC | | ENDPROGRAM t3033: | **** ListMap "t3033.bin",model=FLAT,groups=0,segments=2,entry=,stack= | [CODE],FA=00000000h,VA=33000000h,size=000000FBh=251,width=64,align=0010h,purpose=CODE | [DATA],FA=00000100h,VA=33000100h,size=00000010h=16,width=64,align=0010h,purpose=DATA | **** ListGlobals "t3033.bin",Global=0,Public=8,Extern=0,eXport=0,Import=0 | FarByte,[DATA]:0000000Fh,VA=3300010Fh,scope='P' | FarDword,[DATA]:00000009h,VA=33000109h,scope='P' | FarQword,[DATA]:00000001h,VA=33000101h,scope='P' | FarWord,[DATA]:0000000Dh,VA=3300010Dh,scope='P' | NearByte,[CODE]:0000000Fh,VA=3300000Fh,scope='P' | NearDword,[CODE]:00000009h,VA=33000009h,scope='P' | NearQword,[CODE]:00000001h,VA=33000001h,scope='P' | NearWord,[CODE]:0000000Dh,VA=3300000Dh,scope='P'
Expected messages t3033.out
I0180 Assembling source file "t3033.htm". I0270 Assembling source "t3033". I0310 Assembling source pass 1. I0330 Assembling source pass 2 - final. I0470 Assembling program "t3033". "t3033.htm"{52} I0510 Assembling program pass 1. "t3033.htm"{52} I0510 Assembling program pass 2. "t3033.htm"{52} I0530 Assembling program pass 3 - final. "t3033.htm"{52} I0660 64bit FLAT BIN file "t3033.bin" created, size=272. "t3033.htm"{105} I0650 Program "t3033" assembled in 3 passes with errorlevel 0. "t3033.htm"{105} I0750 Source "t3033" (157 lines) assembled in 2 passes with errorlevel 0. I0860 Listing file "t3033.htm.lst" created, size=3903. I0990 EuroAssembler terminated with errorlevel 0.
Expected output file t3033. bin
0000: 90 11 11 11 11 11 11 11 11 22 22 22 22 33 33 44  ¤········""""33D
0010: B0 44 66 B8 33 33 B8 22 22 22 22 48 B8 11 11 11  ¤Df¤33¤""""H¤···
0020: 11 11 11 11 11 B1 44 66 B9 33 33 B9 22 22 22 22  ·····¤Df¤33¤""""
0030: B9 FF FF FF FF B9 FF FF FF FF B9 22 22 22 22 B9  ¤¤¤¤¤¤¤¤¤¤¤""""¤
0040: FF FF FF FF 48 C7 C1 FF FF FF FF 48 B9 FF FF FF  ¤¤¤¤H¤¤¤¤¤¤H¤¤¤¤
0050: FF FF FF FF FF 48 B9 11 11 11 11 11 11 11 11 67  ¤¤¤¤¤H¤········g
0060: A0 22 11 00 00 67 A0 0F 00 00 33 67 A0 0F 01 00  ¤"·°°g¤·°°3g¤··°
0070: 33 66 67 A1 22 11 00 00 66 67 A1 0D 00 00 33 66  3fg¤"·°°fg¤·°°3f
0080: 67 A1 0D 01 00 33 67 A1 22 11 00 00 67 A1 09 00  g¤··°3g¤"·°°g¤·°
0090: 00 33 67 A1 09 01 00 33 67 48 A1 22 11 00 00 67  °3g¤··°3gH¤"·°°g
00A0: 48 A1 01 00 00 33 67 48 A1 01 01 00 33 67 A2 22  H¤·°°3gH¤··°3g¤"
00B0: 11 00 00 67 A2 0F 00 00 33 67 A2 0F 01 00 33 66  ·°°g¤·°°3g¤··°3f
00C0: 67 A3 22 11 00 00 66 67 A3 0D 00 00 33 66 67 A3  g¤"·°°fg¤·°°3fg¤
00D0: 0D 01 00 33 67 A3 22 11 00 00 67 A3 09 00 00 33  ··°3g¤"·°°g¤·°°3
00E0: 67 A3 09 01 00 33 67 48 A3 22 11 00 00 67 48 A3  g¤··°3gH¤"·°°gH¤
00F0: 01 00 00 33 67 48 A3 01 01 00 33 00 00 00 00 00  ·°°3gH¤··°3°°°°°
0100: 00 FF FF FF FF FF FF FF FF EE EE EE EE DD DD CC  °¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤

▲Back to the top▲