Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
Assembly Language Programming
Appendix C
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
A Small Assembly Language Program
(a) An assembly language program.
(b) The corresponding tracer display.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
The General Registers
The 8088 registers.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
Addressing (1)
Operand addressing modes.
The symbol # indicates a numerical value or label.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
Addressing (2)
Operand addressing modes.
The symbol # indicates a numerical value or label.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
The 8088 Instruction Set (1)
Some of the most important 8088 instructions.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
The 8088 Instruction Set (2)
Some of the most important 8088 instructions.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
The 8088 Instruction Set (3)
Some of the most important 8088 instructions.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
Conditional Jumps
Conditional jumps.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
Subroutine Calls
An example stack.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
System Calls and System Subroutines
Some UNIX system calls and subroutines available in the
interpreter.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
The ACK-Based Assembler, as88 (1)
The as88 pseudoinstructions.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
The ACK-Based Assembler, as88 (2)
Some of the escapes allowed by as88.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
The Tracer
The tracer’s windows.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
Tracer Commands (1)
The tracer commands. Each command must be followed by a carriage
return (the Enter key). An empty box indicates that just a carriage return
is needed. Commands with no Address field listed above have no
address. The # symbol represents an integer offset.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
Tracer Commands (2)
The tracer commands. Each command must be followed by a carriage
return (the Enter key). An empty box indicates that just a carriage return
is needed. Commands with no Address field listed above have no
address. The # symbol represents an integer offset.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
Hello World Example
(a) HlloWrld.s.
(b) The corresponding tracer window.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
General Registers Example
(a) Part of a program.
(b) The tracer register window after line 7 has been executed.
(c) The registers.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
Example Program (1)
The program vecprod.s.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
Example Program (2)
The program vecprod.s.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
Example Program (3)
The program vecprod.s.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
Example Program (4)
Execution of vecprod.s when it reaches line 28 for the first time.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
Example Program arrayprt
The program arrayprt before debugging.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
Example Program strngcpy.s
Copy a string.
Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education,
Inc. All rights reserved. 0-13-148521-0
Example Program
reverspr.s
Print a string backwards.