Test t3074:
Machine instructions SHL SHLB SHLW SHLD SHLQ in 64bit mode
- Tested procedures
-
IigSHL
IigSHLB
IigSHLW
IigSHLD
IigSHLQ
- Source & expected listing
t3074.htm.lst
-
| | EUROASM LIST=ON,DUMP=ON,DUMPWIDTH=36,CPU=X64
| |t3074 PROGRAM FORMAT=BIN,IMAGEBASE=0,LISTMAP=OFF,LISTGLOBALS=OFF
|[Mode64] |[Mode64] SEGMENT WIDTH=64,PURPOSE=CODE
|00000000:D2E0 | SHL AL,CL
|00000002:D0E0 | SHL AL
|00000004:D0E0 | SHL AL,1
|00000006:C0E001 | SHL AL,1,CODE=LONG
|00000009:C0E001 | SHL AL,1,IMM=BYTE
|0000000C:C0E002 | SHL AL,2
|0000000F:40D0E6 | SHL SIL
|00000012:41D0E1 | SHL R9L
|00000015:D225DB010000 | SHL [MemByte],CL
|0000001B:D025D5010000 | SHL [MemByte]
|00000021:D025CF010000 | SHL [MemByte],1
|00000027:C025C801000001 | SHL [MemByte],1,CODE=LONG
|0000002E:C025C101000001 | SHL [MemByte],1,IMM=BYTE
|00000035:C025BA01000002 | SHL [MemByte],2
|0000003C:C02701 | SHL [RDI],1,DATA=BYTE,IMM=BYTE
|0000003F:67D027 | SHL [EDI],1,DATA=BYTE
|00000042:66D3E0 | SHL AX,CL
|00000045:66D1E0 | SHL AX
|00000048:66D1E0 | SHL AX,1
|0000004B:66C1E001 | SHL AX,1,CODE=LONG
|0000004F:66C1E001 | SHL AX,1,IMM=BYTE
|00000053:66C1E002 | SHL AX,2
|00000057:6641D1E1 | SHL R9W
|0000005B:66D32592010000 | SHL [MemWord],CL
|00000062:66D1258B010000 | SHL [MemWord]
|00000069:66D12584010000 | SHL [MemWord],1
|00000070:66C1257C01000001 | SHL [MemWord],1,CODE=LONG
|00000078:66C1257401000001 | SHL [MemWord],1,IMM=BYTE
|00000080:66C1256C01000002 | SHL [MemWord],2
|00000088:66C12701 | SHL [RDI],1,DATA=WORD,IMM=BYTE
|0000008C:6667D127 | SHL [EDI],1,DATA=WORD
|00000090:D3E0 | SHL EAX,CL
|00000092:D1E0 | SHL EAX
|00000094:D1E0 | SHL EAX,1
|00000096:C1E001 | SHL EAX,1,CODE=LONG
|00000099:C1E001 | SHL EAX,1,IMM=BYTE
|0000009C:C1E002 | SHL EAX,2
|0000009F:41D1E1 | SHL R9D
|000000A2:D32548010000 | SHL [MemDword],CL
|000000A8:D12542010000 | SHL [MemDword]
|000000AE:D1253C010000 | SHL [MemDword],1
|000000B4:C1253501000001 | SHL [MemDword],1,CODE=LONG
|000000BB:C1252E01000001 | SHL [MemDword],1,IMM=BYTE
|000000C2:C1252701000002 | SHL [MemDword],2
|000000C9:67C12701 | SHL [EDI],1,DATA=DWORD,IMM=BYTE
|000000CD:D127 | SHL [RDI],1,DATA=DWORD
|000000CF:48D3E0 | SHL RAX,CL
|000000D2:48D1E0 | SHL RAX
|000000D5:48D1E0 | SHL RAX,1
|000000D8:48C1E001 | SHL RAX,1,CODE=LONG
|000000DC:48C1E001 | SHL RAX,1,IMM=BYTE
|000000E0:48C1E002 | SHL RAX,2
|000000E4:48D325FD000000 | SHL [MemQword],CL
|000000EB:48D125F6000000 | SHL [MemQword]
|000000F2:48D125EF000000 | SHL [MemQword],1
|000000F9:48C125E700000001 | SHL [MemQword],1,CODE=LONG
|00000101:48C125DF00000001 | SHL [MemQword],1,IMM=BYTE
|00000109:48C125D700000002 | SHL [MemQword],2
|00000111:6741C12001 | SHL [R8D],1,DATA=DWORD,IMM=BYTE
|00000116:41D12424 | SHL [R12],1,DATA=DWORD
|0000011A:4AD164A500 | SHL [RBP+4*R12],1,DATA=QWORD
|0000011F:D227 | SHLB [RDI],CL
|00000121:66D327 | SHLW [RDI],CL
|00000124:D327 | SHLD [RDI],CL
|00000126:48D327 | SHLQ [RDI],CL
|00000129:D3E0 | SHLD EAX,CL
|0000012B:D1E0 | SHLD EAX
|0000012D:D1E0 | SHLD EAX,1
|0000012F:C1E001 | SHLD EAX,1,IMM=BYTE
|00000132:C1E002 | SHLD EAX,2
|00000135: | ; Following instructions are double precision shift.
|00000135:660FA5D0 | SHLD AX,DX,CL
|00000139:660FA4D001 | SHLD AX,DX
|0000013E:660FA4D001 | SHLD AX,DX,1
|00000143:660FA4D002 | SHLD AX,DX,2
|00000148:660FA515A4000000 | SHLD [MemWord],DX,CL
|00000150:660FA4159B00000001 | SHLD [MemWord],DX
|00000159:660FA4159200000001 | SHLD [MemWord],DX,1
|00000162:660FA4158900000003 | SHLD [MemWord],DX,3
|0000016B:660FA517 | SHLD [RDI],DX,CL
|0000016F:660FA41703 | SHLD [RDI],DX,3
|00000174:0FA5D0 | SHLD EAX,EDX,CL
|00000177:0FA4D001 | SHLD EAX,EDX
|0000017B:0FA4D001 | SHLD EAX,EDX,1
|0000017F:0FA4D002 | SHLD EAX,EDX,2
|00000183:0FA51566000000 | SHLD [MemDword],EDX,CL
|0000018A:0FA4155E00000001 | SHLD [MemDword],EDX
|00000192:0FA4155600000001 | SHLD [MemDword],EDX,1
|0000019A:0FA4154E00000002 | SHLD [MemDword],EDX,2
|000001A2:0FA517 | SHLD [RDI],EDX,CL
|000001A5:0FA41703 | SHLD [RDI],EDX,3
|000001A9:480FA5D0 | SHLD RAX,RDX,CL
|000001AD:480FA4D001 | SHLD RAX,RDX
|000001B2:480FA4D001 | SHLD RAX,RDX,1
|000001B7:480FA4D002 | SHLD RAX,RDX,2
|000001BC:480FA5152C000000 | SHLD [MemDword],RDX,CL
|000001C4:480FA4152300000001 | SHLD [MemDword],RDX
|000001CD:480FA4151A00000001 | SHLD [MemDword],RDX,1
|000001D6:480FA4151100000002 | SHLD [MemDword],RDX,2
|000001DF:480FA517 | SHLD [RDI],RDX,CL
|000001E3:480FA41703 | SHLD [RDI],RDX,3
|000001E8: | ALIGN QWORD
|000001E8:0000000000000000 |MemQword D Q
|000001F0:00000000 |MemDword D D
|000001F4:0000 |MemWord D W
|000001F6:00 |MemByte D B
| |ENDPROGRAM t3074
- Expected messages
t3074.out
I0180 Assembling source file "t3074.htm".
I0270 Assembling source "t3074".
I0310 Assembling source pass 1.
I0330 Assembling source pass 2 - final.
I0470 Assembling program "t3074". "t3074.htm"{61}
I0510 Assembling program pass 1. "t3074.htm"{61}
I0510 Assembling program pass 2. "t3074.htm"{61}
I0510 Assembling program pass 3. "t3074.htm"{61}
I0530 Assembling program pass 4 - final. "t3074.htm"{61}
I0660 16bit TINY BIN file "t3074.bin" created, size=503. "t3074.htm"{169}
I0650 Program "t3074" assembled in 4 passes with errorlevel 0. "t3074.htm"{169}
I0750 Source "t3074" (189 lines) assembled in 2 passes with errorlevel 0.
I0860 Listing file "t3074.htm.lst" created, size=6145.
I0990 EuroAssembler terminated with errorlevel 0.
▲Back to the top▲