EuroAssembler Index Manual Download Source Macros


Sitemap Links Forum Tests Projects

Test t3032: 32bit MOFFS addressing mode


Description
Copying between memory|immediate and accumulator in special MOFFS addressing mode with opcodes A0..A3, B0..BF.
Tested procedures
IigMOV  
Source & expected listing t3032.htm.lst
| | EUROASM LIST=ON, DUMP=ON, DUMPWIDTH=28,AUTOALIGN=OFF | |t3032: PROGRAM FORMAT=BIN,MODEL=FLAT, WIDTH=32, \ | | IMAGEBASE=0x3000,LISTMAP=ON,LISTGLOBALS=ON |[CODE] |[CODE] SEGMENT |00000000:90 | ALIGN OWORD,BYTE ; Intentional disalignment. |00000001:22222222 |NearDword:: DD 0x22222222 |00000005:3333 |NearWord:: DW 0x3333 |00000007:44 |NearByte:: DB 0x44 |00000008:B044 | MOV AL,0x44 |0000000A:66B83333 | MOV AX,0x3333 |0000000E:B822222222 | MOV EAX,0x22222222 |00000013:B144 | MOV CL,0x44 |00000015:66B93333 | MOV CX,0x3333 |00000019:B922222222 | MOV ECX,0x22222222 |0000001E:B9FFFFFFFF | MOV ECX,0xFFFFFFFF |00000023:B9FFFFFFFF | MOV ECX,-1 |00000028:A022110000 | MOV AL,[1122h] |0000002D:A0[07000000] | MOV AL,[NearByte] |00000032:A0[07000000] | MOV AL,[FarByte] |00000037:66A122110000 | MOV AX,[1122h] |0000003D:66A1[05000000] | MOV AX,[NearWord] |00000043:66A1[05000000] | MOV AX,[FarWord] |00000049:A122110000 | MOV EAX,[1122h] |0000004E:A1[01000000] | MOV EAX,[NearDword] |00000053:A1[01000000] | MOV EAX,[FarDword] |00000058:A222110000 | MOV [1122h],AL |0000005D:A2[07000000] | MOV [NearByte],AL |00000062:A2[07000000] | MOV [FarByte],AL |00000067:66A322110000 | MOV [1122h],AX |0000006D:66A3[05000000] | MOV [NearWord],AX |00000073:66A3[05000000] | MOV [FarWord],AX |00000079:A322110000 | MOV [1122h],EAX |0000007E:A3[01000000] | MOV [NearDword],EAX |00000083:A3[01000000] | MOV [FarDword],EAX |00000088: | |[DATA] |[DATA] SEGMENT |00000000:00 | ALIGN QWORD,BYTE ; Intentional disalignment. |00000001:EEEEEEEE |FarDword:: DD 0xEEEEEEEE |00000005:DDDD |FarWord:: DW 0xDDDD |00000007:CC |FarByte:: DB 0xCC | | ENDPROGRAM t3032: | **** ListMap "t3032.bin",model=FLAT,groups=0,segments=2,entry=,stack= | [CODE],FA=00000000h,VA=00003000h,size=00000088h=136,width=32,align=0010h,purpose=CODE | [DATA],FA=00000090h,VA=00003090h,size=00000008h=8,width=32,align=0010h,purpose=DATA | **** ListGlobals "t3032.bin",Global=0,Public=6,Extern=0,eXport=0,Import=0 | FarByte,[DATA]:00000007h,VA=00003097h,scope='P' | FarDword,[DATA]:00000001h,VA=00003091h,scope='P' | FarWord,[DATA]:00000005h,VA=00003095h,scope='P' | NearByte,[CODE]:00000007h,VA=00003007h,scope='P' | NearDword,[CODE]:00000001h,VA=00003001h,scope='P' | NearWord,[CODE]:00000005h,VA=00003005h,scope='P'
Expected messages t3032.out
I0180 Assembling source file "t3032.htm". I0270 Assembling source "t3032". I0310 Assembling source pass 1. I0330 Assembling source pass 2 - final. I0470 Assembling program "t3032". "t3032.htm"{52} I0510 Assembling program pass 1. "t3032.htm"{52} I0510 Assembling program pass 2. "t3032.htm"{52} I0530 Assembling program pass 3 - final. "t3032.htm"{52} I0660 32bit FLAT BIN file "t3032.bin" created, size=152. "t3032.htm"{91} I0650 Program "t3032" assembled in 3 passes with errorlevel 0. "t3032.htm"{91} I0750 Source "t3032" (134 lines) assembled in 2 passes with errorlevel 0. I0860 Listing file "t3032.htm.lst" created, size=2814. I0990 EuroAssembler terminated with errorlevel 0.
Expected output file t3032. bin
0000: 90 22 22 22 22 33 33 44 B0 44 66 B8 33 33 B8 22  ¤""""33D¤Df¤33¤"
0010: 22 22 22 B1 44 66 B9 33 33 B9 22 22 22 22 B9 FF  """¤Df¤33¤""""¤¤
0020: FF FF FF B9 FF FF FF FF A0 22 11 00 00 A0 07 30  ¤¤¤¤¤¤¤¤¤"·°°¤·0
0030: 00 00 A0 97 30 00 00 66 A1 22 11 00 00 66 A1 05  °°¤¤0°°f¤"·°°f¤·
0040: 30 00 00 66 A1 95 30 00 00 A1 22 11 00 00 A1 01  0°°f¤¤0°°¤"·°°¤·
0050: 30 00 00 A1 91 30 00 00 A2 22 11 00 00 A2 07 30  0°°¤¤0°°¤"·°°¤·0
0060: 00 00 A2 97 30 00 00 66 A3 22 11 00 00 66 A3 05  °°¤¤0°°f¤"·°°f¤·
0070: 30 00 00 66 A3 95 30 00 00 A3 22 11 00 00 A3 01  0°°f¤¤0°°¤"·°°¤·
0080: 30 00 00 A3 91 30 00 00 00 00 00 00 00 00 00 00  0°°¤¤0°°°°°°°°°°
0090: 00 EE EE EE EE DD DD CC                          °¤¤¤¤¤¤¤

▲Back to the top▲