; .nlist ; Constants ; Segments in Overlay-Libary. SegA = 0 ; 1'st overlay segment. SegB = 4 ; 2'nd segment. SegC = 10 ; 3'd segment. SegD = 14 ; 4'th segment. SegE = 20 ; 5'th segment. SegF = 24 ; 6'th segment. True = -1. False = 0 Unlock = True Lock = False Nil = 0 NoCr = 4711. Cr = 15 Lf = 12 StrMax = 55. ; Maximum string length LnkMax = 4. ; Maximum number of links MaxLvl = 24. ; Maximum # of command levels MaxAmb = 80. ; Maximum # of ambigous commands LinLen = 22. ; Form-Length (of terminal). ; Size of data-types. NRTEXT = 100 ; Size of entry list. CodLen = 10. ; Must be even. DskBlk = 1000 ; Size of a disk block Long = 4. ; Size of long Word = 2. ; Size of word Byte = 1. ; Size of byte Char = 1. ; Size of char ; Library status. xLibRd = 11147 ; Lib-Memory is ok. xLibIn = 21 ; Lib-Memory is being ini. xLibUi = 7 ; Lib-Memory is not ini. ;Lettertypes xEXIN = 100 xEXT = 40 xBrev = 4 ; Bit 2. xKom = 2 ; Is a komment (Bit 1) xMulR = 1 ; Multi receivers (Bit 0) ;Privilegies xAdm = 300 ; Administrator. xSuU = 200 ; SuperUser xUser = 100 ; User ;Rights xCEME = 1 ; Create meetings xWRIN = 2 ; Write "inl{gg" xCHNA = 4 ; Change (own) name xCOM = 10 ; Comment. xWRLE = 20 ; Write Letters xDETT = 40 ; Define TTY's xNETL = 100 ; Write Intetrnet letters xNETI = 200 ; Write Intetrnet "inl{gg" ;Bits in KSW (KOM-STAUS-WORD) ABSPRV = 1 ; Absolute privs. ADMPRV = 2 ; Administrator privs. BASKCR = 4 ; Jump to MAIN lupe when not only CR UtmOn = 10 ; Output to file is enabled. WaitEn = 20 ; Wait Enable. NetPrs = 40 ; User is the famus NETPERSON. UseRes = 100 ; Program uses a residentlibrary. ;Bits in USW (User-Status-Word) NetNam = 1 ; User got an internetname. ;Flags for persons xPW = 1 ; Ask for PassWord xAU = 2 ; AutoMagic Users runnig KOM. xSL = 4 ; "Sluta" as prompt. xExD = 10 ; Default extern distribution. xANW = 20 ; Magic News entering kom. xSM = 40 ; Short menyes xExp = 100 ; Completion xSAC = 200 ; Show all comments xBL = 400 ; Bar line xEE = 1000 ; Evaluate "!" in compose xELIN = 2000 ; Empty line ends text xISO = 4000 ; ISO standard on date xDeb = 10000 ; Debugging flag xFOO = 20000 ; Try it - you'll like it xFil = 40000 ; Print @file in text xXFR = 100000 ; Transfer mode. ; 2nd FlagWord for persons ;Flags for groups xOPN = 1 ; Group is open xWP = 2 ; Write protected xSUP = 4 ; Super Group xExDs = 10 ; (Default) extern distribution ;Flags for NetPersons xNWP = 1 ; Write Protected xNCl = 2 ; Closed. ; Command types xList = 0 ; The command string is evaluted (def) xGroup = 1 ; The command is a group (not used by PARSER) xText = 2 ; Any string is evaluated. (can't have any args.) xNum = 4 ; Any number is evaluated. xLink = 10 ; Command has LINK. (undocumented) xNoArg = 20 ; The command takes no argument. xAND = 40 ; Argumentpriority is ANDed whit current priority xStr = 100 ; Any string without space is evaluated. xNet = 200 ; InetNET address's is evaluated (containing a "@") ; Record for command lists rLnkPr = -4. ; LINK prioritet rLinkp = -2. ; LINK pointer. rNr = 0 ; ID of command (number, label...) rNxt = 2. ; Pointer to next command (@ this level) rArg = 4. ; Pointer to argument-list. rPri1 = 6. ; Command's priority. rPri2 = 8. ; Arguments' priority. rHigh = 8. ; High f|r grupper. rTyp = 10. ; Type of command (se above). rStr = 11. ; String. (Byte 1 = length) ;Macros .macro .str a, ?l1, ?l2 .byte l2-l1 l1: .ascii a l2: .endm .macro errprt foo mov foo, r0 call @#errprt .endm errprt .macro lea addr, dest mov pc, dest add #addr-., dest .endm lea .macro callX addr, seg jsr r5, JsrOvl .word seg, addr .endm .macro JmpX addr, seg jsr r5, JmpOvl .word seg, addr .endm .macro text, label, string ;text foo, sect texts, d label: .byte 20$-10$ ;write #foo (Writes "barfoo") 10$: .ascii string 20$: .endm text magic = ^b1000010100000000 .macro write string, format .if b format mov string, r1 jsr pc, @#STROUT .iff mov format, r0 mov string, r1 jsr pc, @#STROUF .endc .endm .macro REPARS Min, Prompt mov min, r0 mov Prompt, @#Pprom jsr pc, @#$RePa .endm .macro PARSER Inlst, InPri, Prompt, TLA mov Inlst, @#Lists mov InPri, @#Prios mov Prompt, @#Pprom .if b TLA clr PSW .iff mov TLA,PSW .endc jsr pc, @#$PARS .endm .macro pushc args .irp dummy, .if nb dummy mov dummy, -(sp) .iff clr -(sp) .endc .endr .endm .macro gos loc, args ; GOSUB .if nb pushc argct = 0 .irp dummy, argct = argct+2 .endr .endc jsr pc, loc ; .if nb ; add #argct, sp ; .endc .endm .macro proc name, args ; Declare a procedure. argvar = 0 argc$$ = 0 .if nb cnt$$$ = 2 .irp dummy, cnt$$$ = cnt$$$+2 .endr argc$$ = cnt$$$-2/2 .irp dummy, dummy = cnt$$$ cnt$$$ = cnt$$$-2 .endr argvar = 1 .endc cnt$$$ = 0 name: .endm .macro var, name, size =2. ; Declare a local variable in a .if eq argvar&2 ; procedure. mov r5, -(sp) mov sp, r5 argvar = 2 .endc cnt$$$ = cnt$$$+size .if eq size&1 cnt$$$ = cnt$$$+ .endc name = -cnt$$$ .endm .macro begin ; Code begins here. If the var macro .if ne argvar&1 ; is used, it should be placed mov r5, -(sp) ; between "proc" and "begin" mov sp, r5 .endc cnt$$$ = cnt$$$+ .if ne cnt$$$ sub #cnt$$$, sp .endc .endm .macro ret ; The ret macro must be used if the .if ne argvar ; subroutine has used any variables mov r5, sp ; or if it has any arguments, otherwise mov (sp)+, r5 ; rts pc will do the same thing. .endc .if ne argc$$ trap 200+argc$$ .iff rts pc .endc .endm .macro sect name, typ = i .even .psect name, rw,typ,lcl,rel,con .endm .macro setnam name mov r0, -(sp) mov name, r0 call setn mov (sp)+, r0 .endm ;SUBROUTINES ;AND GLOBAL VARIABLE DEFINITIONS ;KOMRTS .globl OvlTbl .globl ovsend .globl ovlstk .globl ovlsp .globl nxtadd .globl nxtseg .globl curseg .globl OLIde .globl OWIde .globl RTSBEG ; Begining of RTS. .globl nexinl .globl COMTTT ; Comment to this text .globl NXTCOM ; Next comment .globl Innept .globl UtmFlg .globl Out .globl KSW .globl USW ; UserStatusWord .globl CurBlk .globl Readc .globl Readce .globl TmpStr .globl Tmp .globl clrfqb .globl clrxrb .globl space .globl RUB .globl CRLF .globl $$BEG .globl MainLp .globl nout .globl $EXIT .globl error .globl crfis .globl crash .globl run .globl bad .globl bpt .globl dump ; Dump r0 words of memory, begining at the address in r1 .globl criot .globl cremt .globl traphd .globl crfpp .globl cc ; Coke handler .globl cc2 .globl stkend .globl stack .globl UtmNam ; Last file used for "Utmatning till.." .globl UtmDev ; Device for "Utmatning..." .globl UtmPtr ; Pointer into FBU .globl UtmBlk ; Block currently in FBU .globl FBU ; File Buffer for "Utmatning till..." .globl EOFBU .globl systm ; System-Message. .globl systmN ; # of times to show system-message. .globl fb1 .globl fb2 .globl fb3 .globl fb4 .globl LibIde .globl WinIde .globl CurSek .globl NxtAdr .globl LstAdr .globl NxtMem .globl LstMem .globl MemLim .globl LibSiz .globl ResLim .globl HshSiz .globl HshEnd .globl BasAdr .globl EOMem .globl Alias1 .globl tmpstr .globl TimLim ; Time-limit .globl stat .globl prspri ; Priority to parser .globl prspro .globl DspDat .globl DspFlg .globl DspFil .globl me .globl myread .globl myflag .globl mypriv .globl myrec .globl myntrt .globl myhdrw .globl nrsyre .globl thisl .globl PPN .globl oldl .globl defcmd .globl line .globl MaxLin .globl show .globl editnr .globl textnr .globl flgs .globl term .globl pterm .globl PSW ; PARSER-STATUS-WORD .globl pprom .globl usel .globl copyp .globl nramb .globl ambp .globl ambs .globl EoAmb .globl level .globl minlvl .globl MinStr .globl found .globl strs .globl lists .globl prios .globl pstr1 .globl pstr2 .globl pstr3 .globl PTmp .globl LstCom .globl EOFB4 .globl here .globl unprom .globl ppromp .globl admprm .globl airfop .globl job .globl term .globl pterm ; Pointer to TDB (or 0 if Dumb CRT, or -1 if paper terminal) .globl width .globl CR2LF .globl lnklvl .globl lnks .globl errprt .globl findcm ; Find an object in a command-list .globl KOMNYI ; KOM Not Yet Implemented error .globl sluta ; Routine for "Sluta" .globl save .globl UNREL ; UNREad Letters .globl myhigh .globl mypoin .globl MyCInl .globl MyCLet .globl commp .globl FinPtr .globl TTFlag ; Flag word for terminal definition. .globl TTDefs ; Terminal definition. .globl myinlp .globl txtlst .globl comflg .globl curgrp .globl lstptr .globl lstlft .globl strec .globl stpos .globl stnum .globl nctrec .globl nctpos .globl nctext .globl nctnum .globl lsttxt .globl lowlim .globl higlim .globl hignum .globl nwslft .globl eolstv .globl thsgr .globl nodrec .globl nodpos .globl texrea .globl startr .globl lnctre .globl ltxtre .globl crybuf .globl cryend .globl EoDPos .globl OrgTxt .globl DstBuf .globl EoDBuf ;PARSER .globl $pars ; PARSER. .globl cvt$$ ; Convert uper to lower-case and so on. .globl equalP ; Compare two strings. .globl $RePa ; Allow program to correct if we have a lazy KOM user. .globl Find .globl Nextl .globl UnicP ;IO .globl PCR ; Return the carriage .globl PLF ; Feed a line! .globl PCRLF ; Issue a CR LF .globl PCR2LF ; Write CR LF CR LF .globl PrCrLf ; Special print crlf (with %) .globl R.to.B ; .globl rtob5 ; Same as R.to.B but for file 5. .globl print ; Print a string unformatted (count LF's) .globl PrintN ; Print string (and don't bother) .globl strout ; Output a STRing unformatted .globl strouf ; Output a STRing formatted .globl ttyin ; Get a char to r0 (ODT-mode) .globl ttyout ; Output char in r0 ; .globl rubout ; Rub out a char .globl erol ; Erase rest of line (length in r0) .globl eral ; Erase all of line .globl num16 ; Converts a number (16-bit) to a string .globl num32 ; Converts a number (32-bit) to a string .globl deco16 ; A formatted (16-bit) number printout .globl deco32 ; A formatted (32-bit) number printout .globl string ; Print a string of specified characters. .globl spcout ; Print some spaces. .globl get ; Get a disk-block .globl put ; Put a disk-block .globl GetRec ; Get a record .globl TryRec ; Tries to find a record in memory, and get it from disk ; otherwise. .globl PutGet ; Put current block and get another record. (Test if in memory) .globl TstRec ; Tests if a record is in memory. .globl clrcrt ; Clear screen .globl readln ; Reads a line, 127. char long, into TMPSTR, len in first byte .globl Releas ; Release all locks on a channel. .globl UnlBlk ; Unlocks a block. .globl ExLock ; Make current implicit lock explicit. .globl FysTst ; Same as FysTxt but more intelligent. .globl FysTxt ; Make logical TEXT# into physical. .globl FysLin ; Puts an integer to file 5. Expands the file if nescessary. .globl Spawn ; Produce a new cluster, expand file if required. .globl Dispos ; Makes a record part of the free record list. .globl CreIn4 ; Creates a (dirty) record in file 4. .globl ccoff ; Disable CTRL-C .globl ccon ; Enable CTRL-C .globl IOerr ; If error (tests firqb) write msg. .globl CluSiz .globl NClus ;SETID .globl oSetid ; Enables you to see the time .globl SeTid ; callx oSeTid ;AUXOVL .globl setflg ; Set flag .globl oSetFg .globl clrflg ; Clear flag .globl oClrFg .globl $SetSy ; Set system message .globl oSetSy .globl $SetPW ; Set system password .globl SeHdrW ; set header word .globl oSeHdW .globl oSetPw .globl WAmI ; "Var ({r jag)" .globl oWamI .globl setprv ; Set administrator or absolute privs. .globl oSetPr .globl ChPass ; Change own password. .globl oChPwo .globl ZAP ; .globl oZAP ;AUX .globl MtxBgn ; Mutex_Begin .globl MtxEnd ; Mutex_End .globl $SET ; S[T .globl oSET .globl FindAd ; Find group with right internet-address. .globl MovTTD ; Move Terminal-Type-Definition .globl upper .globl dhir ; Text "Du har inte r{tt...." .globl maklst ; Set up a new list (Grouplist) .globl makali ; The same for alias. .globl LnkGrp ; - " - - " - .globl setcor ; Set core (?) .globl PopSek ; Restore last section of KOMRES. .globl GetAdr ; Get address in memory or in reslib. .globl fixtxt ; Test if "text (nummer)" was given. .globl fixlst ; Test if a "Group: nr." was given. .globl fixgrp .globl PrtDat ; Print out current date .globl PrtNam ; Print a groupname (Nr in r0) .globl relink ; Update GRPLST if necessary. .globl ambtst ; Test if a group-name is ambgious. .globl Vilka ; Who are present. .globl GetNum .globl Gval ; Like Getnum but 16 bit. .globl movstr ; moves string at r0 to memory at r1 .globl movpro ; moves a string in r0 to PrsPro. .globl ctrlo ; Wait for RSTS/E to output all chars. .globl SetWai ; bis #WaitE, KSW .globl setn ;COMPOS .globl xcompo ; The Foo of the Bar. .globl oXCMP .globl compos ; The COMPOSe routine .globl oCOMPO .globl cmpfor ; Continue writing.. .globl cmplai ; Put in the box! .globl cmpbor ; Throw away the text .globl cmphel ; Type out the hole text .globl cmpsta ; Start all over again .globl cmpfil ; Put in a file .globl cmpbyt ; Find and substitute text .globl cmpedi ; Edit (using) TAMIS .globl entfil ; Enter file (no editing) .globl oEntFl .globl PutTxt ; Puts a buffert in file 3./AG .globl oPtTxt ;STATUS .globl status ; JmpX STATUS .globl oStat ; STATUS .globl PrtSeq ; Print tty "sekvenser" .globl oPrSeq .globl SPC3 ; Text " " .globl ORGt ; Text " O " .globl OPN ; Text "|ppet " .globl CLOt ; Text "slutet" .globl Namnk ; Text "Namn: " .globl TYPt ; Text "Typ: " .globl SKRS ; Text "Skrivskyddat" .globl Stato ; Text "Status ord:" .globl ORGAN ; Text "Organisat|r" .globl SpecT ; Text "Ingen (skapas med databasenn)" .globl ING ; Text "Ingen" .globl Sakn ; Text "saknas" ;WHO .globl who .globl oWho ;KRYPT .globl crypt ;NUM .globl val16 ; Convert string to integer .globl val32 .globl LDiv ; Div R0-R1 by top stack item ;CREME .globl creper ; Creates a person .globl oCrPer .globl creme .globl oCrMe .globl amb ; Text "Namnet var inte entydigt..." .globl MAF ; Text "Minnet {r fullt............" .globl askpw .globl oAskPw .globl askpwo .globl oAsPwO .globl ppp ; Text "Nuvarande l|senord" .globl ppp5 ; Text "Felaktigt l|senord"CRLF .globl paswp3 .globl paswp2 .globl paswp1 ;LIST .globl LiPer ; List all pers. .globl LiAPer ; List all active pers. .globl LiTPer ; List all pers. active today .globl LiMee ; List all meetings. .globl LiNePe ; List all NetPersons. .globl LiAMee ; List all active meetings. .globl LiTTYs ; List all terminaltypes. .globl SysInf ; system-information .globl oSyInf .globl LiNew ; List your news. .globl SNews ; List news in short format (used by WHO) .globl Li50 ; List the last 50 present humans. .globl LiDist ; List distrubution for a group. .globl PrtDis ; List a certan distrubution. .globl LiAli ; List aliases .globl oPrtDi ;CHANGE .globl change ; Change status. .globl oChang .globl TTyChg ; Change terminal description .globl oTTChg .globl addmem ; Add a member to a group .globl oAddmm .globl submem ; Sub a member to a group .globl osubmm .globl subprs ; Sub a membership from a person .globl oSubpr .globl Nafl ; Text "Namnet {r f|r l}ngt" .globl Ejt ; text "Ej " .globl chp ; text "[ndra " ;TTYHDL .globl TTyDef ; define a new terminal .globl oTTDef .globl oTtChg .globl $TTSET ; - in memory. .globl oTTSet .globl $TTPER ; - permanent. .globl oTTPER ;GOMEET .globl GoMe .globl oGoMe .globl GoMeet ; G} till m|te .globl oGoMet .globl GoToIt ; This routine does the real "GOING" .globl oGToIt .globl U.have ;MEMHDL .globl AddM ; Add member .globl oAddM .globl AddR ; Add receiver .globl oAddR .globl SubM .globl oSubM .globl SubR .globl oSubR .globl LEAVP ; "Uttr{d (permanent)" .globl oLEAVP .globl AddRec ; Add Receiver ; DSTHDL .globl AddD ; Add to distributionlist .globl oAddD .globl SubD .globl oSubD ;ERASE .globl ERASE ; Erase a text .globl oERASE .globl EXTTXT ; Erase a text without eraseing it! .globl oExTxt .globl ERASEC ; "Radera" .globl oErSec .globl DELTXT ; Erase a text (!?) .globl oDeTxt .globl UNCOM ; Uncommented .globl oUnCom ;EXTING .globl EXTING ; "Utpl}na" .globl oEXTI ;UTMFIL .globl UtmFil ; "Utmatning till fil" .globl OpnFil ; Calls UtmFil with file namne in r1 and length in r0. .globl UtmOff ; Turn of File Output. (if the time is right) .globl SavTxt ; Callx oSavTx .globl oSavTx ; Save Text on File ;DISPLY .globl DISPLY ; Print one text .globl DSPLY2 .globl TxtOut .globl DispFi .globl DspHdr .globl WrtFrm ; Writes out the sender of a text. .globl ReadFi .globl TxtERA ; Text has been erased .globl GetLin .globl GetWrd .globl gtln .globl opnlin .globl HdrTbl .globl csq ; text /: "/ .globl tFrom ; 'A' .globl tTo ; 'B' .globl tSend ; 'C' .globl tBcc ; 'D' .globl tDate ; 'E' .globl tId ; 'F' .globl tRep ; 'G' .globl tRepTo ; 'H' .globl tRecei ; 'I' .globl tCc ; 'J' .globl tNewsG ; 'K' .globl tLines ; 'L' .globl tRefer ; 'M' .globl tKeyW ; 'N' .globl tOrg ; 'O' .globl tXref ; 'P' .globl tFolT ; 'Q' ;REREAD .globl List ; callx oList .globl oList ; "Lista" .globl ReRead ; callx oReRe .globl oReRe ; "]terse" .globl $RRDO ; Moves rPri2 to Dop!? .globl $RRWNN .globl $LiDis .globl $RRIL ; "Inl{gg" .globl $RRTC ; "(Det) kommenterade" .globl $RRCT ; "(Kommentar-)tr{det" .globl $RRPO ; "Presentationen (av)" .globl $RRSY ; "Systemmedelande" .globl $RRIF ; "(i) f|ljd" .globl $RRFO ; "Fram}t" .globl $RRBA ; "Bak}t" .globl $RRAB ; "Alla" .globl $RRFI ; "F|rsta" .globl $RRLA ; "Senaste" .globl $RRTE ; "Text:" .globl $RRIN ; "(Inl{ggsnummer)" .globl $RRAF ; "efter" .globl $RRBF ; "f|re" .globl DHIL ; "Du har inte l{st....." .globl $RRBY ; "Av" .globl $RRTO ; "Till" .globl $RRLE ; "Brev" .globl $RRMA ; "Makerade (inl{gg)" .globl YAN ; Text "Du {r inte i ngt m|te..." ;KOMVER .globl welKOM ; Welcome text and version number ;PUTLET .globl putlet .globl oPtLet ;CRELET .globl oSndIt .globl SendIt .globl crelet .globl oCrLet .globl MakLet .globl oMkLt .globl mklet2 ; Low level MAKLET .globl oMkLt2 .globl oItLnk .globl IntLnk .globl sento1 .globl sento2 .globl sento3 .globl sento4 ;LETTER .globl READl ; Read letter. .globl READi ; Read entry .globl READcc ; Read comment .globl NGM ; Text "Du m}ste g} till ett m|te f|rst" ; WRTLET .globl KoSp ; ": " .globl WRITEl ; Write Letter .globl oWrtL .globl COMl ; Comment letter. .globl oCOML .globl prvans ; Private answer. .globl oPrvAn .globl WRi ; Make an entry. .globl oWrI .globl AddRec ; Add receivers to a text. .globl oAdRec ;MISC .globl FilErr .globl ExistP .globl Get1st ; Get, and lock, block #1 of file 3. Setup for use of Putchr .globl PutChr ; Put char in r0 to file 3. .globl AddHDL ; "Addera" .globl SubHDL ; "Subtrahera" .globl putlst ; flush unwritten putchr:s to file 3. unlock block #1 .globl CATA .globl GetHdr .globl fixhdr ; An optimized subset of GETHDR .globl NoText .globl AccLet ; Test if I may access a certain letter. .globl CnvLet .globl shortn ; cut strings into pieces. .globl AccMet ; Test if I am a member of a certain meeting. .globl WrToP ; Test write access to a group .globl GetHig .globl GetMe .globl LockMe .globl cnvdat ;FIXLET .globl FixLet ;MARK .globl MARK ; "Markera" .globl oMark .globl UNMARK ; "Avmarkera" .globl oUnMrk ;NOTE .globl NOTE ; "Lapp (p} d|rren)" ;NEWGRP ;.globl NewGrp ;.globl NewInl ;SAVEM .globl Savem ;NEXTM .globl NextM .globl oNextM ;SKUMMA .globl SKUMMA .globl oSKUMM .globl SKICOM .globl oSkCom .globl ONLY .globl oONLY .globl $SKLI .globl $SKFI .globl $SKNR .globl $SKUT .globl $SKMT .globl $SKUR .globl $SKMR .globl $SKUM .globl $SKMM .globl $SKUA .globl $SKMA .globl $SKMH .globl $SKUH ;POOL ;.globl tp ; Test Pool ;.globl cp ; Clear (entire) Pool ;.globl pp ; Put (value into) Pool ;.globl savlet ;PRESEN .globl MkPres ; Make Presentation. .globl oMkPrs .globl ChPres ; Change own Presentation .globl oChPrs ;SETDEF .globl setdef ; Setup a terminal definition .globl oSeDef .globl nlin1 ; Text "Antal rader: " .globl nCol1 ; Text "Antal kolumner: " ;LISTXT ;.globl listxt ; List all text in current meeting ;.globl lisent ; List all entries (non-comment texts) in current meeting ;.globl shwtxt ; Show a ' 4711: "[rende: Allan"' type of line ;.globl dsplst ; Used by Disply to call shwtxt. ;TXTLST .globl CrTeLs ; Creates a list of unread texts in memory. ;FNDGRP .globl fndgrp ;NETHDL .globl SetNtP .globl oSeNtP .globl CdList .globl oCList .globl CdAddM .globl oCAddM .globl CdSubM .globl oCSubM .globl CdSetP .globl oCSetP .globl SeNetN .globl oSeNtN .globl oHshIt .globl HashIt .globl oGetHs .globl GetHsh .globl TstHsh .globl TSTH .globl oGtIdS .globl GetIdS ;OVLHDL .globl JmpOvl .globl JsrOvl .globl GetSeg ;ALIAS .globl AddAli ; Addera alias namn .globl oAdAli .globl SubAli .globl oSuAli ; .list