EuroAssembler Index Manual Download Source Macros


Sitemap Links Forum Tests Projects

Test t3171: Machine instructions LOOP LOOPNE LOOPNZ LOOPE LOOPZ JCXZ JECXZ in 16bit mode


Tested procedures
IigLOOP   IigLOOPE   IigLOOPZ   IigLOOPNE   IigLOOPNZ   IigJCXZ   IigJECXZ  
Source & expected listing t3171.htm.lst
| | EUROASM LIST=ON,DUMP=ON,AUTOALIGN=OFF,DUMPWIDTH=38,CPU=386 | |t3171 PROGRAM FORMAT=BIN,MODEL=MEDIUM,IMAGEBASE=0x3000,LISTMAP=ON,LISTGLOBALS=ON |[Mode16] |[Mode16] SEGMENT WIDTH=16,PURPOSE=CODE ; Linked at 03000h. |0000:E3FE | JCXZ $ |0002:67E3FD | JECXZ $ |0005:E302EB03E9DD00 | JCXZ NearLabel |000C:67E302EB03E9D500 | JECXZ NearLabel |0014:E302EB05EA[0000]{0000} | JCXZ FarLabel |001D:67E302EB05EA[0000]{0000} | JECXZ FarLabel |0027:E2FE | LOOP $ |0029:E1FE | LOOPE $ |002B:E1FE | LOOPZ $ |002D:E0FE | LOOPNE $ |002F:E0FE | LOOPNZ $ |0031:67E2FD | LOOP $,ECX |0034:67E1FD | LOOPE $,ECX |0037:67E0FD | LOOPNE $,ECX |003A:E202EB05EA[1100]{0000} | LOOP 0x11 |0043:E202EB05EA[2211]{0000} | LOOP 0x1122 |004C:E202EB0866EA[33221100]{0000} | LOOP 0x112233 |0058:E202EB03E9F9FF | LOOP $,DIST=NEAR |005F:E202EB0666E9F6FFFFFF | LOOP $,DIST=NEAR,DATA=DWORD |0069:E202EB0666E9F6FFFFFF | LOOP $,DIST=NEAR,IMM=DWORD |0073:E202EB05EA[7300]{0000} | LOOP $,DIST=FAR |007C:E202EB0866EA[7C000000]{0000} | LOOP $,DIST=FAR,DATA=DWORD |0088:E202EB0866EA[88000000]{0000} | LOOP $,DIST=FAR,IMM=DWORD |0094:E202EB03E979FF | LOOP $-128 |009B:E202EB03E97AFF | LOOP $-127 |00A2:E280 | LOOP $-126 |00A4:E281 | LOOP $-125 |00A6:E27E | LOOP $+128 |00A8:E27F | LOOP $+129 |00AA:E202EB03E97B00 | LOOP $+130 |00B1:E202EB03E97C00 | LOOP $+131 |00B8:E22F | LOOP NearLabel: |00BA:E202EB03E92800 | LOOP NearLabel:,DIST=NEAR |00C1:E202EB0666E91E000000 | LOOP NearLabel:,DIST=NEAR,DATA=DWORD |00CB:E202EB05EA[0000]{0000} | LOOP FarLabel: |00D4:E202EB05EA[0000]{0000} | LOOP FarLabel:,DIST=FAR |00DD:E202EB0866EA[00000000]{0000} | LOOP FarLabel:,DATA=DWORD |00E9: |NearLabel:: | |;; |[FarSeg] |[FarSeg] SEGMENT WIDTH=16,PURPOSE=CODE,ALIGN=16 |0000:C3 |FarLabel:: RET | |ENDPROGRAM t3171 | **** ListMap "t3171.bin",model=MEDIUM,groups=0,segments=2,entry=,stack= | [Mode16],FA=00000000h,VA=00003000h,size=000000E9h=233,width=16,align=0010h,purpose=CODE | [FarSeg],FA=000000F0h,VA=000030F0h,size=00000001h=1,width=16,align=0010h,purpose=CODE | **** ListGlobals "t3171.bin",Global=0,Public=2,Extern=0,eXport=0,Import=0 | FarLabel,[FarSeg]:00000000h,VA=000030F0h,scope='P' | NearLabel,[Mode16]:000000E9h,VA=000030E9h,scope='P'
Expected messages t3171.out
I0180 Assembling source file "t3171.htm". I0270 Assembling source "t3171". I0310 Assembling source pass 1. I0330 Assembling source pass 2 - final. I0470 Assembling program "t3171". "t3171.htm"{67} I0510 Assembling program pass 1. "t3171.htm"{67} I0510 Assembling program pass 2. "t3171.htm"{67} I0510 Assembling program pass 3. "t3171.htm"{67} I0530 Assembling program pass 4 - final. "t3171.htm"{67} I0622 JrCXZ out of byte range; assembled with proxy jump. "t3171.htm"{71} I0622 JrCXZ out of byte range; assembled with proxy jump. "t3171.htm"{72} I0622 JrCXZ out of byte range; assembled with proxy jump. "t3171.htm"{73} I0622 JrCXZ out of byte range; assembled with proxy jump. "t3171.htm"{74} I0621 LOOP out of byte range; assembled with proxy jump. "t3171.htm"{83} I0621 LOOP out of byte range; assembled with proxy jump. "t3171.htm"{84} I0621 LOOP out of byte range; assembled with proxy jump. "t3171.htm"{85} I0621 LOOP out of byte range; assembled with proxy jump. "t3171.htm"{86} I0621 LOOP out of byte range; assembled with proxy jump. "t3171.htm"{87} I0621 LOOP out of byte range; assembled with proxy jump. "t3171.htm"{88} I0621 LOOP out of byte range; assembled with proxy jump. "t3171.htm"{89} I0621 LOOP out of byte range; assembled with proxy jump. "t3171.htm"{90} I0621 LOOP out of byte range; assembled with proxy jump. "t3171.htm"{91} I0621 LOOP out of byte range; assembled with proxy jump. "t3171.htm"{92} I0621 LOOP out of byte range; assembled with proxy jump. "t3171.htm"{93} I0621 LOOP out of byte range; assembled with proxy jump. "t3171.htm"{98} I0621 LOOP out of byte range; assembled with proxy jump. "t3171.htm"{99} I0621 LOOP out of byte range; assembled with proxy jump. "t3171.htm"{101} I0621 LOOP out of byte range; assembled with proxy jump. "t3171.htm"{102} I0621 LOOP out of byte range; assembled with proxy jump. "t3171.htm"{103} I0621 LOOP out of byte range; assembled with proxy jump. "t3171.htm"{104} I0621 LOOP out of byte range; assembled with proxy jump. "t3171.htm"{105} I0660 16bit MEDIUM BIN file "t3171.bin" created, size=241. "t3171.htm"{110} I0650 Program "t3171" assembled in 4 passes with errorlevel 0. "t3171.htm"{110} I0750 Source "t3171" (178 lines) assembled in 2 passes with errorlevel 0. I0860 Listing file "t3171.htm.lst" created, size=3192. I0990 EuroAssembler terminated with errorlevel 0.
Expected output file t3171. bin
0000: E3 FE 67 E3 FD E3 02 EB 03 E9 DD 00 67 E3 02 EB  ¤¤g¤¤¤·¤·¤¤°g¤·¤
0010: 03 E9 D5 00 E3 02 EB 05 EA 00 00 0F 03 67 E3 02  ·¤¤°¤·¤·¤°°··g¤·
0020: EB 05 EA 00 00 0F 03 E2 FE E1 FE E1 FE E0 FE E0  ¤·¤°°··¤¤¤¤¤¤¤¤¤
0030: FE 67 E2 FD 67 E1 FD 67 E0 FD E2 02 EB 05 EA 11  ¤g¤¤g¤¤g¤¤¤·¤·¤·
0040: 00 00 00 E2 02 EB 05 EA 22 11 00 00 E2 02 EB 08  °°°¤·¤·¤"·°°¤·¤·
0050: 66 EA 33 22 11 00 00 00 E2 02 EB 03 E9 F9 FF E2  f¤3"·°°°¤·¤·¤¤¤¤
0060: 02 EB 06 66 E9 F6 FF FF FF E2 02 EB 06 66 E9 F6  ·¤·f¤¤¤¤¤¤·¤·f¤¤
0070: FF FF FF E2 02 EB 05 EA 73 00 00 03 E2 02 EB 08  ¤¤¤¤·¤·¤s°°·¤·¤·
0080: 66 EA 7C 00 00 00 00 03 E2 02 EB 08 66 EA 88 00  f¤|°°°°·¤·¤·f¤¤°
0090: 00 00 00 03 E2 02 EB 03 E9 79 FF E2 02 EB 03 E9  °°°·¤·¤·¤y¤¤·¤·¤
00A0: 7A FF E2 80 E2 81 E2 7E E2 7F E2 02 EB 03 E9 7B  z¤¤¤¤¤¤~¤¤¤·¤·¤{
00B0: 00 E2 02 EB 03 E9 7C 00 E2 2F E2 02 EB 03 E9 28  °¤·¤·¤|°¤/¤·¤·¤(
00C0: 00 E2 02 EB 06 66 E9 1E 00 00 00 E2 02 EB 05 EA  °¤·¤·f¤·°°°¤·¤·¤
00D0: 00 00 0F 03 E2 02 EB 05 EA 00 00 0F 03 E2 02 EB  °°··¤·¤·¤°°··¤·¤
00E0: 08 66 EA 00 00 00 00 0F 03 90 90 90 90 90 90 90  ·f¤°°°°··¤¤¤¤¤¤¤
00F0: C3                                               ¤

▲Back to the top▲