Test t3075:
Machine instructions SHR SHRB SHRW SHRD SHRQ in 64bit mode
- Tested procedures
-
IigSHR
IigSHRB
IigSHRW
IigSHRD
IigSHRQ
- Source & expected listing
t3075.htm.lst
-
| | EUROASM LIST=ON,DUMP=ON,DUMPWIDTH=36,CPU=X64
| |t3075 PROGRAM FORMAT=BIN,IMAGEBASE=0,LISTMAP=OFF,LISTGLOBALS=OFF
|[Mode64] |[Mode64] SEGMENT WIDTH=64,PURPOSE=CODE
|00000000:D2E8 | SHR AL,CL
|00000002:D0E8 | SHR AL
|00000004:D0E8 | SHR AL,1
|00000006:C0E801 | SHR AL,1,CODE=LONG
|00000009:C0E801 | SHR AL,1,IMM=BYTE
|0000000C:C0E802 | SHR AL,2
|0000000F:40D0EE | SHR SIL
|00000012:41D0E9 | SHR R9L
|00000015:D22DDB010000 | SHR [MemByte],CL
|0000001B:D02DD5010000 | SHR [MemByte]
|00000021:D02DCF010000 | SHR [MemByte],1
|00000027:C02DC801000001 | SHR [MemByte],1,CODE=LONG
|0000002E:C02DC101000001 | SHR [MemByte],1,IMM=BYTE
|00000035:C02DBA01000002 | SHR [MemByte],2
|0000003C:C02F01 | SHR [RDI],1,DATA=BYTE,IMM=BYTE
|0000003F:67D02F | SHR [EDI],1,DATA=BYTE
|00000042:66D3E8 | SHR AX,CL
|00000045:66D1E8 | SHR AX
|00000048:66D1E8 | SHR AX,1
|0000004B:66C1E801 | SHR AX,1,CODE=LONG
|0000004F:66C1E801 | SHR AX,1,IMM=BYTE
|00000053:66C1E802 | SHR AX,2
|00000057:6641D1E9 | SHR R9W
|0000005B:66D32D92010000 | SHR [MemWord],CL
|00000062:66D12D8B010000 | SHR [MemWord]
|00000069:66D12D84010000 | SHR [MemWord],1
|00000070:66C12D7C01000001 | SHR [MemWord],1,CODE=LONG
|00000078:66C12D7401000001 | SHR [MemWord],1,IMM=BYTE
|00000080:66C12D6C01000002 | SHR [MemWord],2
|00000088:66C12F01 | SHR [RDI],1,DATA=WORD,IMM=BYTE
|0000008C:6667D12F | SHR [EDI],1,DATA=WORD
|00000090:D3E8 | SHR EAX,CL
|00000092:D1E8 | SHR EAX
|00000094:D1E8 | SHR EAX,1
|00000096:C1E801 | SHR EAX,1,CODE=LONG
|00000099:C1E801 | SHR EAX,1,IMM=BYTE
|0000009C:C1E802 | SHR EAX,2
|0000009F:41D1E9 | SHR R9D
|000000A2:D32D48010000 | SHR [MemDword],CL
|000000A8:D12D42010000 | SHR [MemDword]
|000000AE:D12D3C010000 | SHR [MemDword],1
|000000B4:C12D3501000001 | SHR [MemDword],1,CODE=LONG
|000000BB:C12D2E01000001 | SHR [MemDword],1,IMM=BYTE
|000000C2:C12D2701000002 | SHR [MemDword],2
|000000C9:67C12F01 | SHR [EDI],1,DATA=DWORD,IMM=BYTE
|000000CD:D12F | SHR [RDI],1,DATA=DWORD
|000000CF:48D3E8 | SHR RAX,CL
|000000D2:48D1E8 | SHR RAX
|000000D5:48D1E8 | SHR RAX,1
|000000D8:48C1E801 | SHR RAX,1,CODE=LONG
|000000DC:48C1E801 | SHR RAX,1,IMM=BYTE
|000000E0:48C1E802 | SHR RAX,2
|000000E4:48D32DFD000000 | SHR [MemQword],CL
|000000EB:48D12DF6000000 | SHR [MemQword]
|000000F2:48D12DEF000000 | SHR [MemQword],1
|000000F9:48C12DE700000001 | SHR [MemQword],1,CODE=LONG
|00000101:48C12DDF00000001 | SHR [MemQword],1,IMM=BYTE
|00000109:48C12DD700000002 | SHR [MemQword],2
|00000111:6741C12801 | SHR [R8D],1,DATA=DWORD,IMM=BYTE
|00000116:41D12C24 | SHR [R12],1,DATA=DWORD
|0000011A:4AD16CA500 | SHR [RBP+4*R12],1,DATA=QWORD
|0000011F:D22F | SHRB [RDI],CL
|00000121:66D32F | SHRW [RDI],CL
|00000124:D32F | SHRD [RDI],CL
|00000126:48D32F | SHRQ [RDI],CL
|00000129:D3E8 | SHRD EAX,CL
|0000012B:D1E8 | SHRD EAX
|0000012D:D1E8 | SHRD EAX,1
|0000012F:C1E801 | SHRD EAX,1,IMM=BYTE
|00000132:C1E802 | SHRD EAX,2
|00000135: | ; Following instructions are double precision shift.
|00000135:660FADD0 | SHRD AX,DX,CL
|00000139:660FACD001 | SHRD AX,DX
|0000013E:660FACD001 | SHRD AX,DX,1
|00000143:660FACD002 | SHRD AX,DX,2
|00000148:660FAD15A4000000 | SHRD [MemWord],DX,CL
|00000150:660FAC159B00000001 | SHRD [MemWord],DX
|00000159:660FAC159200000001 | SHRD [MemWord],DX,1
|00000162:660FAC158900000003 | SHRD [MemWord],DX,3
|0000016B:660FAD17 | SHRD [RDI],DX,CL
|0000016F:660FAC1703 | SHRD [RDI],DX,3
|00000174:0FADD0 | SHRD EAX,EDX,CL
|00000177:0FACD001 | SHRD EAX,EDX
|0000017B:0FACD001 | SHRD EAX,EDX,1
|0000017F:0FACD002 | SHRD EAX,EDX,2
|00000183:0FAD1566000000 | SHRD [MemDword],EDX,CL
|0000018A:0FAC155E00000001 | SHRD [MemDword],EDX
|00000192:0FAC155600000001 | SHRD [MemDword],EDX,1
|0000019A:0FAC154E00000002 | SHRD [MemDword],EDX,2
|000001A2:0FAD17 | SHRD [RDI],EDX,CL
|000001A5:0FAC1703 | SHRD [RDI],EDX,3
|000001A9:480FADD0 | SHRD RAX,RDX,CL
|000001AD:480FACD001 | SHRD RAX,RDX
|000001B2:480FACD001 | SHRD RAX,RDX,1
|000001B7:480FACD002 | SHRD RAX,RDX,2
|000001BC:480FAD152C000000 | SHRD [MemDword],RDX,CL
|000001C4:480FAC152300000001 | SHRD [MemDword],RDX
|000001CD:480FAC151A00000001 | SHRD [MemDword],RDX,1
|000001D6:480FAC151100000002 | SHRD [MemDword],RDX,2
|000001DF:480FAD17 | SHRD [RDI],RDX,CL
|000001E3:480FAC1703 | SHRD [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 t3075
- Expected messages
t3075.out
I0180 Assembling source file "t3075.htm".
I0270 Assembling source "t3075".
I0310 Assembling source pass 1.
I0330 Assembling source pass 2 - final.
I0470 Assembling program "t3075". "t3075.htm"{61}
I0510 Assembling program pass 1. "t3075.htm"{61}
I0510 Assembling program pass 2. "t3075.htm"{61}
I0510 Assembling program pass 3. "t3075.htm"{61}
I0530 Assembling program pass 4 - final. "t3075.htm"{61}
I0660 16bit TINY BIN file "t3075.bin" created, size=503. "t3075.htm"{169}
I0650 Program "t3075" assembled in 4 passes with errorlevel 0. "t3075.htm"{169}
I0750 Source "t3075" (189 lines) assembled in 2 passes with errorlevel 0.
I0860 Listing file "t3075.htm.lst" created, size=6145.
I0990 EuroAssembler terminated with errorlevel 0.
▲Back to the top▲