DataMuseum.dkPresents historical artifacts from the history of: CR80 Hard and Floppy Disks |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CR80 Hard and Floppy Disks Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 3014 (0xbc6) Types: TextFile Names: »MEMDIF.S«
└─⟦702f7c703⟧ Bits:30005114 8" CR80 Floppy CR80FD_0073 ( CR/D/2402 SWELL VOL: CRD2402 810715 ) └─⟦a734f5976⟧ └─ ⟦this⟧ »MEMDIF.S«
;«ff» ;------------------------------------------------------------------------ ; ; FILE: MEMDIF.S ; -------------- ; ;------------------------------------------------------------------------ ; THE FUNCTIONS ARE INVOKED BY SENDING A SYSTEM MESSAGE TO THE MMM. ; THE SMALLEST UNIT OF ALLOCATABLE MEMORY IS CALLED A SEGMENT. THE SIZE ; OF A SEGMENT IS: MSGSZLN:= 8 ;9 LOG 2 OF SEGMENT SIZE MSGSZ:= 1<MSGSZLN ;9 SEGMENT SIZE (128 WORDS) ; ; THE FORMAT OF A MESSAGE IS: AX=0 MMOPER:= AX, AX=AX+1 ; OPERATION ; MESSAGE PARAMETER MMOPER SPECIFIES THE OPERATION: BX=AX AX=0 RELEASE:= AX, AX=AX+1 ; RELEASE MEMORY RESERVE:= AX, AX=AX+1 ; ALLOCATE MEMORY CONVERT:= AX, AX=AX+1 ; CONVERT ADDRESS RELEASEALL:=AX, AX=AX+1 ; RELEASE ALL MEMORY TRANSFER:= AX, AX=AX+1 ; TRANSFER MEMORY OWNERSHIP ALLCAP:= AX, AX=AX+1 ;C RETURN SEGMENT STATUS ALLSTA:= AX, AX=AX+1 ;C RETURN SEGMENT STATUS AX=BX MMMEM:= AX ; MEMORY= (RELEASE) MMTYPE:= AX, AX=AX+1 ; TYPE: (ALLOCATE) PGTYPE:= 0 ; PROGRAM MEMORY TYPE DTTYPE:= 1 ; DATA MEMORY TYPE DPTYPE:= 2 ;C DATA MEMORY TYPE ;C (SPECIFIED SECTION) MMNEW:= AX ; NEW OWNER (TRANSFER) MMSIZE:= AX, AX=AX+1 ; SIZE IN WORDS (ALLOCATE) MMCPU:= AX, AX=AX+1 ; CPU REQUIRED(LOGICAL ID) ; (ALLOCATE) MMRANGE:= AX ;9 RANGE IN WHICH TO ALLOCATE. ;9 THIS MEANS THAT THE AREA MUST ;9 BE ALLOCATED IN THE RANGE ;9 LOWER BYTE *4K..UPPER BYTE*4K ;C ;C TYPE WORD LAYOUT: ;C MTYPES:=0,MTYPEX:=8 ;C TYPEFIELD MPAGES:=8,MPAGEX:=2 ;C PAGEFIELD (OPTYPE ONLY) ; THE MMM RETURNS AN ANSWER WITH THE FOLLOWING FORMAT: AX=0 MARESULT:= AX, AX=AX+1 ; RESULT MAMEM:= AX, AX=AX+1 ; MEMORY PARAMETER MATINDXP:=0 ; TABLE INDEX MATINDXL:=18-MSGSZLN ; MASGMTP:= MATINDXL ; #SEGMENTS-1 MASGMTL:= 16-MASGMTP ; MAADR:= AX, AX=AX+1 ; ADDRESS OF FIRST LOCATION MAPGCPU:= AX, AX=AX+1 ; PAGE (LOWER BYTE) AND CPU (UPP ; ER BYTE) MASIZE:= AX, AX=AX+1 ; SIZE ;C ;C IN THE CASE COMMAND= ALLCAP OR ALLSTA THE ANSWER WILL CONTAIN THE ;C NUMBER OF WRITEABLE/AVAILABLE MEMORY SEGMENTS RESPECTIVELY IN THE ;C ANSWER PARAMETERS 1,2,3 AND 4 CORRESPONDING TO PAGE 0,1,2 AND 3. ;C «a5»