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

# Test t3172: Machine instructions LOOP LOOPNE LOOPNZ LOOPE LOOPZ JCXZ JECXZ in 32bit mode

Tested procedures
  IigLOOP IigLOOPE IigLOOPZ IigLOOPNE IigLOOPNZ IigJCXZ IigJECXZ

Source & expected listing t3172.htm.lst
  `| | EUROASM LIST=ON,DUMP=ON,AUTOALIGN=OFF,DUMPWIDTH=38,CPU=386 | |t3172 PROGRAM FORMAT=BIN,MODEL=FLAT,IMAGEBASE=3000h,LISTMAP=ON,LISTGLOBALS=ON |[Mode32] |[Mode32] SEGMENT WIDTH=32,PURPOSE=CODE ; Linkex\d at 03000h. |00000000:67E3FD | JCXZ $ |00000003:E3FE | JECXZ $ |00000005:67E302EB05E9DF000000 | JCXZ NearLabel |0000000F:E302EB05E9D6000000 | JECXZ NearLabel |00000018:67E302EB05E9(00000000) | JCXZ FarLabel |00000022:E302EB05E9(00000000) | JECXZ FarLabel |0000002B:E2FE | LOOP $ |0000002D:E1FE | LOOPE $ |0000002F:E1FE | LOOPZ $ |00000031:E0FE | LOOPNE $ |00000033:E0FE | LOOPNZ $ |00000035:67E2FD | LOOP $,CX |00000038:67E1FD | LOOPE $,CX |0000003B:67E0FD | LOOPNE $,CX |0000003E:E202EB05E9(11000000) | LOOP 0x11 |00000047:E202EB05E9(22110000) | LOOP 0x1122 |00000050:E202EB05E9(33221100) | LOOP 0x112233 |00000059:E202EB05E9F7FFFFFF | LOOP $,DIST=NEAR |00000062:E202EB0466E9F8FF | LOOP $,DIST=NEAR,DATA=WORD |0000006A:E202EB0466E9F8FF | LOOP $,DIST=NEAR,IMM=WORD |00000072:E202EB07EA[72000000]{0000} | LOOP $,DIST=FAR |0000007D:E202EB0666EA[7D00]{0000} | LOOP $,DIST=FAR,DATA=WORD |00000087:E202EB0666EA[8700]{0000} | LOOP $,DIST=FAR,IMM=WORD |00000091:E202EB05E977FFFFFF | LOOP $-128 |0000009A:E202EB05E978FFFFFF | LOOP $-127 |000000A3:E280 | LOOP $-126 |000000A5:E281 | LOOP $-125 |000000A7:E27E | LOOP $+128 |000000A9:E27F | LOOP $+129 |000000AB:E202EB05E979000000 | LOOP $+130 |000000B4:E202EB05E97A000000 | LOOP $+131 |000000BD:E22F | LOOP NearLabel: |000000BF:E202EB05E926000000 | LOOP NearLabel:,DIST=NEAR |000000C8:E202EB0466E91E00 | LOOP NearLabel:,DIST=NEAR,DATA=WORD |000000D0:E202EB05E9(00000000) | LOOP FarLabel: |000000D9:E202EB07EA[00000000]{0000} | LOOP FarLabel:,DIST=FAR |000000E4:E202EB0666EA[0000]{0000} | LOOP FarLabel:,DIST=FAR,DATA=WORD |000000EE: |NearLabel:: | |;; |[FarSeg] |[FarSeg] SEGMENT WIDTH=32,PURPOSE=CODE,ALIGN=0X10 |00000000:C3 |FarLabel:: RET | |ENDPROGRAM t3172 | **** ListMap "t3172.bin",model=FLAT,groups=0,segments=2,entry=,stack= | [Mode32],FA=00000000h,VA=00003000h,size=000000EEh=238,width=32,align=0010h,purpose=CODE | [FarSeg],FA=000000F0h,VA=000030F0h,size=00000001h=1,width=32,align=0010h,purpose=CODE | **** ListGlobals "t3172.bin",Global=0,Public=2,Extern=0,eXport=0,Import=0 | FarLabel,[FarSeg]:00000000h,VA=000030F0h,scope='P' | NearLabel,[Mode32]:000000EEh,VA=000030EEh,scope='P'`

Expected messages t3172.out
  `I0180 Assembling source file "t3172.htm". I0270 Assembling source "t3172". I0310 Assembling source pass 1. I0330 Assembling source pass 2 - final. I0470 Assembling program "t3172". "t3172.htm"{67} I0510 Assembling program pass 1. "t3172.htm"{67} I0510 Assembling program pass 2. "t3172.htm"{67} I0510 Assembling program pass 3. "t3172.htm"{67} I0530 Assembling program pass 4 - final. "t3172.htm"{67} I0622 JrCXZ out of byte range; assembled with proxy jump. "t3172.htm"{71} I0622 JrCXZ out of byte range; assembled with proxy jump. "t3172.htm"{72} I0622 JrCXZ out of byte range; assembled with proxy jump. "t3172.htm"{73} I0622 JrCXZ out of byte range; assembled with proxy jump. "t3172.htm"{74} I0621 LOOP out of byte range; assembled with proxy jump. "t3172.htm"{83} I0621 LOOP out of byte range; assembled with proxy jump. "t3172.htm"{84} I0621 LOOP out of byte range; assembled with proxy jump. "t3172.htm"{85} I0621 LOOP out of byte range; assembled with proxy jump. "t3172.htm"{86} I0621 LOOP out of byte range; assembled with proxy jump. "t3172.htm"{87} I0621 LOOP out of byte range; assembled with proxy jump. "t3172.htm"{88} I0621 LOOP out of byte range; assembled with proxy jump. "t3172.htm"{89} I0621 LOOP out of byte range; assembled with proxy jump. "t3172.htm"{90} I0621 LOOP out of byte range; assembled with proxy jump. "t3172.htm"{91} I0621 LOOP out of byte range; assembled with proxy jump. "t3172.htm"{92} I0621 LOOP out of byte range; assembled with proxy jump. "t3172.htm"{93} I0621 LOOP out of byte range; assembled with proxy jump. "t3172.htm"{98} I0621 LOOP out of byte range; assembled with proxy jump. "t3172.htm"{99} I0621 LOOP out of byte range; assembled with proxy jump. "t3172.htm"{101} I0621 LOOP out of byte range; assembled with proxy jump. "t3172.htm"{102} I0621 LOOP out of byte range; assembled with proxy jump. "t3172.htm"{103} I0621 LOOP out of byte range; assembled with proxy jump. "t3172.htm"{104} I0621 LOOP out of byte range; assembled with proxy jump. "t3172.htm"{105} I0660 32bit FLAT BIN file "t3172.bin" created, size=241. "t3172.htm"{110} I0650 Program "t3172" assembled in 4 passes with errorlevel 0. "t3172.htm"{110} I0750 Source "t3172" (178 lines) assembled in 2 passes with errorlevel 0. I0860 Listing file "t3172.htm.lst" created, size=3190. I0990 EuroAssembler terminated with errorlevel 0.`

Expected output file t3172. bin

      0000: 67 E3 FD E3 FE 67 E3 02 EB 05 E9 DF 00 00 00 E3  g¤¤¤¤g¤·¤·¤¤°°°¤
      0010: 02 EB 05 E9 D6 00 00 00 67 E3 02 EB 05 E9 CE 00  ·¤·¤¤°°°g¤·¤·¤¤°
      0020: 00 00 E3 02 EB 05 E9 C5 00 00 00 E2 FE E1 FE E1  °°¤·¤·¤¤°°°¤¤¤¤¤
      0030: FE E0 FE E0 FE 67 E2 FD 67 E1 FD 67 E0 FD E2 02  ¤¤¤¤¤g¤¤g¤¤g¤¤¤·
      0040: EB 05 E9 CA FF FF FF E2 02 EB 05 E9 D2 10 00 00  ¤·¤¤¤¤¤¤·¤·¤¤·°°
      0050: E2 02 EB 05 E9 DA 21 11 00 E2 02 EB 05 E9 F7 FF  ¤·¤·¤¤!·°¤·¤·¤¤¤
      0060: FF FF E2 02 EB 04 66 E9 F8 FF E2 02 EB 04 66 E9  ¤¤¤·¤·f¤¤¤¤·¤·f¤
      0070: F8 FF E2 02 EB 07 EA 72 30 00 00 00 00 E2 02 EB  ¤¤¤·¤·¤r0°°°°¤·¤
      0080: 06 66 EA 7D 30 00 00 E2 02 EB 06 66 EA 87 30 00  ·f¤}0°°¤·¤·f¤¤0°
      0090: 00 E2 02 EB 05 E9 77 FF FF FF E2 02 EB 05 E9 78  °¤·¤·¤w¤¤¤¤·¤·¤x
      00A0: FF FF FF E2 80 E2 81 E2 7E E2 7F E2 02 EB 05 E9  ¤¤¤¤¤¤¤¤~¤¤¤·¤·¤
      00B0: 79 00 00 00 E2 02 EB 05 E9 7A 00 00 00 E2 2F E2  y°°°¤·¤·¤z°°°¤/¤
      00C0: 02 EB 05 E9 26 00 00 00 E2 02 EB 04 66 E9 1E 00  ·¤·¤&°°°¤·¤·f¤·°
      00D0: E2 02 EB 05 E9 17 00 00 00 E2 02 EB 07 EA F0 30  ¤·¤·¤·°°°¤·¤·¤¤0
      00E0: 00 00 00 00 E2 02 EB 06 66 EA F0 30 00 00 90 90  °°°°¤·¤·f¤¤0°°¤¤
      00F0: C3                                               ¤

▲Back to the top▲