This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: ASSEMBLER(1) ASSEMBLER(1) NAME assembler, assem, assem16to8, assem24to8, assem32to8 - translate symbolic microcode into hex integer file(s) SYNOPSIS assembler < xxx.as > xxx.dat assem xxx assem16to8 xxx assem24to8 xxx assem32to8 xxx DESCRIPTION This program translates symbolic microcode instructions into a file of hex integers. An optional listing file can also be produced which reproduces the source file with the addition of the address and value for each microinstruction. The assembler output must then be processed by the dat2ntl program to format this file into one that can be sent to the PROM programmer. The dat2ntl program is described in a separate man- page. The assembler accommodates a large number of microinstruction formats. The user can (must) define individual keywords and instruction formats in a specification file. There are several shell scripts which run both assembler and dat2ntl so these programs do not have to be run separately. These scripts pipe the output of assembler through the program dat2ntl. By the recommended convention, the source file name has an extension of .as, i.e., it is of the following form: xxx.as The specification file name is of the form: xxx.sp The listing file name should be of the form: xxx.list USE OF THE PROGRAM To use the program one must create a specification file and a source file. The specification file, xxx.sp, contains the declaration of the command names and the bits which each com- mand asserts. It also specifies which bits will be used for the address field, the instruction size, and, option- ally, whether the default assertion for signals is low or high. The microinstructions must all be of the same length and can only reference a single address. The source file, xxx.as, contains the assembly code which uses the declarations given in xxx.sp. It must include a #SPEC_FILE statement in order to know where to look for these declarations. It may also include a #LIST_FILE statement which provides a file name for the assembler listing, a #SET_ADDRESS statement to tell the assembler the beginning address for the assembled code, and a #NEW_PROGRAM statement to tell the assembler to treat the following text as a completely new program. Any other com- mand statement - "#command_name = value ;" - will be passed through the assembler. There can be multiple #SET_ADDRESS statements interspersed within the code so that the address can be changed anywhere in the code. This is useful for subroutines or when a certain part of the code needs to be put in a specific position in memory. The formats of these statements can be obtained from the examples or from the man page for dat2ntl. MIT EECS Dept. 1 ASSEMBLER(1) ASSEMBLER(1) Note that the LIST_FILE produced by the assembler can be used in your project reports....
View Full Document
- Fall '02