Test t3142 :
Machine instruction JMP JMPS JMPN JMPF in 32bit mode
Manage t3142
Tested procedures
IigJMP
IigJMPS
IigJMPN
IigJMPF
Source & expected listing t3142.htm.lst
| | EUROASM LIST=ON, DUMP=ON, DUMPWIDTH=30, CPU=386
| |t3142 PROGRAM FORMAT=OMF,MODEL=SMALL,LISTMAP=OFF,LISTGLOBALS=OFF
|[Mode32] |[Mode32] SEGMENT WIDTH=32,PURPOSE=CODE
|00000000: |; Direct jump to immediate address:
|00000000:EBFE | JMP $
|00000002:EBFE | JMPS $
|00000004:EBFE | JMP $,DIST=SHORT
|00000006:E9FBFFFFFF | JMPN $
|0000000B:E9FBFFFFFF | JMP $,DIST=NEAR
|00000010:E9FBFFFFFF | JMP $,DATA=DWORD
|00000015:66E9FCFF | JMP $,DATA=WORD
|00000019:66E9FCFF | JMP $,IMM=WORD
|0000001D:EA[1D000000]{0000} | JMPF $
|00000024:EA[24000000]{0000} | JMP $,DIST=FAR
|0000002B:EA[2B000000]{0000} | JMPF $,DATA=DWORD
|00000032:66EA[3200]{0000} | JMPF $,DATA=WORD
|00000038:66EA[3800]{0000} | JMPF $,IMM=WORD
|0000003E:E97BFFFFFF | JMP $-128
|00000043:E97CFFFFFF | JMP $-127
|00000048:EB80 | JMP $-126
|0000004A:EB81 | JMP $-125
|0000004C:EB7E | JMP $+128
|0000004E:EB7F | JMP $+129
|00000050:E97D000000 | JMP $+130
|00000055:E97E000000 | JMP $+131
|0000005A:E9FEFFFF7F | JMP $-2_147_483_645
|0000005F:E9FFFFFF7F | JMP $-2_147_483_644
|00000064:E900000080 | JMP $-2_147_483_643
|00000069:E901000080 | JMP $-2_147_483_642
|0000006E:E9FEFFFF7F | JMP $+2_147_483_651
|00000073:E9FFFFFF7F | JMP $+2_147_483_652
|00000078:E900000080 | JMP $+2_147_483_653
|0000007D:E901000080 | JMP $+2_147_483_654
|00000082:E9(11000000) | JMP 0x11
|00000087:E9(22110000) | JMP 0x1122
|0000008C:66E9(2211) | JMP 0x1122,DATA=WORD
|00000090:66E9(2211) | JMP 0x1122,IMM=WORD
|00000094:E9(33221100) | JMP 0x112233
|00000099:E9(00000000) | JMP ExternProc
|0000009E:E9(00000000) | JMPN ExternProc
|000000A3:66E9(0000) | JMP ExternProc,DATA=WORD
|000000A7:EA[00000000]{0000} | JMPF ExternProc
|000000AE:66EA[0000]{0000} | JMPF ExternProc,DATA=WORD
|000000B4:E99F000000 | JMP NearProc
|000000B9:E99A000000 | JMPN NearProc
|000000BE:66E99600 | JMP NearProc,DATA=WORD
|000000C2:EA[19000000]{0000} | JMP FarProc
|000000C9:EA[19000000]{0000} | JMPF FarProc
|000000D0:66EA[1900]{0000} | JMP FarProc,DATA=WORD
|000000D6: |; Indirect near jump:
|000000D6:FFE2 | JMP EDX
|000000D8:66FFE2 | JMP DX
|000000DB:FF25[48010000] | JMP [MemDwordNear]
|000000E1:66FF25[52010000] | JMP [MemWordNear]
|000000E8:66FF25[52010000] | JMPN [MemWordNear]
|000000EF:FF25[52010000] | JMP [MemWordNear],DATA=DWORD
|000000F5:FF26 | JMP [ESI]
|000000F7:FF26 | JMP [ESI],DATA=DWORD
|000000F9:66FF26 | JMP [ESI],DATA=WORD
|000000FC: |; Direct far jump:
|000000FC:EA[19000000]{0000} | JMP FarProc
|00000103:66EA[1900]{0000} | JMP FarProc,DATA=WORD
|00000109:EA[19000000]{0000} | JMPF FarProc
|00000110:EA443300002211 | JMP 0x1122:0x3344
|00000117:66EA44332211 | JMP 0x1122:0x3344,DATA=WORD
|0000011D:EA554433002211 | JMP 0x1122:0x334455
|00000124: |; Indirect far jump:
|00000124:FF2E | JMPF [ESI]
|00000126:FF2E | JMP [ESI],DIST=FAR
|00000128:FF2E | JMPF [ESI],DATA=DWORD
|0000012A:66FF2E | JMPF [ESI],DATA=WORD
|0000012D:FF2D[4C010000] | JMPF [MemDwordFar]
|00000133:66FF2D[54010000] | JMPF [MemWordFar]
|0000013A:66FF2D[54010000] | JMP [MemWordFar],DIST=FAR
|00000141:FF2D[54010000] | JMPF [MemWordFar],DATA=DWORD
|00000147:90 | ALIGN DWORD
|00000148:00000000 |MemDwordNear DD D
|0000014C:000000000000 |MemDwordFar DD D,W
|00000152:0000 |MemWordNear DW W
|00000154:00000000 |MemWordFar DW W,W
|00000158: |NearProc PROC
|00000158:C3 | RETN
|00000159: | ENDP NearProc
|[FarSeg] |[FarSeg] SEGMENT WIDTH=32,PURPOSE=CODE
|00000000: |; Direct far jump from the same segment:
|00000000:EA[19000000]{0000} | JMP FarProc
|00000007:EA[19000000]{0000} | JMPF FarProc
|0000000E:66EA[1900]{0000} | JMPF FarProc,DATA=WORD
|00000014:E900000000 | JMPN FarProc
|00000019: |FarProc PROC DIST=FAR
|00000019:CB | RETF
|0000001A: | ENDP FarProc
| |ExternProc EXTERN
| |ENDPROGRAM t3142
|## W3831 Self-relative relocation to an absolute VA at [Mode32]:00000083h is not linkable.
|## W3831 Self-relative relocation to an absolute VA at [Mode32]:00000088h is not linkable.
|## W3831 Self-relative relocation to an absolute VA at [Mode32]:0000008Eh is not linkable.
|## W3831 Self-relative relocation to an absolute VA at [Mode32]:00000092h is not linkable.
|## W3831 Self-relative relocation to an absolute VA at [Mode32]:00000095h is not linkable.
Expected messages t3142.out
I0180 Assembling source file "t3142.htm".
I0270 Assembling source "t3142".
I0310 Assembling source pass 1.
I0330 Assembling source pass 2 - final.
I0470 Assembling program "t3142". "t3142.htm"{58}
I0510 Assembling program pass 1. "t3142.htm"{58}
I0510 Assembling program pass 2. "t3142.htm"{58}
I0510 Assembling program pass 3. "t3142.htm"{58}
I0530 Assembling program pass 4 - final. "t3142.htm"{58}
W3831 Self-relative relocation to an absolute VA at [Mode32]:00000083h is not linkable. "t3142.htm"{150}
W3831 Self-relative relocation to an absolute VA at [Mode32]:00000088h is not linkable. "t3142.htm"{150}
W3831 Self-relative relocation to an absolute VA at [Mode32]:0000008Eh is not linkable. "t3142.htm"{150}
W3831 Self-relative relocation to an absolute VA at [Mode32]:00000092h is not linkable. "t3142.htm"{150}
W3831 Self-relative relocation to an absolute VA at [Mode32]:00000095h is not linkable. "t3142.htm"{150}
I0660 16bit SMALL OMF file "t3142.obj" created, size=624. "t3142.htm"{150}
I0650 Program "t3142" assembled in 4 passes with errorlevel 3. "t3142.htm"{150}
I0750 Source "t3142" (180 lines) assembled in 2 passes with errorlevel 3.
I0860 Listing file "t3142.htm.lst" created, size=5242.
I0990 EuroAssembler terminated with errorlevel 3.
▲Back to the top▲