<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Sun, 08 Jul 1984 02:25:00-EDT
From   : Paul L. Kelley <PLK@Mit-Mc.ARPA>
Subject: movcpm synchronization errors

               BDOS jump checking in MOVCPM.


       LXI     B,STORAGE       ;MOVCPM has already read the presumed address
                               ;of the running BDOS from 0006 and stored it
                               ;away
       LDAX    B               ;get least significant byte of running BDOS
                               ;address
       CPI     6               ;is it really BDOS or perhaps DDT?
       MVI     A,0             ;get ready to put the address of the running
                               ;serial number in STORAGE
       JNZ     SYNCERR         ;give synchronization error if not the correct
                               ;BDOS address modulo a page
       STAX    B               ;STORAGE now has address of start of running
                               ;serial number


               Serial number checking in MOVCPM.

       
       LXI     D,MOVCPM$SERNO  ;location of serial number in MOVCPM's
                               ;relocatable version of BDOS. This is at
                               ;the start of the relocatable BDOS.
       LHLD    STORAGE         ;get the address of the running serial number
       MVI     C,6             ;length of serial number
LOOP:  LDAX    D               ;compare MOVCPM's serial number with
       CMP     M               ;running BDOS's serial number
       JNZ     SYNCERR         ;give synchronization error if CMP fails
       INX     H               ;check
       INX     D               ;       all
       DCR     C               ;               six
       JNZ     LOOP            ;                       bytes
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>