• Aucun résultat trouvé

To assign a new content to a byte, sinteger, word, integer, pointer or reallocation, use a command with the form:

{ mem-type address = new-content}

numeric-expression A numeric expression evaluated by the ICE-86A emulator to a single number.

If mem-type is a POINTER, content must be a pointer value. Otherwise, new-content must be an integer value.

When a single byte address is to be set, the ICE-86A emulator treats the new-content as an 8-bit quantity. If new-content has more than eight bits, the least-significant eight bits in the quantity are used as the new content, and the other (higher) bits are lost. If new-content has fewer than eight bits, the bit values in the quantity are right-justified (placed in the low-order bits in the address), and the remaining (high) bits in the location are set to zeroes.

Here are some examples of setting byte contents. The first line of each example shows the command that sets the new contents; the second line gives a command that produces a display of the contents just set; the third line shows the resulting display. The output radix is assumed to be H (hexadecimal).

*BYTE 1000H = FFH

Interrogation and Utility Commands

7-38

'BYTE 1050H = BYTE 1000H '.BYTE 1050H

BYT 0000:1050H=FFH

(or)'BYTE 100:50H = BYT100:0H 'BYT105:0

BYT 0100:0050=FFH

You can change the radix used to display the contents using the Set Output Radix (BASE) command.

When a single word address is to be set, the ICE-86A emulator treats the new-content as a pair of bytes. The least-significant byte is loaded into the low address in the pair, and the most-significant byte is loaded into the high address in the pair. If new-content has fewer than 16 bits, the bit values are loaded starting with the low address and right-justified. The remaining (high) bits in the address pair are set to zeroes. The following examples demonstrate some of the possibilities for the setting address pairs: (or)'WORD 0:1030H = WOR 0:1000H

'WOR 103:0

WOR 0103:0000H=1122H

When a single pointer is to be set, the ICE-86A emulator treats the new-content as a displacement and base. The least-significant byte is loaded into the low address in the quadruple, and most-significant byte is loaded into the high address. The follow-ing examples demonstrate some of the possibilities for settfollow-ing pointers:

'POINTER 1000H = 1122:3344H 'POINTER 10000H

POI0000:1000H=1122:3344H

(or)! POll 00:0 = 1122:3344H 'POI0:1000H

POI0000:1000H=1122:3344H

Assume that X and Y refer to any symbol name. A command of the form BYTE X =

BYTE Y copies the content of the address Y to the content 'of address X where addresses X and Yare either integer or pointer values as shown in the examples above. A command of the form WORD X

=

WORD Y copies the content of address Y to location X, and the content of address (Y+1) to location (X+l). A command of the form POINTER X

=

POINTER Y copies the content of location Y through

DREAL Y copies the content of the address Y to the content of address X.

The commands used to set a range of addresses differ in some details.

One way to set a range of addresses is with the command of the form:

mem-type address =list of new-content values

With this form the address on the left side of the equals sign gives the starting loca-tion, and the number of values in the list to the right of the equals sign tells the ICE-86A emulator how many consecutive addresses to load. Consecutive locations

ICE-86A

are changed to the values of the new-contents in left-to-right order. The list of new content values can consist of expressions, multi-character strings, and memory partitions.

Here are some examples showing the use of this form of the set memory contents command.

"BYTE 1000H = 11 H, 22H, 33H, 44H, 55H, 66H, 'AB'

"BYT 1000H LEN 8T

BYTOOOO:1000H=11H 22H 33H 44H 55H 66H 41H 42H

"WOR 200:0H = FFFFH, WORD 100:0H

"WOR 2OO:0H LENGTH 2T WOR 0200:0000H=FFFFH 2211 H

"POI4000:20H = 1122:3344H, WOR 1002H, BYT 1002

"POI4000:2OH LEN 3T

POI4000:0020H=1122:3344 0000:4433 0000:0033

*REAL1ooH = -9.9, 44.3E12

*REAL100 LEN 2

REAL OOOO:0100H = -9.89999962E + 0 + 4.42999998E + 13

"TRE 2000 = 1.0, 2.0, 3.0, 4.1 E-5

"TRE 2000 LEN 4

TRE OOOO:2000H= + 1.00000000000000000E + 0 TRE 0000:2014H= + 3.0oo00000000000000E + 0

+ 2.0000000000000000000E + 0 + 4.1 OOOOOOOOOOOOOOOOOOE- 5

To set a range of addresses all to the same new value, use a command of the form:

mem-type partition = new-content

The forms of partition are discussed above in this section. All addresses in the parti-tion are set to the single new-content value. The following examples show some of the possible results obtained with this command form:

*BYT 1000H TO 1OO4H =FFH

* BYTE 1oo0H LEN 5H

BYT 00OO:1000H=FFH FFH FFH FFH FFH

"WORD 200:0 LENGTH 6T = AAOOH

"WOR 2OO:0H TO 200AH

WOR 0200:00ooH=AAOOH AAOOH AAOOH AAOOH AAOOH AAOOH

*POINTER 3000H LEN 3T = 1234:5678H POI 0:3OOOH TO 0:300BH

WOR 0000:3000H=1234:56781234:56781234:5678

*REA 2000 LEN 8 = 1.0, 2.0

"REA 2000 LEN 8

REA OOOO:2000H= + 1.00000000E + 0 + 2.00000000E + 0 REA 0000:2008H= + 1.00000000E + 0 + 2.00000000E + 0 REA OOOO:2010H= + 1.00000000E + 0 + 2.00000000E + 0 REA OOoo:2018H= + 1.00000000E + 0 + 2,OOOOOOOOE + 0

"DRE 2000 LEN 4=1.0E-10

"DRE 2000 LEN 4

DRE OOOO:2000H= + 1.0000000000000000E-1 0 + 1.0000000000000000E-1 0 DRE OOOO:2010H= + 1.0000000000000000E-1 0 + 1.0000000000000000E-1 0

7-39

Interrogation and Utility Commands

7-40

The last form of the set memory contents command sets the contents of each address in a range (partition) to the corresponding new-content in a list of values. This form is as follows:

mem-type partition =Iist of new-content values

This form combines the two forms discussed above. The list of new-content values can consist of expressions, multi-character strings and memory partitions.

If the number of locations in the partition is equal to the number of values in the new-content list, the addressed locations are set to the corresponding values in the list, in left-to-right order.

If the number of locations in the range is greater than the number of new values in the list, the locations are filled with the values from left-to-right, repeating the values in left-to-right order as necessary to fiII all the locations. The maximum number of bytes that can be repeated is 128. With more than 128 bytes, the data is transferred but not repeated, and an error message is displayed.

If the number of new values in the list is greater than the number of locations in the partition, the lowest location receives the first value, and successive locations in the range receive values in left-to-right order until all locations in the range have received values. The excess values are then detected by the ICE-86A emulator as an error condition, and an error message is displayed. The excess values are lost.

Here are a few examples showing this form of command:

'BYT 1000H TO 1004H = 'ABCDE' 'BYT 1000H LEN 5T

BYT 0000:1 000H=41 H 42H 43H 44H 45H 'WORD 200:0H LENGTH 6T = 1122H, 'AB' 'WOR 200:0H TO 200:AH

WOR 0220:0000H=1122H 0041 H 0042H 1122H 0041 H 0042H 'BYTE 1000H TO 1002H = 11H, 22H, 33H, FFH

ERR 97: EXCESSIVE DATA

• BYT 100:0 LEN 4T

BYT 1000:0000=11 H 22H 33H 44H

In the third example, note that the byte at location lO03H retains the value set in the first example in the group of examples (44H rather than the FFH given in the command.)