[Copyright 1999,2002 Frank Durda IV, All Rights Reserved. Mirroring of any material on this page in any form is expressly prohibited. The official web site for this material is: http://nemesis.lonestar.org Contact this address for use clearances: clearance at nemesis.lonestar.org Comments and queries to this address: web_software_2011 at nemesis.lonestar.org]
MISOSYS EDAS-4.3 04/19/99 00:07:18 DEBUG/VERIFY - LS-DOS 6.2 Page 00001 00001 ;LBDEBUG/ASM - DEBUG VERIFY Commands 00003 ; 000D 00004 CR EQU 13 0000 00005 *GET SVCMAC:3 ;SVC Macro equivalents 00006 ;SVCMAC/ASM - LS-DOS Version VI 00007 *LIST OFF 00399 *LIST ON 00401 *LIST OFF ;Get SYS0/EQU 00717 *LIST ON 00718 ; 2400 00719 ORG 2400H 00720 ; 2400 C37824 00721 JP VERIFY ;Verify entry point 00722 ; 00723 ; Debug entry 00724 ; 2403 11F124 00725 DEBUG LD DE,PRM1TBL ;Pt to y/n on/off parms 2406 00726 @@PARAM ;Get parameters 2406+3E11 00727 LD A,17 2408+EF 00728 RST 40 2409 C2C324 00729 JP NZ,IOERR ;Jump on parm error 240C CDB624 00730 CALL NPARM ;Ck on yes or no entry 240F 2821 00731 JR Z,DBG2 ;Go if no (OFF) 2411 3A7324 00732 LD A,(EPARM) ;Ck on extended DEBUG 2414 B7 00733 OR A ; requested 2415 280A 00734 JR Z,DBG0 ;Go if not 2417 FDCB0246 00735 BIT 0,(IY+'C'-'A') ;Can't put extended DEBUG 241B C2CD24 00736 JP NZ,CANT ; if himem not available 241E CD7524 00737 CALL DBG3 ;Call if EXT entered 2421 FDCB12FE 00738 DBG0 SET 7,(IY+'S'-'A') ;Turn on DEBUG flag 2425 1608 00739 LD D,8 ;Set to mask bit 3 2427 CD9824 00740 CALL GET$DO 242A AF 00741 DBG0A XOR A ; & enable DEBUG 242B 329F19 00742 DBG1 LD (@DBGHK),A 242E 210000 00743 EXIT LD HL,0 ;Set no error 2431 C9 00744 RET 00745 ; 2432 FDCB12BE 00746 DBG2 RES 7,(IY+'S'-'A') ;Turn off DEBUG flag 2436 1680 00747 LD D,80H ;Set to mask bit 7 2438 CD9824 00748 CALL GET$DO 243B 3A7324 00749 DBG2A LD A,(EPARM) ;Ck on extended DEBUG 243E B7 00750 OR A ; requested 243F 282E 00751 JR Z,DBG4 ;Go if not 00752 ; 00753 ; User requested we remove extended DEBUG 00754 ; 2441 FDCB0246 00755 BIT 0,(IY+'C'-'A') ;Can we alter HIGH$? 2445 2028 00756 JR NZ,DBG4 ;Go if not 2447 ED5BA419 00757 LD DE,(EXTDBG$) ;Is extended resident? 244B 21FDEA 00758 LD HL,-ORARET@ ;Ck if vector same as 244E ED5A 00759 ADC HL,DE ; the default 2450 281D 00760 JR Z,DBG4 ;Go if not resident 2452 210000 00761 LD HL,0 ;Set to get HIGH$ 2455 45 00762 LD B,L 2456 00763 @@HIGH$ ;P/u current pointer 2456+3E64 00764 LD A,100 2458+EF 00765 RST 40 2459 23 00766 INC HL ;Point to assumed module 245A AF 00767 XOR A ; & check if extended 245B ED52 00768 SBC HL,DE ; debugger is lowest 245D 2010 00769 JR NZ,DBG4 ;Can't release if not 245F 13 00770 INC DE ;Point to last byte used 2460 13 00771 INC DE 2461 EB 00772 EX DE,HL ;This will be new 2462 5E 00773 LD E,(HL) 2463 23 00774 INC HL ; HIGH$ 2464 56 00775 LD D,(HL) 2465 EB 00776 EX DE,HL ;New high to HL 2466 00777 @@HIGH$ ;Reset high$ 2466+3E64 00778 LD A,100 2468+EF 00779 RST 40 2469 210315 00780 LD HL,ORARET@ ;Reset extended debugger 246C 22A419 00781 LD (EXTDBG$),HL ; vector to default 246F 3EC9 00782 DBG4 LD A,0C9H ;Turn off DEBUG vector 2471 18B8 00783 JR DBG1 00784 ; 2473 0000 00785 EPARM DW 0 2475 3E9B 00786 DBG3 LD A,9BH ;Get SYS9 loaded & up 2477 EF 00787 RST 28H 00788 ; 00789 ; Verify entry 00790 ; 2478 110125 00791 VERIFY LD DE,PRM2TBL ;Pt to ext + above 247B 00792 @@PARAM 247B+3E11 00793 LD A,17 247D+EF 00794 RST 40 247E 2043 00795 JR NZ,IOERR ;Quit on parm error 2480 CDB624 00796 CALL NPARM ;Ck yes/no 2483 213115 00797 LD HL,@WRITE ;Init to vector WRITE 2486 FDCB0396 00798 RES 2,(IY+'D'-'A') ;Indicate VERIFY=OFF 248A 2807 00799 JR Z,VER1 ;Use WRITE if VER=(OFF) 248C 216015 00800 LD HL,@VER ;Init to vector VERIFY 248F FDCB03D6 00801 SET 2,(IY+'D'-'A') ;Indicate VERIFY=ON 2493 229601 00802 VER1 LD (75*2+SVCTAB$),HL ;Change SVCTAB vector 2496 1896 00803 JR EXIT 00804 ; 00805 ; Routine to save or restore SPACE COMPRESSION state 00806 ; 2498 D5 00807 GET$DO PUSH DE ;Save mask value 2499 11B224 00808 LD DE,$DO$ 249C 00809 @@GTMOD 249C+3E53 00810 LD A,83 249E+EF 00811 RST 40 249F 210400 00812 LD HL,4 ;Point to 1st data byte 24A2 19 00813 ADD HL,DE 24A3 D1 00814 POP DE ;Rcvr mask value 24A4 C0 00815 RET NZ ;Return if not found 24A5 7E 00816 LD A,(HL) ;P/u existing state 24A6 A2 00817 AND D ;Strip state of space comp 24A7 07 00818 RLCA ; & move to bit 7 or 3 24A8 07 00819 RLCA 24A9 07 00820 RLCA 24AA 07 00821 RLCA 24AB 5F 00822 LD E,A ;Tempy save 24AC 7E 00823 LD A,(HL) 24AD E677 00824 AND 77H ;Strip bits 3 and 7 24AF B3 00825 OR E ;Merge comp state 24B0 77 00826 LD (HL),A 24B1 C9 00827 RET 00828 ; 24B2 24 00829 $DO$ DB '$DO',3 44 4F 03 00830 ; 00831 ; Parameter parsing of yes/no 00832 ; 24B6 010000 00833 NPARM LD BC,0 ;P/u "no" parm entry 24B9 00834 @@FLAGS ;Point to flag table 24B9+3E65 00835 LD A,101 24BB+EF 00836 RST 40 24BC 78 00837 LD A,B 24BD B1 00838 OR C ;If NO, make Z 24BE EEFF 00839 XOR 0FFH 24C0 C9 00840 RET 24C1 0000 00841 YPARM DW 0 00842 ; 00843 ; I/O Error Processing 00844 ; 24C3 6F 00845 IOERR LD L,A ;Set HL = error code 24C4 2600 00846 LD H,0 ; 24C6 F6C0 00847 OR 0C0H ;Short error 24C8 4F 00848 LD C,A ;Xfer error # to C 24C9 00849 @@ERROR ;Display error 24C9+3E1A 00850 LD A,26 24CB+EF 00851 RST 40 24CC C9 00852 RET ;Return to DOS 00853 ; 00854 ; Error exits 00855 ; 24CD 21D724 00856 CANT LD HL,CANT$ 24D0 00857 @@LOGOT 00858 IFEQ 00H,1 00859 LD HL, 00860 ENDIF 24D0+3E0C 00861 LD A,12 24D2+EF 00862 RST 40 24D3 21FFFF 00863 LD HL,-1 24D6 C9 00864 RET 00865 ; 24D7 4E 00866 CANT$ DB 'No memory space available',CR 6F 20 6D 65 6D 6F 72 79 20 73 70 61 63 65 20 61 76 61 69 6C 61 62 6C 65 0D 00867 ; 24F1 45 00868 PRM1TBL DB 'EXT ' 58 54 20 20 20 24F7 7324 00869 DW EPARM 24F9 45 00870 DB 'E ' 20 20 20 20 20 24FF 7324 00871 DW EPARM 2501 4F 00872 PRM2TBL DB 'ON ' 4E 20 20 20 20 2507 C124 00873 DW YPARM 2509 4F 00874 DB 'OFF ' 46 46 20 20 20 250F B724 00875 DW NPARM+1 2511 59 00876 DB 'Y ' 20 20 20 20 20 2517 C124 00877 DW YPARM 2519 4E 00878 DB 'N ' 20 20 20 20 20 251F B724 00879 DW NPARM+1 2521 00 00880 NOP 00881 ; 2403 00882 END DEBUG 2403 is the transfer address 00000 Total errors
[Copyright 1999,2002 Frank Durda IV, All Rights Reserved. Mirroring of any material on this page in any form is expressly prohibited. The official web site for this material is: http://nemesis.lonestar.org Contact this address for use clearances: clearance at nemesis.lonestar.org Comments and queries to this address: web_software_2011 at nemesis.lonestar.org]