Test t3054:
Machine instructions SHL SHLB SHLW SHLD in 16bit mode
- Tested procedures
-
IigSHL
IigSHLB
IigSHLW
IigSHLD
- Source & expected listing
t3054.htm.lst
-
| | EUROASM LIST=ON,DUMP=ON,DUMPWIDTH=36,CPU=386
| |t3054 PROGRAM FORMAT=BIN,IMAGEBASE=0,LISTMAP=OFF,LISTGLOBALS=OFF
|[Mode16] |[Mode16] SEGMENT PURPOSE=CODE,WIDTH=16
|0000:D2E0 | SHL AL,CL
|0002:D0E0 | SHL AL
|0004:D0E0 | SHL AL,1
|0006:C0E001 | SHL AL,1,CODE=LONG
|0009:C0E001 | SHL AL,1,IMM=BYTE
|000C:C0E002 | SHL AL,2
|000F:D226[2601] | SHL [MemByte],CL
|0013:D026[2601] | SHL [MemByte]
|0017:D026[2601] | SHL [MemByte],1
|001B:C026[2601]01 | SHL [MemByte],1,CODE=LONG
|0020:C026[2601]01 | SHL [MemByte],1,IMM=BYTE
|0025:C026[2601]02 | SHL [MemByte],2
|002A:C02501 | SHL [DI],1,DATA=BYTE,IMM=BYTE
|002D:67D027 | SHL [EDI],1,DATA=BYTE
|0030:D3E0 | SHL AX,CL
|0032:D1E0 | SHL AX
|0034:D1E0 | SHL AX,1
|0036:C1E001 | SHL AX,1,CODE=LONG
|0039:C1E001 | SHL AX,1,IMM=BYTE
|003C:C1E002 | SHL AX,2
|003F:D326[2401] | SHL [MemWord],CL
|0043:D126[2401] | SHL [MemWord]
|0047:D126[2401] | SHL [MemWord],1
|004B:C126[2401]01 | SHL [MemWord],1,CODE=LONG
|0050:C126[2401]01 | SHL [MemWord],1,IMM=BYTE
|0055:C126[2401]02 | SHL [MemWord],2
|005A:C12501 | SHL [DI],1,DATA=WORD,IMM=BYTE
|005D:67D127 | SHL [EDI],1,DATA=WORD
|0060:66D3E0 | SHL EAX,CL
|0063:66D1E0 | SHL EAX
|0066:66D1E0 | SHL EAX,1
|0069:66C1E001 | SHL EAX,1,CODE=LONG
|006D:66C1E001 | SHL EAX,1,IMM=BYTE
|0071:66C1E002 | SHL EAX,2
|0075:66D326[2001] | SHL [MemDword],CL
|007A:66D126[2001] | SHL [MemDword]
|007F:66D126[2001] | SHL [MemDword],1
|0084:66C126[2001]01 | SHL [MemDword],1,CODE=LONG
|008A:66C126[2001]01 | SHL [MemDword],1,IMM=BYTE
|0090:66C126[2001]02 | SHL [MemDword],2
|0096:66C12501 | SHL [DI],1,DATA=DWORD,IMM=BYTE
|009A:6667D127 | SHL [EDI],1,DATA=DWORD
|009E:D225 | SHLB [DI],CL
|00A0:D325 | SHLW [DI],CL
|00A2:66D325 | SHLD [DI],CL
|00A5:66D3E0 | SHLD EAX,CL
|00A8:66D1E0 | SHLD EAX
|00AB:66D1E0 | SHLD EAX,1
|00AE:66C1E001 | SHLD EAX,1,IMM=BYTE
|00B2:66C1E002 | SHLD EAX,2
|00B6: | ; Following instructions are double precision shift.
|00B6:0FA5D0 | SHLD AX,DX,CL
|00B9:0FA4D001 | SHLD AX,DX
|00BD:0FA4D001 | SHLD AX,DX,1
|00C1:0FA4D002 | SHLD AX,DX,2
|00C5:0FA516[2401] | SHLD [MemWord],DX,CL
|00CA:0FA416[2401]01 | SHLD [MemWord],DX
|00D0:0FA416[2401]01 | SHLD [MemWord],DX,1
|00D6:0FA416[2401]03 | SHLD [MemWord],DX,3
|00DC:0FA515 | SHLD [DI],DX,CL
|00DF:0FA41503 | SHLD [DI],DX,3
|00E3:660FA5D0 | SHLD EAX,EDX,CL
|00E7:660FA4D001 | SHLD EAX,EDX
|00EC:660FA4D001 | SHLD EAX,EDX,1
|00F1:660FA4D002 | SHLD EAX,EDX,2
|00F6:660FA516[2001] | SHLD [MemDword],EDX,CL
|00FC:660FA416[2001]01 | SHLD [MemDword],EDX
|0103:660FA416[2001]01 | SHLD [MemDword],EDX,1
|010A:660FA416[2001]02 | SHLD [MemDword],EDX,2
|0111:660FA515 | SHLD [DI],EDX,CL
|0115:660FA41503 | SHLD [DI],EDX,3
|011A:87C987D287DB | ALIGN QWORD
|0120:00000000 |MemDword D D
|0124:0000 |MemWord D W
|0126:00 |MemByte D B
| |ENDPROGRAM t3054
- Expected messages
t3054.out
I0180 Assembling source file "t3054.htm".
I0270 Assembling source "t3054".
I0310 Assembling source pass 1.
I0330 Assembling source pass 2 - final.
I0470 Assembling program "t3054". "t3054.htm"{58}
I0510 Assembling program pass 1. "t3054.htm"{58}
I0510 Assembling program pass 2. "t3054.htm"{58}
I0510 Assembling program pass 3. "t3054.htm"{58}
I0530 Assembling program pass 4 - final. "t3054.htm"{58}
I0660 16bit TINY BIN file "t3054.bin" created, size=295. "t3054.htm"{135}
I0650 Program "t3054" assembled in 4 passes with errorlevel 0. "t3054.htm"{135}
I0750 Source "t3054" (155 lines) assembled in 2 passes with errorlevel 0.
I0860 Listing file "t3054.htm.lst" created, size=4436.
I0990 EuroAssembler terminated with errorlevel 0.
▲Back to the top▲