In addition to the expected binary or hex Target filesoutput file, the generation of a Listings and Errorslisting can be requested with the Command line optionscommand line options '-1'. '-2', '-w' and '-v'. '-1' enables list output in pass 1, thereas '-2' enables a Listings and Errorslisting in pass 2. '-v' requests a verbose Listings and Errorslisting, which includes the generated object code. '-w' instructs zasm to append a table of all Listings and Errors: Label listingdefined symbols to the Listings and Errorslisting. Command line optionsCommand line option '-l' is used to set the file path for the Listings and Errorslisting. If omitted, then a default filename is derived from the Source filessource file name. Plain listingExample for a plain listing:NMI: push af push hl ld hl,($5cb0) LD A,H ;falls HL=0, dann Kaltstart OR L JR NZ,M0070 ;sonst passiert nichts JP (HL) M0070: POP HL POP AF RETN NEXZEI: LD HL,(CHADD) ;Programmzeiger erhoehen M0077: INC HL M0078: LD (CHADD),HL ;Adr. des naechsten zu ;interpret. Zeichens LD A,(HL) ;neues Zeichen laden RET Listing with object codeExample for a listing with included object code:0131: 110100 calcspeed: ld de,1 ; pre-adjust 0134: 210040 ld hl,tickercell 0137: 76 halt 0138: 7E ld a,(hl) 0139: 0605 cs1 ld b,5 ; 7 013B: 05 cs2 dec b ; 5*4 013C: C23B01 jp nz,cs2 ; 5*10 013F: 13 inc de ; 6 0140: BE cp a,(hl) ; 7 0141: CA3901 jp z,cs1 ; 12 0144: EB ex hl,de 0145: ; this took hl*100 ticks for 1/60 sec 0145: ; = hl*6,000 ticks for 1 sec 0145: 110600 ld de,6 0148: CDB000 call mult 014B: ; = hl*1,000 ticks for 1 sec 014B: 11E803 ld de,1000 014E: CDC900 call divide 0151: ; = hl*1,000,000 + de*1,000 ticks 0151: C9 ret Label listingExample for a table of defined symbols:; +++ Listings and Errors: Label listingdefined symbols +++ headerflag Pseudo instructions: defl, equequ $0000 ; = 0 dataflag Pseudo instructions: defl, equequ $00FF ; = 255 tCLEAR Pseudo instructions: defl, equequ $00FD ; = 253 tLOAD Pseudo instructions: defl, equequ $00EF ; = 239 tCODE Pseudo instructions: defl, equequ $00AF ; = 175 tPRINT Pseudo instructions: defl, equequ $00F5 ; = 245 tUSR Pseudo instructions: defl, equequ $00C0 ; = 192 end10 Pseudo instructions: defl, equequ $0010 ; = 16 end20 Pseudo instructions: defl, equequ $0024 ; = 36 end30 Pseudo instructions: defl, equequ $0036 ; = 54 programsize Pseudo instructions: defl, equequ $0037 ; = 55 codeend Pseudo instructions: defl, equequ $5DD0 ; = 24016 ErrorsIf an Listings and Errors: Errorserror occurs, it is marked in the Listings and Errorslisting with *** Listings and Errors: Errorserror! ***. The assembler will abort if too many Listings and Errors: Errorserrors occur. If you encountered only a few Listings and Errors: Errorserrors and if you have disabled the "List object code" option and if you have enabled Listings and Errorslisting to file for the pass, where the Listings and Errors: Errorserrors occured (most likely pass 1) then you can move the source into the trash, rename the list file and work on it as your new Source filessource file. You can easily find all the *** Listings and Errors: Errorserror! ***s and correct them, then start over again. If you suspect the assembler is generating wrong object code, you can include the object code in the Listings and Errorslisting if you add the Command line optionscommand line option -v and list to file. Then you can easily verify the generated code. If there really is a General information: Bug reportsbug, send a General information: Bug reportsbug report to Kio. |