LMFL#!C(:HOST "SYS" :BACKUP-DATE 2760031992. :SYSTEM-TYPE :LOGICAL :VERSION 5. :TYPE "LISP" :NAME "SERIAL-MACROS" :DIRECTORY ("REL3-SOURCE" "SERIAL") :SOURCE-PATTERN "( :DIRECTORY (\"REL3-SOURCE\") :NAME :WILD :TYPE :WILD :VERSION :NEWEST)" :VERSION-LIMIT 0. :CHARACTERS T :NOT-BACKED-UP T :CREATION-DATE 2758812011. :AUTHOR "REL3" :LENGTH-IN-BYTES 1675. :LENGTH-IN-BLOCKS 2. :BYTE-SIZE 8.)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ;;; -*- Mode: common-Lisp; Base: 10; Package: SI -*-;;;                           RESTRICTED RIGHTS LEGEND;;;Use, duplication, or disclosure by the Government is subject to;;;restrictions as set forth in subdivision (b)(3)(ii) of the Rights in;;;Technical Data and Computer Software clause at 52.227-7013.;;;                     TEXAS INSTRUMENTS INCORPORATED.;;;                              P.O. BOX 2909;;;                           AUSTIN, TEXAS 78769;;;                                 MS 2151;;; Copyright (C) 1984,1987 Texas Instruments Incorporated. All rights reserved.;;; The following macros are intended for accessing the serial-port and serial buffer;;; structures using the offset deffinitions in SERIAL-DEFS.;;; Since the structures are arrays, we must be carefull using %p-dpb-offset & %p-ldb-offset ;;; with the offsets defined in SERIAL-DEFS.  The desired offset is actually one greater ;;; than those in SERIAL-DEFS because the array header always takes up one word.;;; In addition, if this is a long array (> 1023. elements) there is an additional ;;; word following the header to contain the length.;;; If there is a better way of doing this, I would sure like to know about it !(DEFMACRO ARRAY-LDB-OFFSET (BSPEC ARRAY OFFSET)  `(%P-LDB-OFFSET ,BSPEC ,ARRAY (+ ,OFFSET (1+ (%P-LDB %%ARRAY-LONG-LENGTH-FLAG ,ARRAY)))))        (DEFMACRO ARRAY-DPB-OFFSET (DATA BSPEC ARRAY OFFSET)  `(%P-DPB-OFFSET ,DATA ,BSPEC ,ARRAY (+ ,OFFSET (1+ (%P-LDB %%ARRAY-LONG-LENGTH-FLAG ,ARRAY))))) (DEFMACRO FLUSH-SERIAL-BUFFER (BUFFER)  "Reinitialize serial buffer discarding all current contents."  `(INITIALIZE-SERIAL-BUFFER ,BUFFER)) (%NUBUS-READ TV:SIB-SLOT-NUMBER %SERIAL-B-POINTER-REGISTER))) (DEFUN SERIAL-A-STATUS ()  (declare (special TV:SIB-SLOT-NUMBER))  (LDB (BYTE 8 0) (%NUBUS-READ TV:SIB-SLOT-NUMBER %SERIAL-A-STATUS-REGISTER))) (DEFUN SERIAL-B-STATUS ()  (declare (special TV:SIB-SLOT-NUMBER))  (LDB (BYTE 8 0) (%NUBUS-READ TV:SIB-SLOT-NUMBER %SERIAL-B-STATUS-REGISTER))) (DEFUN SER