| Aim of Module | To extend the principles learned in the preliminary level course to a fuller understanding of the relationship between the systems programming language and the operating system. |
| Credits | 7 |
| Student Learning hours | 70 |
| Prescription Expiry Date | Nov 2007 |
| Topics | Highest Skill Level | Suggested Assessment Percentage | |
| 1 Language Basics | P | 25 | |
| 2 OS Function Calls | A | 15 | |
| 3 Macros | P | 15 | |
| 4 Directives | P | 10 | |
| 5 Sub-Programs | P | 15 | |
| 6 Techniques | P | 15 | |
| 7 Maintenance Considerations | C | 5 | |
| 100 | |||
| 1 | Language Basics |
| 1 | LANGUAGE BASICS | |
| P | 1.1 | Use an editor to create the source code of a systems programming language. |
| P | 1.2 | Debug programs using dynamic debugging facilities. |
| C | 1.3 | Describe the various addressing modes for the operands available in the language studied. |
| P | 1.4 | Describe and use the various instruction formats available in the language studied. |
| A | 1.5 | Explain the internal storage of data and convert from one format to another. |
| 2 | OS Function Calls |
| C | 2.1 | Explain the mechanism used for communication between a program and the operating system. |
| A | 2.2 | Use such a mechanism to: |
| - perform screen I/O | ||
| - perform error handling | ||
| - perform communications | ||
| - perform memory management |
| 3 | Macros |
| P | Use a macro definition language with particular emphasis on the following: | |
| - keyword parameters | ||
| - positional parameters | ||
| - conditional macros | ||
| - use of macros to enforce installation standards | ||
| - use of macro libraries |
| 4 | Directives |
| P | 4.1 | Use directives to: |
| - define storage | ||
| - define data types and values where appropriate | ||
| - debug usage | ||
| - document source code | ||
| - page titles and HEADERS etc | ||
| - form feeds | ||
| 5 | Sub-Programs |
| P | 5.1 | Use sub-programs emphasising their logical independence and using the following techniques: |
| - correct parameter passing | ||
| - stack considerations | ||
| - register saving | ||
| - concepts of local and global variables | ||
| - sub-program libraries | ||
| - integration with high-level languages | ||
| 6 | Techniques |
| P | Use the selected language to handle: | |
| - string functions | ||
| - tables | ||
| - pointers | ||
| - condition code setting | ||
| - vector tables | ||
| - stacks | ||
| - segmented programs | ||
| - dispatch tables | ||
| - interrupt handling | ||
| - real number arithmetic | ||
| 7 | Maintenance Considerations |
| C | Explain the special problems of maintaining systems programming language programs. |