4 Assembly Language Program Example
4 Assembly Language Program Example
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
7-2
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
7-3
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
optional mandatory
7-4
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
7-5
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Assembler Directives
Pseudo-operations
• do not refer to operations executed by program
• used by assembler
• look like instruction, but “opcode” starts with dot
Trap Codes
LC-3 assembler provides “pseudo-instructions” for
each trap code, so you don’t have to remember them.
Code Equivalent Description
HALT TRAP x25 Halt execution and print message to
console.
IN TRAP x23 Print prompt on console,
read (and echo) one character from keybd.
Character stored in R0[7:0].
OUT TRAP x21 Write one character (in R0[7:0]) to console.
GETC TRAP x20 Read one character from keyboard.
Character stored in R0[7:0].
PUTS TRAP x22 Write null-terminated string to console.
Address of string is in R0.
7-8
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Style Guidelines
Use the following style guidelines to improve
the readability and understandability of your programs:
1. Provide a program header, with author’s name, date, etc.,
and purpose of program.
2. Start labels, opcode, operands, and comments in same column
for each line. (Unless entire line is a comment.)
3. Use comments to explain what each register does.
4. Give explanatory comment for most instructions.
5. Use meaningful symbolic names.
• Mixed upper and lower case for readability.
• ASCIItoBinary, InputRoutine, SaveR1
6. Provide comments between program sections.
7. Each line must fit on the page -- no wraparound or truncations.
• Long statements split in aesthetically pleasing manner.
7-9
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Sample Program
Count the occurrences of a character in a file.
Remember this?
Count = 0
(R2 = 0) YES
Convert count to
Done?
(R1 ?= EOT)
ASCII character
(R0 = x30, R0 = R2 + R0)
HALT
Incr Count (TRAP x25)
7-10
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
7-11
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
7-12
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
7-13