| Index | Manual | Download | Source | Macros | Embedded word Case ins.
Sitemap | Links | Forum | Tests | Projects

# Test t3162: Machine instruction CALL CALLN CALLF in 32bit mode

Tested procedures
  IigCALL IigCALLN IigCALLF

Source & expected listing t3162.htm.lst
  `| | EUROASM LIST=ON,DUMP=ON,DUMPWIDTH=30,AUTOALIGN=OFF,CPU=386 | |t3162 PROGRAM FORMAT=OMF,MODEL=SMALL,LISTMAP=OFF,LISTGLOBALS=OFF |[Mode32] |[Mode32] SEGMENT WIDTH=32,PURPOSE=CODE |00000000: |; Direct call to immediate address: |00000000:E8FBFFFFFF | CALL $ |00000005:E8FEFFFF7F | CALL $-2_147_483_645 |0000000A:E8FFFFFF7F | CALL $-2_147_483_644 |0000000F:E800000080 | CALL $-2_147_483_643 |00000014:E801000080 | CALL $-2_147_483_642 |00000019:E8FEFFFF7F | CALL $+2_147_483_651 |0000001E:E8FFFFFF7F | CALL $+2_147_483_652 |00000023:E800000080 | CALL $+2_147_483_653 |00000028:E801000080 | CALL $+2_147_483_654 |0000002D:E8(22110000) | CALL 0x1122 |00000032:E8(33221100) | CALL 0x112233 |00000037:66E8(2211) | CALL 0x1122,DATA=WORD |0000003B:66E8(2211) | CALL 0x1122,IMM=WORD |0000003F:E8(00000000) | CALL ExternProc |00000044:E8(00000000) | CALLN ExternProc |00000049:66E8(0000) | CALL ExternProc,DATA=WORD |0000004D:9A[00000000]{0000} | CALLF ExternProc |00000054:669A[0000]{0000} | CALLF ExternProc,DATA=WORD |0000005A:E8A1000000 | CALL NearProc |0000005F:E89C000000 | CALLN NearProc |00000064:66E89800 | CALL NearProc,DATA=WORD |00000068:9A[19000000]{0000} | CALL FarProc |0000006F:9A[19000000]{0000} | CALLF FarProc |00000076:669A[1900]{0000} | CALL FarProc,DATA=WORD |0000007C: |; Indirect near call: |0000007C:FFD2 | CALL EDX |0000007E:66FFD2 | CALL DX |00000081:FF15[F0000000] | CALL [MemDwordNear] |00000087:66FF15[FA000000] | CALL [MemWordNear] |0000008E:66FF15[FA000000] | CALLN [MemWordNear] |00000095:FF15[FA000000] | CALL [MemWordNear],DATA=DWORD |0000009B:FF16 | CALL [ESI] |0000009D:FF16 | CALL [ESI],DATA=DWORD |0000009F:66FF16 | CALL [ESI],DATA=WORD |000000A2: |; Direct far call: |000000A2:9A[19000000]{0000} | CALL FarProc |000000A9:669A[1900]{0000} | CALL FarProc,DATA=WORD |000000AF:9A[19000000]{0000} | CALLF FarProc |000000B6:9A443300002211 | CALL 0x1122:0x3344 |000000BD:669A44332211 | CALL 0x1122:0x3344,DATA=WORD |000000C3:9A554433002211 | CALL 0x1122:0x334455 |000000CA: |; Indirect far call: |000000CA:FF1E | CALLF [ESI] |000000CC:FF1E | CALL [ESI],DIST=FAR |000000CE:FF1E | CALLF [ESI],DATA=DWORD |000000D0:66FF1E | CALLF [ESI],DATA=WORD |000000D3:FF1D[F4000000] | CALLF [MemDwordFar] |000000D9:66FF1D[FC000000] | CALLF [MemWordFar] |000000E0:66FF1D[FC000000] | CALL [MemWordFar],DIST=FAR |000000E7:FF1D[FC000000] | CALLF [MemWordFar],DATA=DWORD |000000ED:8D4000 | ALIGN DWORD |000000F0:00000000 |MemDwordNear DD D |000000F4:000000000000 |MemDwordFar DD D,W |000000FA:0000 |MemWordNear DW W |000000FC:00000000 |MemWordFar DW W,W |00000100: |NearProc PROC |00000100:C3 | RETN |00000101: | ENDP NearProc |[FarSeg] |[FarSeg] SEGMENT WIDTH=32,PURPOSE=CODE |00000000: |; Direct far call from the same segment: |00000000:9A[19000000]{0000} | CALL FarProc |00000007:9A[19000000]{0000} | CALLF FarProc |0000000E:669A[1900]{0000} | CALLF FarProc,DATA=WORD |00000014:E800000000 | CALLN FarProc |00000019: |FarProc PROC DIST=FAR |00000019:CB | RETF |0000001A: | ENDP FarProc | |ExternProc EXTERN | |ENDPROGRAM t3162 |## W3831 Self-relative relocation to an absolute VA at [Mode32]:0000002Eh is not linkable. |## W3831 Self-relative relocation to an absolute VA at [Mode32]:00000033h is not linkable. |## W3831 Self-relative relocation to an absolute VA at [Mode32]:00000039h is not linkable. |## W3831 Self-relative relocation to an absolute VA at [Mode32]:0000003Dh is not linkable.`

Expected messages t3162.out
  `I0180 Assembling source file "t3162.htm". I0270 Assembling source "t3162". I0310 Assembling source pass 1. I0330 Assembling source pass 2 - final. I0470 Assembling program "t3162". "t3162.htm"{55} I0510 Assembling program pass 1. "t3162.htm"{55} I0510 Assembling program pass 2. "t3162.htm"{55} I0510 Assembling program pass 3. "t3162.htm"{55} I0530 Assembling program pass 4 - final. "t3162.htm"{55} W3831 Self-relative relocation to an absolute VA at [Mode32]:0000002Eh is not linkable. "t3162.htm"{126} W3831 Self-relative relocation to an absolute VA at [Mode32]:00000033h is not linkable. "t3162.htm"{126} W3831 Self-relative relocation to an absolute VA at [Mode32]:00000039h is not linkable. "t3162.htm"{126} W3831 Self-relative relocation to an absolute VA at [Mode32]:0000003Dh is not linkable. "t3162.htm"{126} I0660 16bit SMALL OMF file "t3162.obj" created, size=558. "t3162.htm"{126} I0650 Program "t3162" assembled in 4 passes with errorlevel 3. "t3162.htm"{126} I0750 Source "t3162" (154 lines) assembled in 2 passes with errorlevel 3. I0860 Listing file "t3162.htm.lst" created, size=4267. I0990 EuroAssembler terminated with errorlevel 3.`

▲Back to the top▲