2025-04-27 07:49:33 -04:00

115 lines
4.5 KiB
NASM
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;/*
; * Microsoft Confidential
; * Copyright (C) Microsoft Corporation 1988 - 1991
; * All Rights Reserved.
; */
PAGE ,132 ;AN000;
TITLE DOS GRAPHICS Command - Copy Shared Data
;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000;
;; DOS - GRAPHICS Command
;;
;; ;AN000;
;; File Name: GRCPSD.ASM ;AN000;
;; ---------- ;AN000;
;; ;AN000;
;; Description: ;AN000;
;; ------------ ;AN000;
;; This file contains the COPY_SHARED_DATA module. ;AN000;
;; ;AN000;
;; ;AN000;
;; Documentation Reference: ;AN000;
;; ------------------------ ;AN000;
;; PLACID Functional Specifications ;AN000;
;; OASIS High Level Design ;AN000;
;; OASIS GRAPHICS I1 Overview ;AN000;
;; ;AN000;
;; Procedures Contained in This File: ;AN000;
;; ---------------------------------- ;AN000;
;; COPY_SHARED_DATA - Copy the Shared Data Area from temporary ;AN000;
;; build area to resident memory & exit to DOS ;AN000;
;; ;AN000;
;; Include Files Required: ;AN000;
;; ----------------------- ;AN000;
;; None ;AN000;
;; ;AN000;
;; External Procedure References: ;AN000;
;; ------------------------------ ;AN000;
;; None ;AN000;
;; ;AN000;
;; Linkage Instructions: ;AN000;
;; --------------------- ;AN000;
;; Refer to GRAPHICS.ASM ;AN000;
;; ;AN000;
;; Change History: ;AN000;
;; --------------- ;AN000;
;; ;AN000;
;; ;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000;
;; ;AN000;
;; ;AN000;
CODE SEGMENT PUBLIC 'CODE' ;; ;AN000;
ASSUME CS:CODE,DS:CODE ;; ;AN000;
INCLUDE GRCTRL.EXT ;; Bring in external declarations ;AN000;
INCLUDE GRCTRL.STR ;; for transient command processing ;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000;
;; ;AN000;
;; Public Symbols ;AN000;
;; ;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000;
;; ;AN000;
PUBLIC COPY_SHARED_DATA ;; ;AN000;
;; ;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000;
;; ;AN000;
;; Module Name: ;AN000;
;; COPY_SHARED_DATA ;AN000;
;; ;AN000;
;; Input Parameters: ;AN000;
;; DS : SI - points to the Temporary Shared Data Area ;AN000;
;; ES : DI - destination for resident Shared Data Area ;AN000;
;; BP - offset for new Shared Data Area (same as DI) ;AN000;
;; AH - Function code for exiting to DOS: ;AN000;
;; 31H : Terminate & Stay Resident - if first time ;AN000;
;; 4CH : Terminate - if already installed ;AN000;
;; DX - resident data segment size in paragraphs ;AN000;
;; ;AN000;
;; Output Parameters: ;AN000;
;; NONE ;AN000;
;; ;AN000;
;; Data Structures Referenced: ;AN000;
;; Control Variables ;AN000;
;; ;AN000;
;; Description: ;AN000;
;; Copy the Temporary Shared Data area over the installation modules ;AN000;
;; and terminate (stay resident). The data is copied immediately ;AN000;
;; following this module. ;AN000;
;; ;AN000;
;; Called By: ;AN000;
;; GRAPHICS_INSTALL ;AN000;
;; ;AN000;
;; External Calls: ;AN000;
;; NONE ;AN000;
;; ;AN000;
;; Logic: ;AN000;
;; Copy Temporary Shared Data Area ;AN000;
;; Set PRINT_SCREEN_ALLOWED to YES ;AN000;
;; Exit to DOS (Function Code 31 or 4C setup by caller) ;AN000;
;; ;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000;
;; ;AN000;
COPY_SHARED_DATA PROC NEAR ;; ;AN000;
;; ;AN000;
REP MOVSB ;; Copy Shared Data from temporary ;AN000;
;; build area to resident memory ;AN000;
;; Allow print screens now ;AN000;
MOV ES:PRINT_SCREEN_ALLOWED,YES ;AN000;
;; ;AN000;
INT 21H ;; Exit ;AN000;
;; ;AN000;
COPY_SHARED_DATA ENDP ;; ;AN000;
;; ;AN000;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;AN000;
CODE ENDS ;AN000;
END COPY_SHARED_DATA ;AN000;