0% found this document useful (0 votes)
31 views

Assembly Language Programming: Appendix C

The document discusses assembly language programming and provides examples of assembly language programs, instructions, and concepts like addressing modes, registers, conditional jumps, subroutine calls, and input/output. It includes assembly code examples with descriptions and tracer output to demonstrate different programming techniques like string manipulation, vector operations, file access, and using dispatch tables.

Uploaded by

samuel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views

Assembly Language Programming: Appendix C

The document discusses assembly language programming and provides examples of assembly language programs, instructions, and concepts like addressing modes, registers, conditional jumps, subroutine calls, and input/output. It includes assembly code examples with descriptions and tracer output to demonstrate different programming techniques like string manipulation, vector operations, file access, and using dispatch tables.

Uploaded by

samuel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 31

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.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Dispatch Tables (1)

A program demonstrating a multiway branch using a dispatch table.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Dispatch Tables (2)

A program demonstrating a multiway branch using a dispatch table.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Dispatch Tables (3)

A program demonstrating a multiway branch using a dispatch table.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Buffered and Random File Access (1)

A program with buffered read and random file access.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Buffered and Random File Access (2)

A program with buffered read and random file access.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0
Buffered and Random File Access (3)

A program with buffered read and random file access.

Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc. All rights reserved. 0-13-148521-0

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy