CHAPTER NINE.

Slides:



Advertisements
Similar presentations
Assembly Language – 1.
Advertisements

 Suppose for a moment that you were asked to perform a task and were given the following list of instructions to perform:
The Assembly Language Level
The CPU Revision Typical machine code instructions Using op-codes and operands Symbolic addressing. Conditional and unconditional branches.
8.2 Characteristics of a High Level Programming Language
Low-Level Programming Languages
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
Implementation of a Stored Program Computer
Group 5 Alain J. Percial Paula A. Ortiz Francis X. Ruiz.
Assembly & Machine Languages
CHAPTER 4: INTRODUCTION TO COMPUTER ORGANIZATION AND PROGRAMMING DESIGN Lec. Ghader Kurdi.
BIT Presentation 6. Contents GENERATIONS OF LANGUAGES COMPILERS AND INTERPRETERS VIRTUAL MACHINES OBJECT-ORIENTED PROGRAMMING SCRIPTING LANGUAGES.
CPS120: Introduction to Computer Science
Tranlators. Machine Language The lowest-level programming languageprogramming language Machine languages are the only languages understood by computers.languagescomputers.
11. 2 GeneticsTour.exe 2 33 By understanding folding and protein conformational change scientists hope to be able to design mediation strategies to fight.
Implementation of a Stored Program Computer ITCS 3181 Logic and Computer Systems 2014 B. Wilkinson Slides2.ppt Modification date: Oct 16,
Programming With C.
Chapter 4 MARIE: An Introduction to a Simple Computer.
Computer Operations A computer is a programmable electronic device that can store, retrieve, and process data Data and instructions to manipulate the data.
Represents different voltage levels High: 5 Volts Low: 0 Volts At this raw level a digital computer is instructed to carry out instructions.
1.4 Representation of data in computer systems Instructions.
Question What technology differentiates the different stages a computer had gone through from generation 1 to present?
Simple ALU How to perform this C language integer operation in the computer C=A+B; ? The arithmetic/logic unit (ALU) of a processor performs integer arithmetic.
CMSC 104, Lecture 061 Stored Programs A look at how programs are executed.
1 Asstt. Prof Navjot Kaur Computer Dept PRESENTED BY.
Representation of Data Binary Representation of Instructions teachwithict.weebly.com.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
1 CE 454 Computer Architecture Lecture 11 Ahmed Ezzat The Assembly Language Level, Ch-(7.1 – 7.4)
Addressing modes, memory architecture, interrupt and exception handling, and external I/O. An ISA includes a specification of the set of opcodes (machine.
Introduction to computer software. Programming the computer Program, is a sequence of instructions, written to perform a specified task on a computer.
Computer Architecture. Instruction Set “The collection of different instructions that the processor can execute it”. Usually represented by assembly codes,
A LECTURE NOTE. Introduction to Programming languages.
Advanced Computer Systems
Assembler, Compiler, MIPS simulator
Unit 2 Technology Systems
Assembly language.
Chapter 1 Introduction.
Assembly Language (CSW 353)
Topics Introduction Hardware and Software How Computers Store Data
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
ELE2MIC Friday Lecture Venue Change
Assembly Language Assembly Language
Microprocessor and Assembly Language
Chapter 1 Introduction.
Chapter 3 Machine Language and Assembly Language.
Chapter 3 Machine Language and Assembly Language.
Overview Introduction General Register Organization Stack Organization
A Closer Look at Instruction Set Architectures
Computer Architecture and Organization Miles Murdocca and Vincent Heuring Chapter 4 – The Instruction Set Architecture.
Computer Organization and Assembly Language (COAL)
CSCI/CMPE 3334 Systems Programming
Introduction to Assembly Language
Chapter One: Introduction
CISC AND RISC SYSTEM Based on instruction set, we broadly classify Computer/microprocessor/microcontroller into CISC and RISC. CISC SYSTEM: COMPLEX INSTRUCTION.
CSCE Fall 2013 Prof. Jennifer L. Welch.
Computer Architecture
Topics Introduction Hardware and Software How Computers Store Data
The Processor Data Path & Control Chapter 5 Part 3 - Microprogrammed Control Unit N. Guydosh 3/1/04+
Unit 12 CPU Design & Programming
MARIE: An Introduction to a Simple Computer
MARIE: An Introduction to a Simple Computer
CSCE Fall 2012 Prof. Jennifer L. Welch.
Introduction to Microprocessor Programming
ECE 352 Digital System Fundamentals
ECE 352 Digital System Fundamentals
Instructions in Machine Language
8051 ASSEMBLY LANGUAGE PROGRAMMING
Chapter 6 Programming the basic computer
Course Code 114 Introduction to Computer Science
Computer Architecture and System Programming Laboratory
Presentation transcript:

CHAPTER NINE

ASSEMBLY LANGUAGE PROGRAM

A program written in assembly language consists of a series of instructions--mnemonics that correspond to a stream of executable instructions, when translated by an assembler, that can be loaded into memory and executed.

For example, an x86/IA-32 processor can execute the following binary instruction as expressed in machine language (see x86 assembly language):

The equivalent assembly language representation is easier to remember (example in Intel syntax, more mnemonic):

This instruction means:

The mnemonic "mov" represents the opcode 1011 which moves the value in the second operand into the register indicated by the first operand. The mnemonic was chosen by the instruction set designer to abbreviate "move", making it easier for the programmer to remember. A comma-separated list of arguments or parameters follows the opcode; this is a typical assembly language statement.

9.1 OVERVIEW OF ASSEMBLY LANGUAGE PROGRAMMING

In practice many programmers drop the word mnemonic and, technically incorrectly, call "mov" an opcode. When they do this they are referring to the underlying binary code which it represents. To put it another way, a mnemonic such as "mov" is not an opcode, but as it symbolizes an opcode, one might refer to "the opcode mov" for example when one intends to refer to the binary opcode it symbolizes rather than to the symbol--the mnemonic--itself. As few modern programmers have need to be mindful of actually what binary patterns are the opcodes for specific instructions, the distinction has in practice become a bit blurred among programmers but not among processor designers.

Transforming assembly into machine language is accomplished by an assembler, and the reverse by a disassembler. Unlike in high-level languages, there is usually a one-to-one correspondence between simple assembly statements and machine language instructions. However, in some cases, an assembler may provide pseudoinstructions which expand into several machine language instructions to provide commonly needed functionality. For example, for a machine that lacks a "branch if greater or equal" instruction, an assembler may provide a pseudoinstruction that expands to the machine's "set if less than" and "branch if zero (on the result of the set instruction)". Most full-featured assemblers also provide a rich macro language (discussed below) which is used by vendors and programmers to generate more complex code and data sequences.

Each computer architecture and processor architecture has its own machine language. On this level, each instruction is simple enough to be executed using a relatively small number of electronic circuits. Computers differ by the number and type of operations they support. For example, a new 64-bit machine would have different circuitry from a 32-bit machine. They may also have different sizes and numbers of registers, and different representations of data types in storage. While most general-purpose computers are able to carry out essentially the same functionality, the ways they do so differ; the corresponding assembly languages reflect these differences.

9.2 THE LINKER

10.1 INTRODUCTION

Job Control Language (JCL) is a scripting language used on IBM mainframe operating systems to instruct the system on how to run a batch job or start a subsystem. The term "Job Control Language" can also be used generically to refer to all languages which perform these functions.

JCL consists of control statements that do the following; General JCL Rules:

All fields, except for the operands, must be separated by one blank.

More on JCL