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

# Test t3173: Machine instructions LOOP LOOPNE LOOPNZ LOOPE LOOPZ JECXZ JRCXZ in 64bit mode

Tested procedures
  IigLOOP IigLOOPE IigLOOPZ IigLOOPNE IigLOOPNZ IigJECXZ IigJRCXZ

Source & expected listing t3173.htm.lst
  `| | EUROASM LIST=ON,DUMP=ON,AUTOALIGN=OFF,DUMPWIDTH=32,CPU=X64 | |t3173 PROGRAM FORMAT=BIN,MODEL=FLAT,IMAGEBASE=3000h,LISTMAP=OFF,LISTGLOBALS=ON |[Mode64] |[Mode64] SEGMENT WIDTH=64,PURPOSE=CODE ; Linked at 00003000h. |00000000:67E3FD | JECXZ $ |00000003:E3FE | JRCXZ $ |00000005:67E302EB05E989000000 | JECXZ NearLabel |0000000F:E302EB05E980000000 | JRCXZ NearLabel |00000018:E2FE | LOOP $ |0000001A:E1FE | LOOPE $ |0000001C:E1FE | LOOPZ $ |0000001E:E0FE | LOOPNE $ |00000020:E0FE | LOOPNZ $ |00000022:67E2FD | LOOP $,ECX |00000025:67E1FD | LOOPE $,ECX |00000028:67E0FD | LOOPNE $,ECX |0000002B:E202EB05E9(11000000) | LOOP 0x11 |00000034:E202EB05E9(22110000) | LOOP 0x1122 |0000003D:E202EB05E9(33221100) | LOOP 0x112233 |00000046:E202EB05E9F7FFFFFF | LOOP $,DIST=NEAR |0000004F:E202EB05E9F7FFFFFF | LOOP $,DIST=NEAR,DATA=QWORD |00000058:E202EB05E9F7FFFFFF | LOOP $,DIST=NEAR,IMM=DWORD |00000061:E202EB05E977FFFFFF | LOOP $-128 |0000006A:E202EB05E978FFFFFF | LOOP $-127 |00000073:E280 | LOOP $-126 |00000075:E281 | LOOP $-125 |00000077:E27E | LOOP $+128 |00000079:E27F | LOOP $+129 |0000007B:E202EB05E979000000 | LOOP $+130 |00000084:E202EB05E97A000000 | LOOP $+131 |0000008D:E209 | LOOP NearLabel: |0000008F:E202EB05E900000000 | LOOP NearLabel:,DIST=NEAR |00000098:C3 |NearLabel:: RET | |ENDPROGRAM t3173 | **** ListGlobals "t3173.bin",Global=0,Public=1,Extern=0,eXport=0,Import=0 | NearLabel,[Mode64]:00000098h,VA=00003098h,scope='P'`

Expected messages t3173.out
  `I0180 Assembling source file "t3173.htm". I0270 Assembling source "t3173". I0310 Assembling source pass 1. I0330 Assembling source pass 2 - final. I0470 Assembling program "t3173". "t3173.htm"{67} I0510 Assembling program pass 1. "t3173.htm"{67} I0510 Assembling program pass 2. "t3173.htm"{67} I0510 Assembling program pass 3. "t3173.htm"{67} I0530 Assembling program pass 4 - final. "t3173.htm"{67} I0622 JrCXZ out of byte range; assembled with proxy jump. "t3173.htm"{71} I0622 JrCXZ out of byte range; assembled with proxy jump. "t3173.htm"{72} I0621 LOOP out of byte range; assembled with proxy jump. "t3173.htm"{81} I0621 LOOP out of byte range; assembled with proxy jump. "t3173.htm"{82} I0621 LOOP out of byte range; assembled with proxy jump. "t3173.htm"{83} I0621 LOOP out of byte range; assembled with proxy jump. "t3173.htm"{84} I0621 LOOP out of byte range; assembled with proxy jump. "t3173.htm"{85} I0621 LOOP out of byte range; assembled with proxy jump. "t3173.htm"{86} I0621 LOOP out of byte range; assembled with proxy jump. "t3173.htm"{87} I0621 LOOP out of byte range; assembled with proxy jump. "t3173.htm"{88} I0621 LOOP out of byte range; assembled with proxy jump. "t3173.htm"{93} I0621 LOOP out of byte range; assembled with proxy jump. "t3173.htm"{94} I0621 LOOP out of byte range; assembled with proxy jump. "t3173.htm"{96} I0660 32bit FLAT BIN file "t3173.bin" created, size=153. "t3173.htm"{98} I0650 Program "t3173" assembled in 4 passes with errorlevel 0. "t3173.htm"{98} I0750 Source "t3173" (147 lines) assembled in 2 passes with errorlevel 0. I0860 Listing file "t3173.htm.lst" created, size=1903. I0990 EuroAssembler terminated with errorlevel 0.`

Expected output file t3173. bin

      0000: 67 E3 FD E3 FE 67 E3 02 EB 05 E9 89 00 00 00 E3  g¤¤¤¤g¤·¤·¤¤°°°¤
      0010: 02 EB 05 E9 80 00 00 00 E2 FE E1 FE E1 FE E0 FE  ·¤·¤¤°°°¤¤¤¤¤¤¤¤
      0020: E0 FE 67 E2 FD 67 E1 FD 67 E0 FD E2 02 EB 05 E9  ¤¤g¤¤g¤¤g¤¤¤·¤·¤
      0030: DD FF FF FF E2 02 EB 05 E9 E5 10 00 00 E2 02 EB  ¤¤¤¤¤·¤·¤¤·°°¤·¤
      0040: 05 E9 ED 21 11 00 E2 02 EB 05 E9 F7 FF FF FF E2  ·¤¤!·°¤·¤·¤¤¤¤¤¤
      0050: 02 EB 05 E9 F7 FF FF FF E2 02 EB 05 E9 F7 FF FF  ·¤·¤¤¤¤¤¤·¤·¤¤¤¤
      0060: FF E2 02 EB 05 E9 77 FF FF FF E2 02 EB 05 E9 78  ¤¤·¤·¤w¤¤¤¤·¤·¤x
      0070: FF FF FF E2 80 E2 81 E2 7E E2 7F E2 02 EB 05 E9  ¤¤¤¤¤¤¤¤~¤¤¤·¤·¤
      0080: 79 00 00 00 E2 02 EB 05 E9 7A 00 00 00 E2 09 E2  y°°°¤·¤·¤z°°°¤·¤
      0090: 02 EB 05 E9 00 00 00 00 C3                       ·¤·¤°°°°¤

▲Back to the top▲