LS-DOS 6.3.1 - LBDEBUG Assembly Listing (HTML format version)

[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]

Valid HTML 4.01!