• Aucun résultat trouvé

Memory Mapping Commands

Dans le document OPER~TING INSTRUCTIONS FOR ISIS-II USERS (Page 168-172)

The commands in this section control ICE-88 memory map. The ICE-88 emulator uses the map to identify what user memory is installed and what types and sizes of memory are being "borrowed" from the ICE-88 emulator for testing purposes.

This section gives details on the following commands.

Command MAP DISK MAP INTELLEC

Set MAP Status

Purpose

Declare which disk file is available for mapping to.

Declare which physical Intellec segments are available for mapping memory to.

Assign up to 1024 1 K segments of memory locations to USER, ICE, INTELLEC, DISK, or GUARDED status.

Display MAP Status Display status of one or more memory segments.

RESET MAP

Discussion

Restore the memory map to its initial condition, all GUARDED.

A maximum of 1M byte (megabyte or 1,048,576 bytes) locations are accessible with the 20-bit addressing scheme used by the 8088 processor. The MAP commands allow this 1M logical address space to be mapped in lK-byte segments (on IK boundaries) to any of (1) physical memory in the user's system, (2) either of two lK-byte segments of ICE-88 "real-time" memory, (3) a random-access disk file, (4) any IK-byte segment in expansion Intellec memory (addresses at 64K or above), or (5) as guarded (i.e., the logical addresses do not physically exist).

The ICE-88 module supplies 2K bytes of high-speed static memory which may be mapped for "time" execution. The speed of this memory will allow near real-time operation. The 2K bytes may be mapped in lK-byte segments into appropriate address space within the 8088's 1M byte address space.

Disk-based memory and expansion Intellec memory both provide substantially slower execution speeds since all accesses to these memories require additional pro-cessing by the ICE-88 emulator. The first 64K of Intellec memory is reserved for system and ICE-88 software. Therefore, any memory assigned to tQe user must reside in expansion Intellec memory above 64K.

The MAP commands are used to declare, set, display, and reset the ICE-88 memory mapping. The ICE-88 emulator has 1M logical addresses divided into 1024 logical address segments, each starting on a IK boundary and representing lK bytes of memory. Each segment is addressed by a decimal segment number, n . The value of n is an integer value between 0 and 1023. For any given segment n, that segment contains addresses nK through nK + 1023. For example, the lowest logical segment in memory space contains addresses 0 through 1023 (OK through OK + 1023). In a like manner, logical segment 10 would contain addresses 10240 through 11263 (10K through 10K + 1023). All partitions used in MAP commands must contain segment numbers whose values lie between 0 and 1023.

ICE-88

ICE-88 Interrogation and Utility Commands

If the diskette is to be used for user memory, the MAP DISK command must be used to declare the disk file to be used. The syntax of the MAP DISK command is:

MAP DISK = [:drive:] filename

The command opens the ISIS-II file specified by file-name, checks how may physical segments will fit on the diskette, and reports this number to you. MAP DISK may only be declared initially and once following each RESET MAP command.

If Intellec memory is to be used for user memory, the MAP INTELLEC command must be used to specify the physical memory segments in extended Intellec memory to be used by user programs. The syntax of the MAP INTELLEC command is:

MAP INTELLEC = partition [, partition ] ...

where partition is defined as:

" _ {Physical-segment-number

partItIon

=

physical-segment-number [TO physical-segment-number ] } LENGTH physical-segment-Iength This command declares physical memory segments in expanded Intellec memory and checks that the memory physically exists by writing to it and reading back. An error occurs if any partitions extend below 64K as extended Intellec memory exists only at addresses 64K or above. Therefore the range of physical-segment-number values is 64-1023 (inclusive), the range of physical-segment-length values is 1-960 (inclusive). A warning is issued if the memory does not exist. INTELLEC declara-tions are cumulative between RESET MAP commands. Logical memory segments may not be set to Intellec or disk until the associated MAP INTELLEC or MAP DISK commands have been entered.

NOTE

When mapping to Intellec memory, the monitor prom circuitry does not decode the four high order bits of a 20-bit address. Therefore, addresses of the 20-bit form XXXX 1111 lXXX XXXX XXX X (where X is don't care) will be overshadowed by the monitor and should not be used as addresses to be mapped.

The Set MAP Status command is then used to map logical memory segments to physical segments. The syntax of the Set MAP Status command is:

USER [NOVERIFY]

{

GUARDED }

MAP partition = ICE fphysical-segment-number] [NOVERIFY]

INTELLEC fphysical-segment-number] [NOVERIFY]

DISK physical-segment-number [NOVERIFY]

where

partition == logical-segment-number [TO logical-segment-number]

logical-segment-number LENGTH logical-segment-Iength

Interrogation and Utility Commands

7-22

The Set MAP Status command sets the memory map by assigning logical segments to physical addresses in memory:

USER

The logical segments specified are set to exist in the user's memory at the same physical addresses as those specified in the logical segments.

The logical segments specified are set to exist in ICE-88

"real-time" memory. 'The partition specified may only contain a maximum of two segments and the physicaJ-segment- number value must be 0 or 1, if one is given.

The logical segments specified in the partition are set to exist in extended Intellec memory starting in the physical segment specified by the physicaJ-segment-number in the command, if one is given.

The logical segments specified in the partition are set to exist on the disk file starting at the physical segment specified by the physi-caJ-segment-number in the command, if one is given.

All accesses to memory addresses in the segments speci-fied by the input parameter, partition are error conditions.

All memory is initially GUARDED.

Specifies that write-verification will not be performed when using the ICE-88 Change command to change the contents physicaJ-segment-number is given in the command, the first logical segment specified in the partition is set to the physical segment specified by the physicaJ-segment-number and subsequent logical segments are set at subsequent physical segments. If more logical segments are specified than physical segments available, logical segment will be assigned to available physical segments and an error message is displayed indicating that the remaining logical segments are unassigned. If physicaJ-segment-number is omitted in the command, the ICE emulator assigns

from unassigned physical segments in the designated memory. If Intellec or disk memory is specified, an error occurs if the resulting physical segment is not one of those previously declared by a MAP INTELLEC or MAP DISK command. An error also occurs if there are insufficient physical segments unassigned to map the specified logical segments.

The Display MAP Status command displays the current setting of the map for the unguarded memory segments specified by partition , if given. If a partition is not given, all the unguarded segments for the entire range from 0 to 1023 are displayed.

The display is to the following format. The segments are displayed, four segments per line, each of the form:

logical-segment = type physical-segment [N]

where:

logical-segment == four decimal digits with T suffix type == ICE:: USE:: INT:: DIS

physical-segment == four decimal digits with T suffix for ICE, INT, DIS and four blanks for USE

ICE-88

ICE-88 Interrogation and Utility Commands

Example 1.

MAP OTO 3 Display:

OOOOT = USE 0001T = ICE OOOOT 0002T = INT 0064T 0003 = DIS OOOOT

Display:

OOOOT = USE 0001T = ICE OOOOT 0002T = INT 0064T 0003 = DIS OOOOT 0004T = DIS 0001T 0004T = DIS 0002T 0006T = USE 0007 = USE

1023T = DIS

The RESET MAP sets the memory map to its initial condition, all GUARDED, and

"undeclares" the DISK and INTELLEC memory available. Multiple logical segments may be mapped to the same physical segment. Reassignment of a logical segment to a different physical segment causes the physical segment originally mapped to become "guarded," or unused, and reassignable, providing no other logical segment is currently mapped to it.

Interrogation and Utility Commands

7-24

Dans le document OPER~TING INSTRUCTIONS FOR ISIS-II USERS (Page 168-172)