EuroAssembler Index Manual Download Source Macros


Sitemap Links Forum Tests Projects

Test t3019: 64bit addressing mode combinations in PE format


See also
t3016   t3019  
Tested procedures
IiFlush   PseudoGROUP  
Source & expected listing t3019.htm.lst
| | EUROASM DUMPALL=YES, DUMPWIDTH=40, CPU=X64 | |t3019 PROGRAM FORMAT=PE, MODEL=FLAT, WIDTH=64, ICONFILE=, \ | | FILEALIGN=16, SECTIONALIGN=4K, IMAGEBASE=4M, \ | | LISTMAP=YES, LISTGLOBALS=YES, ENTRY=Main:: |[.text] |[.text] SEGMENT PURPOSE=CODE, ALIGN=16 |00000000:90 | NOP |00000001:6748A1[08000000] |Main:: MOV RAX,[Qword] |00000008:6748A1[08000000] | MOV RAX,[Qword],ADDR=ABS |0000000F:48B8[0300000000000000] | MOV RAX,FarProc |00000019:6748A3[08000000] | MOV [Qword],RAX |00000020:488D05(03000000) | LEA RAX,[FarProc] |00000027:488D05(03000000) | LEA RAX,[FarProc],ADDR=REL |0000002E:488D0425[03000000] | LEA RAX,[FarProc],ADDR=ABS |00000036:48C705(08000000)CCBBAA99 | MOV [Qword],99AABBCCh |00000041:48C705(08000000)CCBBAA99 | MOV [Qword],99AABBCCh,ADDR=REL |0000004C:48C70425[08000000]CCBBAA99 | MOV [Qword],99AABBCCh,ADDR=ABS |00000058:48C705(08000000)[03000000] | MOV [Qword],FarProc |00000063:48C705(08000000)[03000000] | MOV [Qword],FarProc,ADDR=REL |0000006E:48C70425[08000000][03000000] | MOV [Qword],FarProc,ADDR=ABS |0000007A:E80A000000 | CALL NearProc: |0000007F:E8(03000000) | CALL FarProc: |00000084:E8(00000000) | CALL ExitProcess:: |00000089: |NearProc:PROC |00000089:90 | NOP |0000008A:90 | NOP |0000008B:C3 | RET |0000008C: | ENDP NearProc: |[.text2] |[.text2] SEGMENT PURPOSE=CODE, ALIGN=16 |00000000:90 | NOP |00000001:90 | NOP |00000002:90 | NOP |00000003: |FarProc:PROC |00000003:90 | NOP |00000004:C3 | RET |00000005: | ENDP FarProc: | |[.text] GROUP [.text],[.text2] | |ExitProcess:: IMPORT LIB=kernel32.dll |[.data] |[.data] SEGMENT PURPOSE=DATA, ALIGN=16 |00000000:8888888888888888 | DB 8*BYTE 0x88 |00000008:8877665544332211 |Qword: DQ 1122334455667788h | | %DISPLAY RELOC |# D1550 **** %DISPLAY Relocations |# D1560 [.text]:00000004h,target=[.data]:00000000h,frame=[.data],width=32,type=abs |# D1560 [.text]:0000000Bh,target=[.data]:00000000h,frame=[.data],width=32,type=abs |# D1560 [.text]:00000011h,target=[.text2]:00000000h,frame=[.text],width=64,type=abs |# D1560 [.text]:0000001Ch,target=[.data]:00000000h,frame=[.data],width=32,type=abs |# D1560 [.text]:00000023h,target=[.text2]:00000000h,frame=[.text],width=32,type=rel |# D1560 [.text]:0000002Ah,target=[.text2]:00000000h,frame=[.text],width=32,type=rel |# D1560 [.text]:00000032h,target=[.text2]:00000000h,frame=[.text],width=32,type=abs |# D1560 [.text]:00000039h,target=[.data]:00000000h,frame=[.data],width=32,type=rel+4 |# D1560 [.text]:00000044h,target=[.data]:00000000h,frame=[.data],width=32,type=rel+4 |# D1560 [.text]:00000050h,target=[.data]:00000000h,frame=[.data],width=32,type=abs |# D1560 [.text]:0000005Bh,target=[.data]:00000000h,frame=[.data],width=32,type=rel+4 |# D1560 [.text]:0000005Fh,target=[.text2]:00000000h,frame=[.text],width=32,type=abs |# D1560 [.text]:00000066h,target=[.data]:00000000h,frame=[.data],width=32,type=rel+4 |# D1560 [.text]:0000006Ah,target=[.text2]:00000000h,frame=[.text],width=32,type=abs |# D1560 [.text]:00000072h,target=[.data]:00000000h,frame=[.data],width=32,type=abs |# D1560 [.text]:00000076h,target=[.text2]:00000000h,frame=[.text],width=32,type=abs |# D1560 [.text]:00000080h,target=[.text2]:00000000h,frame=[.text],width=32,type=rel |# D1560 [.text]:00000085h,target=[ExitProcess]:00000000h,frame=[ExitProcess],width=32,type=rel |# D1790 **** End of %DISPLAY | | ENDPROGRAM t3019 | **** ListMap "t3019.exe",groups=1,segments=5,entry=[.text]:00000001h,stack= | [.text],VA=00401000h,size=00001005h=4101,group [.text] [.text2] | [.text],VA=00401000h,size=0000008Ch=140,width=64,align=0010h,purpose=CODE | [.text2],VA=00402000h,size=00000005h=5,width=64,align=0010h,purpose=CODE | [.data],VA=00403000h,size=00000010h=16,width=64,align=0010h,purpose=DATA | [.idata],VA=00404000h,size=0000006Ah=106,width=64,align=8,purpose=IMPORT+IAT | [.reloc],VA=00405000h,size=00000028h=40,width=32,align=4,purpose=BASERELOC | **** ListGlobals "t3019.exe",Global=0,Public=1,Extern=0,eXport=0,Import=1 | ExitProcess,[.idata]:00000063h,VA=00404063h,scope='I',lib="kernel32.dll" | Main,[.text]:00000001h,VA=00401001h,scope='P' |[BIN] ::::Section changed. |0000: |
Expected messages t3019.out
I0180 Assembling source file "t3019.htm". I0270 Assembling source "t3019". I0310 Assembling source pass 1. D1550 **** %DISPLAY Relocations "t3019.htm"{99} D1790 **** End of %DISPLAY "t3019.htm"{99} I0330 Assembling source pass 2 - final. I0470 Assembling program "t3019". "t3019.htm"{60} I0510 Assembling program pass 1. "t3019.htm"{60} D1550 **** %DISPLAY Relocations "t3019.htm"{99} D1790 **** End of %DISPLAY "t3019.htm"{99} I0510 Assembling program pass 2. "t3019.htm"{60} D1550 **** %DISPLAY Relocations "t3019.htm"{99} D1790 **** End of %DISPLAY "t3019.htm"{99} I0510 Assembling program pass 3. "t3019.htm"{60} D1550 **** %DISPLAY Relocations "t3019.htm"{99} D1790 **** End of %DISPLAY "t3019.htm"{99} I0530 Assembling program pass 4 - final. "t3019.htm"{60} D1550 **** %DISPLAY Relocations "t3019.htm"{99} D1560 [.text]:00000004h,target=[.data]:00000000h,frame=[.data],width=32,type=abs "t3019.htm"{99} D1560 [.text]:0000000Bh,target=[.data]:00000000h,frame=[.data],width=32,type=abs "t3019.htm"{99} D1560 [.text]:00000011h,target=[.text2]:00000000h,frame=[.text],width=64,type=abs "t3019.htm"{99} D1560 [.text]:0000001Ch,target=[.data]:00000000h,frame=[.data],width=32,type=abs "t3019.htm"{99} D1560 [.text]:00000023h,target=[.text2]:00000000h,frame=[.text],width=32,type=rel "t3019.htm"{99} D1560 [.text]:0000002Ah,target=[.text2]:00000000h,frame=[.text],width=32,type=rel "t3019.htm"{99} D1560 [.text]:00000032h,target=[.text2]:00000000h,frame=[.text],width=32,type=abs "t3019.htm"{99} D1560 [.text]:00000039h,target=[.data]:00000000h,frame=[.data],width=32,type=rel+4 "t3019.htm"{99} D1560 [.text]:00000044h,target=[.data]:00000000h,frame=[.data],width=32,type=rel+4 "t3019.htm"{99} D1560 [.text]:00000050h,target=[.data]:00000000h,frame=[.data],width=32,type=abs "t3019.htm"{99} D1560 [.text]:0000005Bh,target=[.data]:00000000h,frame=[.data],width=32,type=rel+4 "t3019.htm"{99} D1560 [.text]:0000005Fh,target=[.text2]:00000000h,frame=[.text],width=32,type=abs "t3019.htm"{99} D1560 [.text]:00000066h,target=[.data]:00000000h,frame=[.data],width=32,type=rel+4 "t3019.htm"{99} D1560 [.text]:0000006Ah,target=[.text2]:00000000h,frame=[.text],width=32,type=abs "t3019.htm"{99} D1560 [.text]:00000072h,target=[.data]:00000000h,frame=[.data],width=32,type=abs "t3019.htm"{99} D1560 [.text]:00000076h,target=[.text2]:00000000h,frame=[.text],width=32,type=abs "t3019.htm"{99} D1560 [.text]:00000080h,target=[.text2]:00000000h,frame=[.text],width=32,type=rel "t3019.htm"{99} D1560 [.text]:00000085h,target=[ExitProcess]:00000000h,frame=[ExitProcess],width=32,type=rel "t3019.htm"{99} D1790 **** End of %DISPLAY "t3019.htm"{99} I0660 64bit FLAT PE file "t3019.exe" created, size=936. "t3019.htm"{120} I0650 Program "t3019" assembled in 4 passes with errorlevel 1. "t3019.htm"{120} I0750 Source "t3019" (243 lines) assembled in 2 passes with errorlevel 1. I0860 Listing file "t3019.htm.lst" created, size=5434. I0990 EuroAssembler terminated with errorlevel 1.
Expected output file t3019. exe
0000: 4D 5A 89 00 01 00 00 00 04 00 21 00 FF FF 05 00  MZ¤°·°°°·°!°¤¤·°
0010: 00 02 61 8A 00 00 00 00 40 00 00 00 00 00 00 00  °·a¤°°°°@°°°°°°°
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  °°°°°°°°°°°°°°°°
0030: 00 00 00 00 00 00 00 00 00 00 00 00 90 00 00 00  °°°°°°°°°°°°¤°°°
0040: 0E 1F BA 0E 00 B4 09 CD 21 B8 08 4C CD 21 54 68  ··¤·°¤·¤!¤·L¤!Th
0050: 69 73 20 70 72 6F 67 72 61 6D 20 77 61 73 20 6C  is¯program¯was¯l
0060: 61 75 6E 63 68 65 64 20 69 6E 20 44 4F 53 20 62  aunched¯in¯DOS¯b
0070: 75 74 20 69 74 20 72 65 71 75 69 72 65 73 20 57  ut¯it¯requires¯W
0080: 69 6E 64 6F 77 73 2E 24 00 00 00 00 00 00 00 00  indows.$°°°°°°°°
0090: 50 45 00 00 64 86 05 00 00 00 00 00 00 00 00 00  PE°°d¤·°°°°°°°°°
00A0: 00 00 00 00 F0 00 22 00 0B 02 01 00 00 20 00 00  °°°°¤°"°···°°¯°°
00B0: 00 10 00 00 00 00 00 00 01 10 00 00 00 10 00 00  °·°°°°°°··°°°·°°
00C0: 00 00 40 00 00 00 00 00 00 10 00 00 10 00 00 00  °°@°°°°°°·°°·°°°
00D0: 04 00 00 00 01 00 00 00 04 00 00 00 00 00 00 00  ·°°°·°°°·°°°°°°°
00E0: 00 60 00 00 60 02 00 00 00 00 00 00 03 00 0F 00  °`°°`·°°°°°°·°·°
00F0: 00 00 10 00 00 00 00 00 00 10 00 00 00 00 00 00  °°·°°°°°°·°°°°°°
0100: 00 00 00 01 00 00 00 00 00 00 10 00 00 00 00 00  °°°·°°°°°°·°°°°°
0110: 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00  °°°°·°°°°°°°°°°°
0120: 10 40 00 00 5A 00 00 00 00 00 00 00 00 00 00 00  ·@°°Z°°°°°°°°°°°
0130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  °°°°°°°°°°°°°°°°
0140: 00 50 00 00 28 00 00 00 00 00 00 00 00 00 00 00  °P°°(°°°°°°°°°°°
0150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  °°°°°°°°°°°°°°°°
0160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  °°°°°°°°°°°°°°°°
0170: 00 00 00 00 00 00 00 00 00 40 00 00 10 00 00 00  °°°°°°°°°@°°·°°°
0180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  °°°°°°°°°°°°°°°°
0190: 00 00 00 00 00 00 00 00 2E 74 65 78 74 00 00 00  °°°°°°°°.text°°°
01A0: 00 10 00 00 00 10 00 00 8C 00 00 00 60 02 00 00  °·°°°·°°¤°°°`·°°
01B0: 00 00 00 00 00 00 00 00 00 00 00 00 20 00 50 60  °°°°°°°°°°°°¯°P`
01C0: 2E 74 65 78 74 32 00 00 00 10 00 00 00 20 00 00  .text2°°°·°°°¯°°
01D0: 05 00 00 00 F0 02 00 00 00 00 00 00 00 00 00 00  ·°°°¤·°°°°°°°°°°
01E0: 00 00 00 00 20 00 50 60 2E 64 61 74 61 00 00 00  °°°°¯°P`.data°°°
01F0: 00 10 00 00 00 30 00 00 10 00 00 00 00 03 00 00  °·°°°0°°·°°°°·°°
0200: 00 00 00 00 00 00 00 00 00 00 00 00 40 00 50 C0  °°°°°°°°°°°°@°P¤
0210: 2E 69 64 61 74 61 00 00 00 10 00 00 00 40 00 00  .idata°°°·°°°@°°
0220: 6A 00 00 00 10 03 00 00 00 00 00 00 00 00 00 00  j°°°··°°°°°°°°°°
0230: 00 00 00 00 60 00 40 70 2E 72 65 6C 6F 63 00 00  °°°°`°@p.reloc°°
0240: 00 10 00 00 00 50 00 00 28 00 00 00 80 03 00 00  °·°°°P°°(°°°¤·°°
0250: 00 00 00 00 00 00 00 00 00 00 00 00 40 00 30 52  °°°°°°°°°°°°@°0R
0260: 90 67 48 A1 08 30 40 00 67 48 A1 08 30 40 00 48  ¤gH¤·0@°gH¤·0@°H
0270: B8 03 20 40 00 00 00 00 00 67 48 A3 08 30 40 00  ¤·¯@°°°°°gH¤·0@°
0280: 48 8D 05 DC 0F 00 00 48 8D 05 D5 0F 00 00 48 8D  H¤·¤·°°H¤·¤·°°H¤
0290: 04 25 03 20 40 00 48 C7 05 C7 1F 00 00 CC BB AA  ·%·¯@°H¤·¤·°°¤¤¤
02A0: 99 48 C7 05 BC 1F 00 00 CC BB AA 99 48 C7 04 25  ¤H¤·¤·°°¤¤¤¤H¤·%
02B0: 08 30 40 00 CC BB AA 99 48 C7 05 A5 1F 00 00 03  ·0@°¤¤¤¤H¤·¤·°°·
02C0: 20 40 00 48 C7 05 9A 1F 00 00 03 20 40 00 48 C7  ¯@°H¤·¤·°°·¯@°H¤
02D0: 04 25 08 30 40 00 03 20 40 00 E8 0A 00 00 00 E8  ·%·0@°·¯@°¤¬°°°¤
02E0: 7F 0F 00 00 E8 DA 2F 00 00 90 90 C3 00 00 00 00  ¤·°°¤¤/°°¤¤¤°°°°
02F0: 90 90 90 90 C3 00 00 00 00 00 00 00 00 00 00 00  ¤¤¤¤¤°°°°°°°°°°°
0300: 88 88 88 88 88 88 88 88 88 77 66 55 44 33 22 11  ¤¤¤¤¤¤¤¤¤wfUD3"·
0310: 48 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00  H@°°°°°°°°°°°°°°
0320: 38 40 00 00 00 00 00 00 FF FF FF FF 56 40 00 00  8@°°°°°°¤¤¤¤V@°°
0330: 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00  °@°°°°°°°°°°°°°°
0340: 00 00 00 00 00 00 00 00 48 40 00 00 00 00 00 00  °°°°°°°°H@°°°°°°
0350: 00 00 00 00 00 00 00 00 00 00 45 78 69 74 50 72  °°°°°°°°°°ExitPr
0360: 6F 63 65 73 73 00 6B 65 72 6E 65 6C 33 32 2E 64  ocess°kernel32.d
0370: 6C 6C 00 FF 24 25 00 40 40 00 00 00 00 00 00 00  ll°¤$%°@@°°°°°°°
0380: 00 10 00 00 1C 00 00 00 04 30 0B 30 11 A0 1C 30  °·°°·°°°·0·0·¤·0
0390: 32 30 50 30 5F 30 6A 30 72 30 76 30 00 40 00 00  20P0_0j0r0v0°@°°
03A0: 0C 00 00 00 66 30 00 00                          ·°°°f0°°

▲Back to the top▲