previous | contents | next

632 Appendix

2.5 The memory expression specifies the contents of a memory (an instance of a data-type) by giving the memory switch (possibly compound), as seen from PMS. However, all that is represent in ISP is the address that is used to control the switch. The address is a data-type, usually represented as a positive integer. The element-range is a field. In both cases it is possible to specify an arbitrary list of contents (addresses and fields), although in most processors this can never arise. The address-range x :y means from address x to address y inclusive.

EXAMPLES OF REGISTERS

A2 or A;

boolean-memories; scalar bits

sign bit/sign_ bit/sb

1b; b2; 2C1; 2C2' ; C"; C' "; "+"; "A"

end_ around_ shift or end around shift

identical names

G3

ternary memory

iá 2ñ ; Zá añ

scalar bits of an array

bcá 12:8ñ or bcá 12, 11, 10, 9, 8ñ

identical registers

ACá P,Q,S,1:35ñ

38 bit register

Xá 0:7ñ 8 or Xá 0:23ñ 2 or Xá 0:23ñ

identical registers

M[0:77778]á 0:11ñ or M[0:40951á 0:3ñ 8

identical vectors

X[0:15][0:15]á 31:0ñ

16x16 matrix

M[0:71[0:31][0:127]á 0:11ñ

3 dimensional array

EXAMPLES OF RESTRUCTURING AND RENAMING

Aá 17ñ : = Bá 4ñ ; Aá 0:1ñ : = Bá 0, 4ñ

opá 0:2ñ : = i[1]á 9:11ñ
A[0:3]á 0:7ñ = A'á 0:31ñ

indicator[11000012] = sense_ switchá Añ

XR[1:2][1:3] á B, A, 8, 4, 2, 1ñ : = M[87:89, vectors formed from
92:94]á B, A, 8, 4, 2, 1ñ single bit vector

EXAMPLES OF REGISTERS FORMED BY CONCATENATION

LACá L, 0:11ñ : = Lð ACá 0:11ñ
ABá 0:47ñ := Aá 0:23ñ ð Bá 0:23ñ

EXAMPLES OF REGISTERS FORMED BY A LIST OF REGISTERS

C, Dá 0:4ñ : = Bá 7ñ , Aá 1:4ñ ð Zá 8ñ

2.6 An address-expression is an operation-expression on addresses, i.e., using only the address-operations available in the processor. An address-expression may imply the use of memory if it involves nested parentheses; such memory is assumed to be temporary with no permanent effect on the memory state.

2.7 A condition is given as a boolean, that is, as either true or false (equivalently, 1 or 0), or the result of a boolean expression involving the logical connectives or relations among data-expressions (see Table 4, ISP 3, and also GC 13). A condition can also be given as a memory-expression, in which case the memory contents are normally evaluated as a boolean vector with all 0s being false, and not all 0s being true.

2.8 Data-expressions are either instances of data-types; the contents of a memory, as given by a memory-expression; or the results of operation-expressions. which is to say, the results of operating on data-types by the data-operations available in the processor. Data-expressions may imply the use of memory if they involve nested parentheses. Such memory is assumed to be temporary, with no permanent effects on the memory state of the processor or memory. The data-type name may sometimes follow the data-expression, {data-type), in order to carry more information and avoid more complex names for memory-expressions, etc. (see Chap. 2, page 30, and ISP 3.1).

2.9 Operation-expressions are the form used by the operations (see ISP 3). Note that the operation-expression as a whole can be modified by an operation modifier enclosed in braces.

EXAMPLES OF INSTRUCTIONS

add (: = op = 101) ® (Lð AC¬ Lð AC + M[z]) integer add
jms (:= op = 100) ® (M[z] ¬ PC; next PC ¬ z + 1) jump to subroutine

FAD (:= op = + 767) ® (FAC ¬ FAC + M[x] {s.f}) single precision floating point add
add ® (A ¬ A + M[x] {two's complement}) the operation code need not be given

skip (:= op = 67)® ((A> 0)® P¬ P + 2;

(A=0® P¬ P+ 1)

add/ "A" (: = op = 110001)®

(0v, M[B] ¬ ; M[B] + M[A] {string})

"B"(: = op = 1)® (A¬ M[t][s])
((A L B) V (C > F))® (G ¬ G + H)

3. Operations

3.1 Operations are defined to produce results of specific data-types from operands of specific data-types. The data-types themselves determine by and large the possible operations that apply to them. No attempt will be made to define the various operations here, as they are all familiar. Table 4 gives the notation for the operation-types, organized by data-types. In

previous | contents | next