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

# Test t3161: Machine instructions CALL CALLN CALLF in 16bit mode

Tested procedures
  IigCALL IigCALLN IigCALLF

Source & expected listing t3161.htm.lst
  `| | EUROASM LIST=ON,DUMP=ON,DUMPWIDTH=28,AUTOALIGN=OFF,CPU=386 | |t3161 PROGRAM FORMAT=OMF,MODEL=SMALL,LISTMAP=OFF,LISTGLOBALS=OFF |[Mode16] |[Mode16] SEGMENT WIDTH=16,PURPOSE=CODE |0000: |; Direct call to immediate address: |0000:E80E00 | CALL $+0x11 |0003:E8(1100) | CALL 0x11 |0006:E8(2211) | CALL 0x1122 |0009:66E8(33221100) | CALL 0x112233 |000F:66E8(22110000) | CALL 0x1122,DATA=DWORD |0015:66E8(22110000) | CALL 0x1122,IMM=DWORD |001B:E8(0000) | CALL ExternProc |001E:E8(0000) | CALLN ExternProc |0021:66E8(00000000) | CALL ExternProc,DATA=DWORD |0027:9A[0000]{0000} | CALLF ExternProc |002C:669A[00000000]{0000} | CALLF ExternProc,DATA=DWORD |0034:E88900 | CALL NearProc |0037:E88600 | CALLN NearProc |003A:66E880000000 | CALL NearProc,DATA=DWORD |0040:66E87A000000 | CALL NearProc,IMM=DWORD |0046:9A[1500]{0000} | CALL FarProc |004B:9A[1500]{0000} | CALLF FarProc |0050:669A[15000000]{0000} | CALL FarProc,DATA=DWORD |0058: |; Indirect near call: |0058:FFD2 | CALL DX |005A:66FFD2 | CALL EDX |005D:FF16[BA00] | CALL [MemWordNear] |0061:66FF16[B000] | CALL [MemDwordNear] |0066:66FF16[B000] | CALLN [MemDwordNear] |006B:FF16[B000] | CALL [MemDwordNear],DATA=WORD |006F:FF14 | CALL [SI] |0071:FF14 | CALL [SI],DATA=WORD |0073:66FF14 | CALL [SI],DATA=DWORD |0076: |; Direct far call: |0076:9A[1500]{0000} | CALL FarProc |007B:669A[15000000]{0000} | CALL FarProc,DATA=DWORD |0083:9A[1500]{0000} | CALLF FarProc |0088:9A44332211 | CALL 0x1122:0x3344 |008D:669A443300002211 | CALL 0x1122:0x3344,DATA=DWORD |0095: |; Indirect far call: |0095:FF1C | CALLF [SI] |0097:FF1C | CALL [SI],DIST=FAR |0099:FF1C | CALLF [SI],DATA=WORD |009B:66FF1C | CALLF [SI],DATA=DWORD |009E:FF1E[BC00] | CALLF [MemWordFar] |00A2:66FF1E[B400] | CALLF [MemDwordFar] |00A7:66FF1E[B400] | CALL [MemDwordFar],DIST=FAR |00AC:FF1E[B400] | CALLF [MemDwordFar],DATA=WORD |00B0: | ALIGN DWORD |00B0:00000000 |MemDwordNear DD D |00B4:000000000000 |MemDwordFar DD D,W |00BA:0000 |MemWordNear DW W |00BC:00000000 |MemWordFar DW W,W |00C0: |NearProc PROC |00C0:C3 | RETN |00C1: | ENDP NearProc |[FarSeg] |[FarSeg] SEGMENT WIDTH=16,PURPOSE=CODE |0000: |; Direct far call from the same segment: |0000:9A[1500]{0000} | CALL FarProc |0005:9A[1500]{0000} | CALLF FarProc |000A:669A[15000000]{0000} | CALLF FarProc,DATA=DWORD |0012:E80000 | CALLN FarProc |0015: |FarProc PROC DIST=FAR |0015:CB | RETF |0016: | ENDP FarProc | |ExternProc EXTERN | |ENDPROGRAM t3161 |## W3831 Self-relative relocation to an absolute VA at [Mode16]:00000004h is not linkable. |## W3831 Self-relative relocation to an absolute VA at [Mode16]:00000007h is not linkable. |## W3831 Self-relative relocation to an absolute VA at [Mode16]:0000000Bh is not linkable. |## W3831 Self-relative relocation to an absolute VA at [Mode16]:00000011h is not linkable. |## W3831 Self-relative relocation to an absolute VA at [Mode16]:00000017h is not linkable.`

Expected messages t3161.out
  `I0180 Assembling source file "t3161.htm". I0270 Assembling source "t3161". I0310 Assembling source pass 1. I0330 Assembling source pass 2 - final. I0470 Assembling program "t3161". "t3161.htm"{55} I0510 Assembling program pass 1. "t3161.htm"{55} I0510 Assembling program pass 2. "t3161.htm"{55} I0510 Assembling program pass 3. "t3161.htm"{55} I0530 Assembling program pass 4 - final. "t3161.htm"{55} W3831 Self-relative relocation to an absolute VA at [Mode16]:00000004h is not linkable. "t3161.htm"{119} W3831 Self-relative relocation to an absolute VA at [Mode16]:00000007h is not linkable. "t3161.htm"{119} W3831 Self-relative relocation to an absolute VA at [Mode16]:0000000Bh is not linkable. "t3161.htm"{119} W3831 Self-relative relocation to an absolute VA at [Mode16]:00000011h is not linkable. "t3161.htm"{119} W3831 Self-relative relocation to an absolute VA at [Mode16]:00000017h is not linkable. "t3161.htm"{119} I0660 16bit SMALL OMF file "t3161.obj" created, size=484. "t3161.htm"{119} I0650 Program "t3161" assembled in 4 passes with errorlevel 3. "t3161.htm"{119} I0750 Source "t3161" (149 lines) assembled in 2 passes with errorlevel 3. I0860 Listing file "t3161.htm.lst" created, size=3851. I0990 EuroAssembler terminated with errorlevel 3.`

▲Back to the top▲