R15 := Size;
R15 := *R15;
R16 := Array;
trace R15,R16;
stop; nop;

data 20 end

data
537, 242, 114, 436, 337, 296, 285, 655, 639, 436,
912, 520, 624, 551, 600, 741, 612, 943, 871, 735
end
11.4 System Level: The ERRIC Language
The ERRIC language (the name is not fixed yet) is designed and implemented as a
kind of intermediate programming level between low-level hardware-oriented
assembly language and the higher level machine-neutral application language.
The language includes some low-level ERRIC specifics (it even has the full
assembly language as its subset).
At the same time, the language supports a set of usual higher level constructs
like the notion of type (with compile-time type checks), procedural mechanism,
control flow statements (conditionals and loops), etc.
This allows developers to write fast, efficient, highly optimized programs using
familiar higher level programming paradigms. In this sense, the ERRIC language
occupies the niche similar to Oberon and C languages.
Major features of the ERRIC language are as follows:
• Simple, clear, and unambiguous syntax that looks familiar to developers.
• Simple semantics; possibility to develop extremely efficient software.
• Flexible program structure with a variety of building blocks: modules, routines,
data, and standalone code snippets.
• Simple, compact but powerful type system.
The language type system includes hardware-supported types (byte, short, and
integer), enumeration types (as an extension of byte/short/integer), arrays, and
structures (records).
Also, the special routine type is included as a safe way to add flexibility to the
procedural mechanism.
11.3 Low Level: The Assembly Language
171
Précédent

- 184/315

Suivant