#> qd QD 8080 Assembler - Version 1(7) 24-Jan-1999 Copr. 1985, 1999 Frank Durda IV Use for non-commercial purposes granted. All other rights reserved. Software is provided ''AS IS'', and has no warranty of any kind. Source Filename (/SRC is assumed) >errors/src Object Filename (Press for ERRORS/CMD) > Do you want to output the listing to the printer?n Pass 1 3000 22 xegin: [8] Label in Wrong Field-----------! 3006 28 add 34 [22] Invalid Operand------------------! 3006 C600 29 adi a,12 [11] Too Many Operands-----------------! 300B 31 foo [9] Unknown Opcode------------! 300B 32 sub [23] Missing Operand-------------! 300B 00 33 nop q [11] Too Many Operands-----------! 3015 110000 40 lxi d,(15*number))+17 [11] Too Many Operands--------------------------------! 3018 41 lxi r,((2+bad)/7) [21] Syntax Error----------------------! 3018 44 mov a,exit ;Load the SVC number for returning [22] Invalid Operand--------------------! 61 !----[3] End Statement Missing, No Start Address Errors In Pass 1. Do you want to run Pass 2 anyway?y Pass 2 1 ;----------------------------------------------------------------------------- 2 ; This file demonstrates the error assistance support of qd 3 ;----------------------------------------------------------------------------- 4 5 ;----------------------------------------------------------------------------- 6 ; This program causes a message to be printed on the display 7 ; and then returns control to the operating system. 8 ; FOR USE WITH TRSDOS 6 AND THE QD ASSEMBLER ONLY 9 ;----------------------------------------------------------------------------- 10 11 ; Declare some constants that we will use 12 13 dsply: equ 0ah ;SVC to display a message 14 exit: equ 16h ;SVC to return control to TRSDOS 15 16 ; Program Starts here 17 3000 18 psect 3000h ;Program is to be loaded in memory 19 3000 20 begin: 21 ;starting here 3000 22 xegin: [8] Label in Wrong Field-----------! 3000 211C30 23 lxi h,message ;HL contains the address of the 24 ;message to be displayed 3003 3E0A 25 mvi a,dsply ;Load the SVC number we want to use 26 ;to display a message 3005 EF 27 rst 5 ;Tell the DOS to perform a SVC 3006 28 add 34 [22] Invalid Operand------------------! 3006 C600 29 adi a,12 [11] Too Many Operands-----------------! 3008 110000 30 lxi d,34+*56 [16] Invalid Expression (1)-------------------! 300B 31 foo [9] Unknown Opcode------------! 300B 32 sub [23] Missing Operand-------------! 300B 00 33 nop q [11] Too Many Operands-----------! 34 35 ; Some expression evaluations 36 300C 210018 37 lxi h,2*(begin/4) 300F 116400 38 lxi d,((20+30)*50)/25 3012 010000 39 lxi b,((2+bad)/7) [24] BAD is undefined------------------------! 3015 110000 40 lxi d,(15*number))+17 [11] Too Many Operands--------------------------------! 3018 41 lxi r,((2+bad)/7) [21] Syntax Error----------------------! 42 number: equ $ 43 3018 44 mov a,exit ;Load the SVC number for returning [22] Invalid Operand--------------------! 45 ;to the operating system. 46 3018 EF 47 rst 5 ;Execute the @EXIT SVC 3019 C30000 48 jmp foo [24] FOO is undefined-----------------! 49 50 51 ; The @EXIT svc does not return to this program 52 53 ; This is the data area 54 301C 55 message: 301C 48656C6C6F20576F726C64 56 ascii /Hello World/ ;First part of the message 3027 0D 57 byte 0dh ;This byte indicates the end of 58 ;the message and that a carriage 59 ;return should be performed. 60 61 61 !----[3] End Statement Missing, No Start Address End of Program 13 Errors Encountered