Test t3041:
Machine instructions MOV MOVB MOVW MOVD MOVQ in 16bit mode
- Tested procedures
-
IigMOV
IigMOVB
IigMOVW
IigMOVD
IigMOVQ
- Source & expected listing
t3041.htm.lst
-
| | EUROASM LIST=ON,DUMP=ON,DUMPWIDTH=34,DUMPALL=OFF,CPU=386
| |t3041 PROGRAM FORMAT=BIN, LISTMAP=OFF, LISTGLOBALS=OFF
|[Mode16] |[Mode16] SEGMENT WIDTH=16,PURPOSE=CODE
|0000:88D1 | MOV CL,DL
|0002:8ACA | MOV CL,DL,CODE=LONG
|0004:8A0C | MOV CL,[SI]
|0006:A0[2E01] | MOV AL,[MemByte]
|0009:8A06[2E01] | MOV AL,[MemByte],CODE=LONG
|000D:8A0E[2E01] | MOV CL,[MemByte]
|0011:8815 | MOV [DI],DL
|0013:A2[2E01] | MOV [MemByte],AL
|0016:8806[2E01] | MOV [MemByte],AL,CODE=LONG
|001A:8816[2E01] | MOV [MemByte],DL
|001E:89D1 | MOV CX,DX
|0020:8BCA | MOV CX,DX,CODE=LONG
|0022:8B0C | MOV CX,[SI]
|0024:A1[2C01] | MOV AX,[MemWord]
|0027:8B06[2C01] | MOV AX,[MemWord],CODE=LONG
|002B:8B0E[2C01] | MOV CX,[MemWord]
|002F:8915 | MOV [DI],DX
|0031:A3[2C01] | MOV [MemWord],AX
|0034:8906[2C01] | MOV [MemWord],AX,CODE=LONG
|0038:8916[2C01] | MOV [MemWord],DX
|003C:6689D1 | MOV ECX,EDX
|003F:668BCA | MOV ECX,EDX,CODE=LONG
|0042:668B0C | MOV ECX,[SI]
|0045:66A1[2801] | MOV EAX,[MemDword]
|0049:668B06[2801] | MOV EAX,[MemDword],CODE=LONG
|004E:668B0E[2801] | MOV ECX,[MemDword]
|0053:668915 | MOV [DI],EDX
|0056:66A3[2801] | MOV [MemDword],EAX
|005A:668906[2801] | MOV [MemDword],EAX,CODE=LONG
|005F:668916[2801] | MOV [MemDword],EDX
|0064:8EC2 | MOV ES,DX
|0066:8EC2 | MOV ES,EDX
|0068:8E04 | MOV ES,[SI]
|006A:8E06[2C01] | MOV ES,[MemWord]
|006E:8CC9 | MOV CX,CS
|0070:668CC9 | MOV ECX,CS
|0073:8C0D | MOV [DI],CS
|0075:8C0D | MOVW [DI],CS
|0077:668C0D | MOVD [DI],CS
|007A:8C0E[2C01] | MOV [MemWord],CS
|007E:668C0E[2801] | MOV [MemDword],CS
|0083:B102 | MOV CL,2
|0085:C6C102 | MOV CL,2,CODE=LONG
|0088:B90200 | MOV CX,2
|008B:C7C10200 | MOV CX,2,CODE=LONG
|008F:66B902000000 | MOV ECX,2
|0095:66C7C102000000 | MOV ECX,2,CODE=LONG
|009C:C60502 | MOVB [DI],2
|009F:C7050200 | MOVW [DI],2
|00A3:66C70502000000 | MOVD [DI],2
|00AA:C606[2E01]02 | MOV [MemByte],2
|00AF:C706[2C01]0200 | MOV [MemWord],2
|00B5:66C706[2801]02000000 | MOV [MemDword],2
| | EUROASM MMX=ON
|00BE:0F6ECA | MOVD MM1,EDX
|00C1:0F7ED1 | MOVD ECX,MM2
|00C4:0F6E0C | MOVD MM1,[SI]
|00C7:0F6E0E[2801] | MOVD MM1,[MemDword]
|00CC:0F7E15 | MOVD [DI],MM2
|00CF:0F7E16[2801] | MOVD [MemDword],MM2
|00D4:0F6FCA | MOVQ MM1,MM2
|00D7:0F7FD1 | MOVQ MM1,MM2,CODE=LONG
|00DA:670F6F0E | MOVQ MM1,[ESI]
|00DE:0F7F15 | MOVQ [DI],MM2
| | EUROASM SIMD=SSE
|00E1:F30F7ECA | MOVQ XMM1,XMM2
|00E5:660FD6D1 | MOVQ XMM1,XMM2,CODE=LONG
|00E9:660F6ECA | MOVD XMM1,EDX
|00ED:660F7ED1 | MOVD ECX,XMM2
|00F1:660F6E0C | MOVD XMM1,[SI]
|00F5:66670F7E17 | MOVD [EDI],XMM2
|00FA:F30F7ECA | MOVQ XMM1,XMM2
|00FE:660FD6D1 | MOVQ XMM1,XMM2,CODE=LONG
|0102:F30F7E0C | MOVQ XMM1,[SI]
|0106:660FD615 | MOVQ [DI],XMM2
| | EUROASM PRIV=ON
|010A:0F21D1 | MOV ECX,DR2
|010D:0F23CA | MOV DR1,EDX
|0110:0F20D1 | MOV ECX,CR2
| | EUROASM CPU=X64, AMD=ON
|0113:F00F20C1 | MOV ECX,CR8
|0117:0F22C2 | MOV CR0,EDX
|011A:F00F22C2 | MOV CR8,EDX
| | EUROASM UNDOC=ON
|011E:0F24D1 | MOV ECX,TR2
|0121:0F26CA | MOV TR1,EDX
|0124:670F1F00 | ALIGN QWORD
|0128:00000000 |MemDword D D
|012C:0000 |MemWord D W
|012E:00 |MemByte D B
| |ENDPROGRAM t3041
- Expected messages
t3041.out
I0180 Assembling source file "t3041.htm".
I0270 Assembling source "t3041".
I0310 Assembling source pass 1.
I0330 Assembling source pass 2 - final.
I0470 Assembling program "t3041". "t3041.htm"{61}
I0510 Assembling program pass 1. "t3041.htm"{61}
I0510 Assembling program pass 2. "t3041.htm"{61}
I0510 Assembling program pass 3. "t3041.htm"{61}
I0530 Assembling program pass 4 - final. "t3041.htm"{61}
I0660 16bit TINY BIN file "t3041.bin" created, size=303. "t3041.htm"{153}
I0650 Program "t3041" assembled in 4 passes with errorlevel 0. "t3041.htm"{153}
I0750 Source "t3041" (173 lines) assembled in 2 passes with errorlevel 0.
I0860 Listing file "t3041.htm.lst" created, size=4971.
I0990 EuroAssembler terminated with errorlevel 0.
▲Back to the top▲