EuroAssembler Index Manual Download Source Macros


Sitemap Links Forum Tests Projects

Test t7911: Compile to MZ in TINY model


Tested procedures
PfmzCompile  
Source & expected listing t7911.htm.lst
| | EUROASM LIST=ON,DUMP=ON,DUMPWIDTH=20,DUMPALL=OFF,LISTMACRO=ON | |t7911 PROGRAM FORMAT=MZ,MODEL=TINY,WIDTH=16,ENTRY=Start:, \ | | LISTMAP=ON,LISTGLOBALS=OFF,LISTLITERALS=ON |[CODE] ::::Section changed. |0000: |Start: |0000:0E | PUSH CS |0001:1F | POP DS |0002:BE[0000] | MOV SI,=B'EuroAssembler test program "t7911.exe".' |0005:E80300 | CALL WriteStringDos: |0008:E81000 | CALL TerminateProgramDos: | |;; Definition of two procedures for real mode DOS programs: |000B: |WriteStringDos: PROC ; Write ASCIIZ string DS:SI on standard output. |000B:60 | PUSHAW ; Save all GPR on stack. |000C:B402 | MOV AH,0x02 ; Dos function WRITE CHARACTER FROM DL TO STANDARD OUTPUT. |000E:8A14 | .10: MOV DL,[SI] ; Get one character. |0010:84D2 | TEST DL ; Test if it is the terminating zero. |0012:7405 | JZ .90: ; Go to the end if so. |0014:CD21 | INT 0x21 ; Call DOS service to write a character. |0016:46 | INC SI ; Let SI point to the next character. |0017:EBF5 | JMP .10: ; Repeat until DL=0. |0019:61 | .90:POPAW ; Restore all registers. |001A:C3 | RET |001B: | ENDP WriteStringDos: | |;; |001B: |TerminateProgramDos: PROC ; Terminate program with errorlevel=0. |001B:B8004C | MOV AX,0x4C00 ; DOS function TERMINATE WITH RETURN CODE IN AL. |001E:CD21 | INT 0x21 |0020: | ENDP TerminateProgramDos: | |;; |[@LT1] ====ListLiterals in section [@LT1]. |0000:4575726F4173~=B'EuroAssembler test program "t7911.exe".' | | ENDPROGRAM t7911 | **** ListMap "t7911.exe",groups=1,segments=3,entry=[CODE]:00000000h,stack=[STACK]:00001000h | [CODE],RVA=00000000h,size=00000048h=72,group [CODE] [DATA] | [CODE],RVA=00000000h,size=00000020h=32,width=16,align=16,purpose=CODE | [DATA],RVA=00000020h,size=00000028h=40,width=16,align=16,purpose=DATA+LITERAL | [STACK],RVA=00000050h,size=00001000h=4096,width=16,align=16,purpose=STACK
Expected messages t7911.out
I0180 Assembling source file "t7911.htm". I0270 Assembling source "t7911". I0310 Assembling source pass 1. I0330 Assembling source pass 2 - final. I0470 Assembling program "t7911". "t7911.htm"{49} I0510 Assembling program pass 1. "t7911.htm"{49} I0510 Assembling program pass 2. "t7911.htm"{49} I0530 Assembling program pass 3 - final. "t7911.htm"{49} I0660 16bit TINY MZ file "t7911.exe" created, size=136. "t7911.htm"{79} I0650 Program "t7911" assembled in 3 passes with errorlevel 0. "t7911.htm"{79} I0750 Source "t7911" (116 lines) assembled in 2 passes with errorlevel 0. I0860 Listing file "t7911.htm.lst" created, size=2347. I0990 EuroAssembler terminated with errorlevel 0.
Expected output file t7911. exe
0000: 4D 5A 88 00 01 00 00 00 04 00 01 01 FF FF 05 00  MZ¤°·°°°·°··¤¤·°
0010: 00 10 6E E3 00 00 00 00 40 00 00 00 00 00 00 00  °·n¤°°°°@°°°°°°°
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  °°°°°°°°°°°°°°°°
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  °°°°°°°°°°°°°°°°
0040: 0E 1F BE 20 00 E8 03 00 E8 10 00 60 B4 02 8A 14  ··¤¯°¤·°¤·°`¤·¤·
0050: 84 D2 74 05 CD 21 46 EB F5 61 C3 B8 00 4C CD 21  ¤¤t·¤!F¤¤a¤¤°L¤!
0060: 45 75 72 6F 41 73 73 65 6D 62 6C 65 72 20 74 65  EuroAssembler¯te
0070: 73 74 20 70 72 6F 67 72 61 6D 20 22 74 37 39 31  st¯program¯"t791
0080: 31 2E 65 78 65 22 2E 00                          1.exe".°

▲Back to the top▲