Save this PDF as:

Size: px
Start display at page:

## Transcription

3 Address Register Indirect with Post-incrementing / Pre-decrementing Examples MOVE.B (A0)+,D3 Byte data addressed by A0 are copied to D3. Then the contents of A0 are incremented by 1. MOVE.W (A0)+,D3 The word data addressed by A0 are copied to D3. Then the contents of A0 are incremented by 2. MOVE.L (A0)+,D3 The long word data addressed by A0 are copied to D3. Then the contents of A0 are incremented by 4. MOVE.B -(A0),D3 The address stored in A0 is first decremented by 1. Then the data addressed are copied to D3. MOVE.W -(A0),D3 The address stored in A0 is first decremented by 2. Then the data addressed are copied to D3. MOVE.L -(A0),D3 The address stored in A0 is first decremented by 4. Then the data addressed are copied to D3. #3 Lec # 2 Winter

4 68000 Instructions Summary Instr Description Instr Description ABCD Add decimal with extend MOVE Move source to destination ADD Add MULS Signed multiply AND Logical AND MULU Unsigned multiply ASL Arithmetic shift left NBCD Negate Decimal with Extend ASR Arithmetic shift right NEG Negate Bcc Branch conditionally NOP No operation BCHG Bit test and change NOT Ones complement BCLR Bit test and clear OR Logical OR BRA Branch always PEA Push effective address on stack BSET Bit test and set RESET Reset External devices BSR Branch to subroutine ROL Rotate left without extend BTST Bit test ROR Rotate right without extend CHK Check register against bounds ROXL Rotate left with extend CLR Clear operand ROXR Rotate right with extend CMP Compare RTD Return and deallocate DBcc Decrement and branch RTE Return from exception conditionally DIVS Signed divide RTR Return and restore DIVU Unsigned divide RTS Return from subroutine EOR Exclusive OR SBCD Subtract decimal with extend EXG Exchange registers Scc Set conditional EXT Sign extend STOP Stop JMP Jump SUB Subtract JSR Jump to subroutine SWAP Swap data register halves LEA Load Effective Address TAS Test and set operand LINK Link stack TRAP Trap LSL Logical shift left TRAPV Trap on overflow LSR Logical shift right TST Test #4 Lec # 2 Winter

5 Classification of Instructions Data Movement Instructions Compare Instructions Branch Instructions: Conditional Unconditional Special Instructions for Address Registers Arithmetic Instructions Logic Instructions Bit Manipulation Instructions Stack and Subroutine Related Instructions #5 Lec # 2 Winter

6 Data Movement Instructions A total of 13 instructions in all: MOVE, MOVEA, MOVE to CCR, MOVE to SR, MOVE from SR, MOVE USP, MOVEM, MOVEQ, MOVEP, LEA, PEA, EXG, SWAP MOVE copies data from one location to another and may be qualified by ".B" to move 8 bits; ".W" to move 16 bits; and ".L" to move 32 bits. MOVE does not change the source location only the destination location. MOVE updates the CCR as follows: Examples: N Set (=1) if the result (destination) is negative, cleared (=0) otherwise. Z Set if the result is zero, cleared otherwise. V Always cleared. C Always cleared. X Not affected. MOVE.B D1,D2 MOVE.B D1,1234 MOVE.B 1234,D1 MOVE.B 1234,2000 MOVE.B #4,D0 MOVE.B #4,1234 Register to register Register to memory Memory to register Memory to memory Literal to register Literal to memory #6 Lec # 2 Winter

7 #7 Lec # 2 Winter

8 Data Movement Instructions MOVEA Copies a source operand to an address register. May use only ".W and ".L". In the case of ".W", the source operand is sign extended. No effect on CCR Source Operand: All addressing modes. Destination Operand: Address register direct. Move to CCR Copies the lower order byte of the operand to the CCR register. EXG Source Operand: All except address register direct. Destination Operand: CCR register. Exchanges the entire 32-bit contents of two registers. Frequently used to copy an address register to a data register for processing. No effect on CCR. Source Operand: Address or data register. Destination Operand: Address or data register. #8 Lec # 2 Winter

9 #9 Lec # 2 Winter

10 Data Movement Instructions SWAP Exchanges the upper and lower order words of a data register. LEA Source Operand: Data register Destination Operand: N/A CCR set according to the resulting register value. Copies an effective address into an address register. Source Operand: All except data register, address register direct, address register indirect with pre-decrement or post-increment or immediate. Destination Operand: Address register No effect on CCR. #10 Lec # 2 Winter

11 #11 Lec # 2 Winter

13 Compare Instructions All compare instructions subtract the source operand, usually the contents of one register (or memory location) from the contents of the destination operand, usually another register (or memory location) in order to set the CCR (except the X-bit). The results of the subtraction are discarded. Compare instructions include the following: CMP Source operand: Any of the addressing modes Destination: Must be a data register. CMPA Source operand: Any of the addressing modes Destination: Must be an address register. CMPI Source operand: An immediate value Destination: Any of the addressing modes except address register direct or immediate. CMPM Compares one memory location with another Only addressing mode permitted is address register indirect with auto- incrementing. #13 Lec # 2 Winter

14 Compare Instructions CMP <source>,<destination> The compare instruction, CMP <source>,<destination>, subtracts the source operand from the destination operand and updates the bits of the condition code register (CCR), according to the result. The result of the subtraction is discarded. CMP or another compare instruction is usually followed immediately by a conditional branch (e.g., BEQ branch on zero, BNE branch on zero, BGT branch if greater than, BLT branch if less than, etc). Consider the highlevel language construct: IF X < Y THEN P = Q ELSE P = R MOVE.B X,D0 CMP.B Y,D0 Evaluate X - Y BGE X_Bigger If X is greater or equal to Y branch MOVE.B Q,P IF X < Y THEN P = Q BRA Exit X_Bigger MOVE.B R,P IF X >= Y THEN P = R Exit STOP #\$2700 Exit point for code-fragment #14 Lec # 2 Winter

15 #15 Lec # 2 Winter

16 #16 Lec # 2 Winter

17 #17 Lec # 2 Winter

18 Conditional Branch Instructions Identified by the mnemonic Bcc where "cc" represents the condition to be checked. General form: Bcc Address_Label If the condition is true, then control will branch to "Address_Label". No effect on condition codes. These instructions can be grouped according the type of condition being checked: Instructions that depend on a single CCR flag: BNE BEQ BPL BMI BCC BCS BVC BVS Instructions for signed comparison: BGE BGT BLE BLT Instructions for unsigned comparison: (BHS or BCC) BHI BLS (BLO or BCS) #18 Lec # 2 Winter

19 Conditional Branch Instructions Depending on A Single CCR Flag Mnemonic Instruction Branch Taken If BNE Branch on not equal Z=0 BEQ Branch on equal Z=1 BPL Branch on not negative N=0 BMI Branch on negative N=1 BCC Branch on carry clear C=0 BCS Branch on carry set C=1 BVC Branch on overflow clear V=0 BVS Branch on overflow set V=1 #19 Lec # 2 Winter

20 Conditional Branch Instructions For Signed Comparison Mnemonic Instruction Branch Taken If BGE Branch on greater than or equal ( N=1 AND V=1) OR (N = 0 AND V=0) BGT Branch on greater than (N=1 AND V=1 AND Z=0) OR (N=0 AND V=0 AND Z=0) BLE Branch on less than or equal Z=1 OR ( N=1 AND V=0) OR (N=0 AND V =1) BLT Branch on less than (N=1 AND V=0) OR (N=0 AND V=1) #20 Lec # 2 Winter

21 Conditional Branch Instructions For Unsigned Comparison Mnemonic Instruction Branch Taken If BHS, BCC Branch on higher than or equal C=0 BHI Branch on higher than C=0 AND Z =0 BLS Branch on less than or equal C=1 AND Z=1 BLO, BCS Branch on less than C=1 #21 Lec # 2 Winter

22 Unconditional Branch Instructions Two types of unconditional branch instructions: BRA Address_Label Branches to a statically determined address indicated by Address_Label Examples: BRA START BRA EXIT JMP Jump to an address that can be changed during execution Examples: JMP (A0) JMP D0 #22 Lec # 2 Winter

23 #23 Lec # 2 Winter

24 Special Instructions for Address Registers If an address register is specified as the destination operand, then the following address register instructions: MOVEA, ADDA, SUBA, CMPA must be used instead of MOVE, ADD, SUB and CMP, respectively. Address instructions only apply to words and long words. In the case of a word operation, the source operand is sign extended to a long word, e.g, \$0004 becomes \$ and \$FFF4 becomes \$FFFFFFF4. Address instructions do not change any of condition codes (bits of the CCR). #24 Lec # 2 Winter

25 Example: Min(X,Y) Using Comparison * This program demonstrates how to find the smaller of * two numbers X and Y using the comparison operator. * if (X <= Y) then * D0 := X * else * D0 := Y * X and Y are stored in memory and the result of the comparison is stored in * register D0 ORG \$400 Program origin MOVE.B X,D0 Store X in D0 CMP.B Y,D0 Compare Y and D0 BLE Exit Branch if X <= Y MOVE.B Y,D0 Otherwise, Y is smaller Exit STOP #\$2700 Halt processor at end of program ORG \$1000 X DC.B 4 Y DC.B 5 END \$400 #25 Lec # 2 Winter

26 Example: Comparing Two Memory Blocks This program compares two blocks of memory. If the memory is equal, then FF is stored in address register D0, otherwise, 00 is stored. ORG \$400 Program origin LEA Block1,A0 Point to the beginning of memory block 1 LEA Block2,A1 Point to the beginning of memory block 2 MOVE.W #Size,D0 Store the long word count in size LOOP CMPM.L (A0)+,(A1)+ Compare the long words BNE NotEq Branch if not equal SUBQ.W #1,D0 Otherwise, decrement the count BNE LOOP Go back for another comparison CLR.L D0 Two strings are equal so set MOVE.B #\$FF,D0 D0 to FF BRA Exit NotEq CLR.L D0 Otherwise, set D0 to 00 Exit STOP #\$2700 Size EQU 2 Compare 2 words ORG \$600 Block1 DC.L 'Bloc', 1234' Block 1 ORG \$700 Block2 DC.L 'Bloc', 1234 ' Block 2 END \$400 #26 Lec # 2 Winter

27 Example: Reversing a String This program reverses the contents of a string. Address register A0 points to the beginning of the string Address register A1 points to the end of the string. These pointers move towards each other and swap bytes until the A0 pointer meets or passes A1. Register D0 is used for temporary storage. ORG \$400 Program origin * This section moves the A1 pointer to the end (0 character) of the string LEA String,A1 Point to the beginning of the string Loop1 TST.B (A1)+ Move to the end of the string BNE Loop1 Until the EOS is encountered SUBA #1,A1 Back up to the EOS #27 Lec # 2 Winter

28 Example: Reversing a String (Continued) * This section swaps the bytes at the opposite ends and moves the * pointers towards the middle of the string until they meet. LEA String,A0 Make A0 point to the beginning Loop2 MOVE.B -(A1),D0 CMPA.L A1,A0 Save the bottom byte If A0 has reached or passed A1 BHS Exit Then the string is reversed MOVE.B (A0),(A1) MOVE.B D0,(A0)+ * to the top byte Move the top to the bottom byte Move the previously saved bottom byte BRA Loop2 Loop back for another byte Exit STOP #\$2700 ORG \$1000 String DS.B 128 Reserve up to 128 bytes for the string END \$400 #28 Lec # 2 Winter

### The 68000's Instruction Set

The 68000's Instruction Set We have included this appendix to save you the task of having to turn to secondary material when writing 68000 assembly language programs. Since most programmers are not interested

### How It All Works. Other M68000 Updates. Basic Control Signals. Basic Control Signals

CPU Architectures Motorola 68000 Several CPU architectures exist currently: Motorola Intel AMD (Advanced Micro Devices) PowerPC Pick one to study; others will be variations on this. Arbitrary pick: Motorola

### Local workspace of a subroutine: Recursion and recursive subroutines:

Local workspace of a subroutine: A number of temporary memory locations required by the subroutine for temporary private variables used in addition to available data registers. Recursion and recursive

### HC12 Assembly Language Programming

HC12 Assembly Language Programming Programming Model Addressing Modes Assembler Directives HC12 Instructions Flow Charts 1 Assembler Directives In order to write an assembly language program it is necessary

### THUMB Instruction Set

5 THUMB Instruction Set This chapter describes the THUMB instruction set. Format Summary 5-2 Opcode Summary 5-3 5. Format : move shifted register 5-5 5.2 Format 2: add/subtract 5-7 5.3 Format 3: move/compare/add/subtract

### Microcontroller Basics A microcontroller is a small, low-cost computer-on-a-chip which usually includes:

Microcontroller Basics A microcontroller is a small, low-cost computer-on-a-chip which usually includes: An 8 or 16 bit microprocessor (CPU). A small amount of RAM. Programmable ROM and/or flash memory.

### M6800. Assembly Language Programming

M6800 Assembly Language Programming 1 3. MC6802 MICROPROCESSOR MC6802 microprocessor runs in 1MHz clock cycle. It has 64 Kbyte memory address capacity using 16-bit addressing path (A0-A15). The 8-bit data

### Programming the Motorola MC68HC11 Microcontroller

Programming the Motorola MC68HC11 Microcontroller CONTENTS: COMMON PROGRAM INSTRUCTIONS WITH EXAMPLES MEMORY LOCATIONS PORTS SUBROUTINE LIBRARIES PARALLEL I/O CONTROL REGISTER (PIOC) COMMON PROGRAM INSTRUCTIONS

### Representation of Floating Point Numbers in

Representation of Floating Point Numbers in Single Precision IEEE 754 Standard Value = N = (-1) S X 2 E-127 X (1.M) 0 < E < 255 Actual exponent is: e = E - 127 sign 1 8 23 S E M exponent: excess 127 binary

### Decimal, Hexadecimal and Binary Numbers Writing an assembly language program

Decimal, Hexadecimal and Binary Numbers Writing an assembly language program o Disassembly of MC9S12 op codes o Use flow charts to lay out structure of program o Use common flow structures if-then if-then-else

### Lecture 3 Addressing Modes, Instruction Samples, Machine Code, Instruction Execution Cycle

Lecture 3 Addressing Modes, Instruction Samples, Machine Code, Instruction Execution Cycle Contents 3.1. Register Transfer Notation... 2 3.2. HCS12 Addressing Modes... 2 1. Inherent Mode (INH)... 2 2.

### 6800 Basics. By Ruben Gonzalez

6800 Basics By Ruben Gonzalez 6800 Processor Uses 8 bit words Has addressable main memory of 64k Has Memory Mapped I/O and interrupts The 6800 has the following main registers: 8- bit Accumulator A (AccA)

### ... The body: instructions to be executed The terminator

Assembly Language Macros Most assemblers include support for macros. The term macro refers to a word that stands for an entire group of instructions. Using macros in an assembly program involves two steps:

### Module Introduction. CONTENT: - 31 pages - 6 questions. LEARNING TIME: - 60 minutes

Module Introduction PURPOSE: The intent of this module is to present all CPU12 instructions to better prepare you to write short routines in assembly language. OBJECTIVES: - Discuss all CPU12 instruction

### The stack and the stack pointer

The stack and the stack pointer If you google the word stack, one of the definitions you will get is: A reserved area of memory used to keep track of a program's internal operations, including functions,

### Typy danych. Data types: Literals:

Lab 10 MIPS32 Typy danych Data types: Instructions are all 32 bits byte(8 bits), halfword (2 bytes), word (4 bytes) a character requires 1 byte of storage an integer requires 1 word (4 bytes) of storage

### CPU08 Central Processor Unit

CPU08 Central Processor Unit Reference Manual M68HC08 Microcontrollers CPU08RM Rev. 02/2006 freescale.com CPU08 Central Processor Unit Reference Manual To provide the most up-to-date information, the

### U:\montages\dominique\servo\moteur_AV_AR\program\moteur_AV_AR.asm jeudi 28 avril 2011 10:32

Norton Junior Moteur PWM AV - AR pour SLE BRESSUIRE PORTA ------------------------------------------------------- 0 = Entrée Servo 1 = PWM moteur 2 = Strap mode 3 = 4 = 5 = Relay AV - AR \$Include 'C:\pemicro\ics08qtqyz\qtqy_registers.inc'

### Call Subroutine (PC<15:0>) TOS, (W15)+2 W15 (PC<23:16>) TOS, Process data. Write to PC NOP NOP NOP NOP

Section 3. Descriptions CALL Call Subroutine Syntax: {label:} CALL lit23 CALL.S Operands: lit23 [0... 8388606] (PC)+4 PC, (PC) TOS, (W15)+2 W15 (PC) TOS, (W15)+2 W15 lit23 PC, NOP Register.

### Feature of 8086 Microprocessor

8086 Microprocessor Introduction 8086 is the first 16 bit microprocessor which has 40 pin IC and operate on 5volt power supply. which has twenty address limes and works on two modes minimum mode and maximum.

### Programming Model, Address Mode, HC12 Hardware Introduction

EEL 4744C: Microprocessor Applications Lecture 2 Programming Model, Address Mode, HC12 Hardware Introduction Dr. Tao Li 1 Reading Assignment Microcontrollers and Microcomputers: Chapter 3, Chapter 4 Software

### What to do when I have a load/store instruction?

76 What to do when I have a load/store instruction? Is there a label involved or a virtual address to compute? 1 A label (such as ldiq \$T1, a; ldq \$T0, (\$T1);): a Find the address the label is pointing

### An Introduction to Assembly Programming with the ARM 32-bit Processor Family

An Introduction to Assembly Programming with the ARM 32-bit Processor Family G. Agosta Politecnico di Milano December 3, 2011 Contents 1 Introduction 1 1.1 Prerequisites............................. 2

### Binary. ! You are probably familiar with decimal

Arithmetic operations in assembly language Prof. Gustavo Alonso Computer Science Department ETH Zürich alonso@inf.ethz.ch http://www.inf.ethz.ch/department/is/iks/ Binary! You are probably familiar with

### Instruction Set Architecture. or How to talk to computers if you aren t in Star Trek

Instruction Set Architecture or How to talk to computers if you aren t in Star Trek The Instruction Set Architecture Application Compiler Instr. Set Proc. Operating System I/O system Instruction Set Architecture

### The AVR Microcontroller and C Compiler Co-Design Dr. Gaute Myklebust ATMEL Corporation ATMEL Development Center, Trondheim, Norway

The AVR Microcontroller and C Compiler Co-Design Dr. Gaute Myklebust ATMEL Corporation ATMEL Development Center, Trondheim, Norway Abstract High Level Languages (HLLs) are rapidly becoming the standard

### Programmable Logic Controllers

Programmable Logic Controllers Data Handling and Program Control Flow Instructions Dr. D. J. Jackson Lecture 8-1 Move (MOV) This output instruction moves the source value to the destination location. As

### M A S S A C H U S E T T S I N S T I T U T E O F T E C H N O L O G Y DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE

M A S S A C H U S E T T S I N S T I T U T E O F T E C H N O L O G Y DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE 1. Introduction 6.004 Computation Structures β Documentation This handout is

### Instruction Set Architecture

Instruction Set Architecture Consider x := y+z. (x, y, z are memory variables) 1-address instructions 2-address instructions LOAD y (r :=y) ADD y,z (y := y+z) ADD z (r:=r+z) MOVE x,y (x := y) STORE x (x:=r)

### Z80 Instruction Set. Z80 Assembly Language

75 Z80 Assembly Language The assembly language allows the user to write a program without concern for memory addresses or machine instruction formats. It uses symbolic addresses to identify memory locations

### 8085 INSTRUCTION SET

DATA TRANSFER INSTRUCTIONS Opcode Operand Description 8085 INSTRUCTION SET INSTRUCTION DETAILS Copy from source to destination OV Rd, Rs This instruction copies the contents of the source, Rs register

### X86-64 Architecture Guide

X86-64 Architecture Guide For the code-generation project, we shall expose you to a simplified version of the x86-64 platform. Example Consider the following Decaf program: class Program { int foo(int

### Programmer s Model = model of µc useful to view hardware during execution of software instructions

HC12/S12 Programmer s Model Programmer s Model = model of µc useful to view hardware during execution of software instructions Recall: General Microcontroller/Computer Architecture note: Control Unit &

### Instruction Set Architecture (ISA)

Instruction Set Architecture (ISA) * Instruction set architecture of a machine fills the semantic gap between the user and the machine. * ISA serves as the starting point for the design of a new machine

### EECS 427 RISC PROCESSOR

RISC PROCESSOR ISA FOR EECS 427 PROCESSOR ImmHi/ ImmLo/ OP Code Rdest OP Code Ext Rsrc Mnemonic Operands 15-12 11-8 7-4 3-0 Notes (* is Baseline) ADD Rsrc, Rdest 0000 Rdest 0101 Rsrc * ADDI Imm, Rdest

### University of Toronto Faculty of Applied Science and Engineering

Print : First Name :............................. Last Name :............................. Student Number:............................................... University of Toronto Faculty of Applied Science

### 1 Classical Universal Computer 3

Chapter 6: Machine Language and Assembler Christian Jacob 1 Classical Universal Computer 3 1.1 Von Neumann Architecture 3 1.2 CPU and RAM 5 1.3 Arithmetic Logical Unit (ALU) 6 1.4 Arithmetic Logical Unit

### Faculty of Engineering Student Number:

Philadelphia University Student Name: Faculty of Engineering Student Number: Dept. of Computer Engineering Final Exam, First Semester: 2012/2013 Course Title: Microprocessors Date: 17/01//2013 Course No:

### Borland C++ Compiler: Operators

Introduction Borland C++ Compiler: Operators An operator is a symbol that specifies which operation to perform in a statement or expression. An operand is one of the inputs of an operator. For example,

### The Program Counter. Erik Jonsson School of Engineering and Computer Science. The University of Texas at Dallas

1 The Program Counter PC = 0040003c EPC = 00000000 Cause = 00000000 BadVAddr= 00000000 Status = 3000ff10 HI = 00000000 LO = 00000000 General Registers R0 (r0) = 00000000 R8 (t0) = 00000000 R16 (s0) = 00000000

### Introduction to Microcontrollers

Introduction to Microcontrollers Motorola M68HC11 Specs Assembly Programming Language BUFFALO Topics of Discussion Microcontrollers M68HC11 Package & Pinouts Accumulators Index Registers Special Registers

### Instruction Set. Instruction Set Nomenclature: Status Register (SREG) Registers and Operands

Nomenclature: Status Register (SREG) SREG: Status register C: Carry flag in status register Z: Zero flag in status register N: Negative flag in status register V: Two s complement overflow indicator S:

### Sample Problem Set #1 - SOLUTIONS

Sample Problem Set #1 - SOLUTIONS Notes: These problems are typical exam problems; most are drawn from previous homeworks and exams. This exam is open book, open notes. It may help to have a calculator.

### Lab 4 Large Number Arithmetic. ECE 375 Oregon State University Page 29

Lab 4 Large Number Arithmetic ECE 375 Oregon State University Page 29 Objectives Understand and use arithmetic and ALU operations Manipulate and handle large numbers Create and handle functions and subroutines

### PROBLEMS (Cap. 4 - Istruzioni macchina)

98 CHAPTER 2 MACHINE INSTRUCTIONS AND PROGRAMS PROBLEMS (Cap. 4 - Istruzioni macchina) 2.1 Represent the decimal values 5, 2, 14, 10, 26, 19, 51, and 43, as signed, 7-bit numbers in the following binary

### UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180B Lab 7: MISP Processor Design Spring 1995

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering EEC180B Lab 7: MISP Processor Design Spring 1995 Objective: In this lab, you will complete the design of the MISP processor,

### Reduced Instruction Set Computer (RISC)

Reduced Instruction Set Computer (RISC) Focuses on reducing the number and complexity of instructions of the ISA. RISC Goals RISC: Simplify ISA Simplify CPU Design Better CPU Performance Motivated by simplifying

### Freescale Semiconductor, I M68000. 8-/16-/32-Bit Microprocessors User s Manual. Ninth Edition

nc. µ MOTOROLA M68000 8-/16-/32-Bit Microprocessors User s Manual Ninth Edition Motorola reserves the right to make changes without further notice to any products herein. Motorola makes no warranty, representation

### MACHINE ARCHITECTURE & LANGUAGE

in the name of God the compassionate, the merciful notes on MACHINE ARCHITECTURE & LANGUAGE compiled by Jumong Chap. 9 Microprocessor Fundamentals A system designer should consider a microprocessor-based

### Computer Organization and Architecture

Computer Organization and Architecture Chapter 11 Instruction Sets: Addressing Modes and Formats Instruction Set Design One goal of instruction set design is to minimize instruction length Another goal

### PART B QUESTIONS AND ANSWERS UNIT I

PART B QUESTIONS AND ANSWERS UNIT I 1. Explain the architecture of 8085 microprocessor? Logic pin out of 8085 microprocessor Address bus: unidirectional bus, used as high order bus Data bus: bi-directional

### Basic Concepts of Microprocessors

MICROPROCESSOR 8085 Reference Book: Ramesh S. Goankar, Microprocessor Architecture, Programming and Applications with 8085, 5 th Edition, Prentice Hall Week 1 Basic Concept and Ideas about Microprocessor.

### CHAPTER 7: The CPU and Memory

CHAPTER 7: The CPU and Memory The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint slides

### Instruction Set. Instruction Set Nomenclature. Status Register (SREG) Registers and Operands

Instruction Set Nomenclature Status Register (SREG) SREG: Status register C: Carry flag Z: Zero flag N: Negative flag V: Two s complement overflow indicator S: N V, For signed tests H: Half Carry flag

### Jump instructions. Unconditional jumps. Direct jump. do not change flags. Jump

do not change flags. Unconditional jumps Jump Jump instructions near the target label is in the same segment than the jump far jump to another code segment Direct jump jmp label Near jump jmp Stop xor

### ASSEMBLY LANGUAGE PROGRAMMING (6800) (R. Horvath, Introduction to Microprocessors, Chapter 6)

ASSEMBLY LANGUAGE PROGRAMMING (6800) (R. Horvath, Introduction to Microprocessors, Chapter 6) 1 COMPUTER LANGUAGES In order for a computer to be able to execute a program, the program must first be present

### MICROPROCESSOR. Exclusive for IACE Students www.iace.co.in iacehyd.blogspot.in Ph: 9700077455/422 Page 1

MICROPROCESSOR A microprocessor incorporates the functions of a computer s central processing unit (CPU) on a single Integrated (IC), or at most a few integrated circuit. It is a multipurpose, programmable

### ARM Instruction Set. ARM7TDMI-S Data Sheet. Final - Open Access

4 ARM Instruction Set This chapter describes the ARM instruction set. 4.1 Instruction Set Summary 4-2 4.2 The Condition Field 4-5 4.3 Branch and Exchange (BX) 4-6 4.4 Branch and Branch with Link (B, BL)

### CPU Organization and Assembly Language

COS 140 Foundations of Computer Science School of Computing and Information Science University of Maine October 2, 2015 Outline 1 2 3 4 5 6 7 8 Homework and announcements Reading: Chapter 12 Homework:

### Advanced Computer Architecture-CS501. Computer Systems Design and Architecture 2.1, 2.2, 3.2

Lecture Handout Computer Architecture Lecture No. 2 Reading Material Vincent P. Heuring&Harry F. Jordan Chapter 2,Chapter3 Computer Systems Design and Architecture 2.1, 2.2, 3.2 Summary 1) A taxonomy of

### A single register, called the accumulator, stores the. operand before the operation, and stores the result. Add y # add y from memory to the acc

Other architectures Example. Accumulator-based machines A single register, called the accumulator, stores the operand before the operation, and stores the result after the operation. Load x # into acc

### MDRM. MULTOS Developer's Reference Manual. MAO-DOC-TEC-006 v1.50. 2015 MAOSCO Limited. MULTOS is a registered trademark of MULTOS Limited.

MDRM MULTOS Developer's Reference Manual MAO-DOC-TEC-006 v1.50 2015 MAOSCO Limited. MULTOS is a registered trademark of MULTOS Limited. MULTOS Developer s Reference Manual Copyright Copyright 1999 2015

### AN2183. Using FLASH as EEPROM on the MC68HC908GP32. Introduction. Semiconductor Products Sector Application Note

Order this document by /D Semiconductor Products Sector Application Note Using FLASH as EEPROM on the MC68HC908GP32 By Derrick H.J. Klotz Field Applications Engineer Toronto, Canada Introduction This application

### Chapter 7D The Java Virtual Machine

This sub chapter discusses another architecture, that of the JVM (Java Virtual Machine). In general, a VM (Virtual Machine) is a hypothetical machine (implemented in either hardware or software) that directly

### Atmel AVR 8-bit Instruction Set

Atmel AVR 8-bit Instruction Set Instruction Set Nomenclature Status Register (SREG) SREG: Status Register C: Carry Flag Z: Zero Flag N: Negative Flag V: Two s complement overflow indicator S: N V, For

### An Introduction to the ARM 7 Architecture

An Introduction to the ARM 7 Architecture Trevor Martin CEng, MIEE Technical Director This article gives an overview of the ARM 7 architecture and a description of its major features for a developer new

### WHAT IS MACHINE LANGUAGE?

WHAT IS MACHINE LANGUAGE? At the heart of every microcomputer, is a central microprocessor. It's a very special microchip which is the "brain" of the computer. The Commodore 64 is no exception. Every microprocessor

### ARM Cortex-M3 Assembly Language

ARM Cortex-M3 Assembly Language When a high level language compiler processes source code, it generates the assembly language translation of all of the high level code into a processor s specific set of

### Programmer s Model. ARM7TDMI-S Data Sheet. Final - Open Access

3 Programmer s Model This chapter describes the two operating states of the ARM7TDMI-S. 3.1 Processor Operating States 3-2 3.2 Switching State 3-3 3.3 Memory Formats 3-4 3.4 Instruction Length 3-5 3.5

### Interrupts and the Timer Overflow Interrupts Huang Sections 6.1-6.4. What Happens When You Reset the HCS12?

Interrupts and the Timer Overflow Interrupts Huang Sections 6.1-6.4 o Using the Timer Overflow Flag to interrupt a delay o Introduction to Interrupts o How to generate an interrupt when the timer overflows

### MACHINE INSTRUCTIONS AND PROGRAMS

CHAPTER 2 MACHINE INSTRUCTIONS AND PROGRAMS CHAPTER OBJECTIVES In this chapter you will learn about: Machine instructions and program execution, including branching and subroutine call and return operations

### Instruction Set Architecture

CS:APP Chapter 4 Computer Architecture Instruction Set Architecture Randal E. Bryant adapted by Jason Fritts http://csapp.cs.cmu.edu CS:APP2e Hardware Architecture - using Y86 ISA For learning aspects

### BCD (ASCII) Arithmetic. Where and Why is BCD used? Packed BCD, ASCII, Unpacked BCD. BCD Adjustment Instructions AAA. Example

BCD (ASCII) Arithmetic We will first look at unpacked BCD which means strings that look like '4567'. Bytes then look like 34h 35h 36h 37h OR: 04h 05h 06h 07h x86 processors also have instructions for packed

### Section 44. CPU with Extended Data Space (EDS)

Section 44. CPU with Extended Data Space (EDS) HIGHLIGHTS This section of the manual contains the following topics: 44.1 Introduction... 44-2 44.2 Programmer s Model... 44-5 44.3 Software Stack Pointer...

### Comp 255Q - 1M: Computer Organization Lab #3 - Machine Language Programs for the PDP-8

Comp 255Q - 1M: Computer Organization Lab #3 - Machine Language Programs for the PDP-8 January 22, 2013 Name: Grade /10 Introduction: In this lab you will write, test, and execute a number of simple PDP-8

### Computer Science 281 Binary and Hexadecimal Review

Computer Science 281 Binary and Hexadecimal Review 1 The Binary Number System Computers store everything, both instructions and data, by using many, many transistors, each of which can be in one of two

### Chapter 2 Assemblers http://www.intel.com/multi-core/demos.htm

Chapter 2 Assemblers http://www.intel.com/multi-core/demos.htm Source Program Assembler Object Code Linker Executable Code Loader 1 Outline 2.1 Basic Assembler Functions A simple SIC assembler Assembler

### ICS 233 Computer Architecture & Assembly Language

ICS 233 Computer Architecture & Assembly Language Assignment 3 SOLUTION: Procedures in MIPS Assembly Language For the following problems, the table holds C code functions. Assume that the first function

### 5: Ladder Logic - NOTES

5: Ladder Logic - NOTES TOPIC 1: Relay Logic Before going forward, review how a relay works here. Now that you understand the relay function let s look at the way in which relays are typically drawn in

### Complete 8086 instruction set

Page 1 of 53 Complete 8086 instruction set Quick reference: AAA AAD AAM AAS ADC ADD AND CALL CBW CLC CLD CLI CMC CMP CMPSB CMPSW CWD DAA DAS DEC DIV HLT IDIV IMUL IN INC INT INTO I JA JAE JB JBE JC JCXZ

### Instruction Set. Microcontroller Instruction Set. Instructions that Affect Flag Settings (1) The Instruction Set and Addressing Modes

Microcontroller For interrupt response time information, refer to the hardware description chapter. Instructions that ffect Flag Settings (1) Instruction Flag Instruction Flag C OV C C OV C DD X X X CLR

### Introduction to MIPS Assembly Programming

1 / 26 Introduction to MIPS Assembly Programming January 23 25, 2013 2 / 26 Outline Overview of assembly programming MARS tutorial MIPS assembly syntax Role of pseudocode Some simple instructions Integer

### Graded ARM assembly language Examples

Graded ARM assembly language Examples These examples have been created to help students with the basics of Keil s ARM development system. I am providing a series of examples that demonstrate the ARM s

### PIC Microcontroller - 3

- 3 PIC Instruction Set (I) Prof. Yan Luo, UMass Lowell 1 Review: Data Memory Organization Made up of SFRs and GFRs Banking: 7Fh (128) bytes chunks Addressing Modes Direct addressing: 7 bit address (within

### Instruction Set Design

Instruction Set Design Instruction Set Architecture: to what purpose? ISA provides the level of abstraction between the software and the hardware One of the most important abstraction in CS It s narrow,

### Computer organization

Computer organization Computer design an application of digital logic design procedures Computer = processing unit + memory system Processing unit = control + datapath Control = finite state machine inputs

### Demo program from Lecture #1

Registers start MOV total, a ; Make the first number the subtotal ADD total, total, b ; Add the second number to the subtotal ADD total, total, c ; Add the third number to the subtotal ADD total, total,

### CS 16: Assembly Language Programming for the IBM PC and Compatibles

CS 16: Assembly Language Programming for the IBM PC and Compatibles First, a little about you Your name Have you ever worked with/used/played with assembly language? If so, talk about it Why are you taking

### COMPUTER ARCHITECTURE. ALU (2) - Integer Arithmetic

HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK COMPUTER ARCHITECTURE Lecture 11 ALU (2) - Integer Arithmetic Sommersemester 21 Leitung: Prof. Dr. Miroslaw Malek www.informatik.hu-berlin.de/rok/ca

### Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C

Embedded Systems A Review of ANSI C and Considerations for Embedded C Programming Dr. Jeff Jackson Lecture 2-1 Review of ANSI C Topics Basic features of C C fundamentals Basic data types Expressions Selection

### 2) Write in detail the issues in the design of code generator.

COMPUTER SCIENCE AND ENGINEERING VI SEM CSE Principles of Compiler Design Unit-IV Question and answers UNIT IV CODE GENERATION 9 Issues in the design of code generator The target machine Runtime Storage

### Chapter 4 Integer JAVA Virtual Machine

Processor Block Diagram Chapter 4 Integer JAVA Virtual Machine 1 of 14 ECE 357 Register Definitions PC MBR MAR MDR SP LV CPP TOS OPC H Program Counter: Access Data in Method Area Memory Branch Register:

### Chapter 2 Topics. 2.1 Classification of Computers & Instructions 2.2 Classes of Instruction Sets 2.3 Informal Description of Simple RISC Computer, SRC

Chapter 2 Topics 2.1 Classification of Computers & Instructions 2.2 Classes of Instruction Sets 2.3 Informal Description of Simple RISC Computer, SRC See Appendix C for Assembly language information. 2.4

### A Tiny Guide to Programming in 32-bit x86 Assembly Language

CS308, Spring 1999 A Tiny Guide to Programming in 32-bit x86 Assembly Language by Adam Ferrari, ferrari@virginia.edu (with changes by Alan Batson, batson@virginia.edu and Mike Lack, mnl3j@virginia.edu)

### Debugging of Application Programs on Altera s DE-Series Boards. 1 Introduction

Debugging of Application Programs on Altera s DE-Series Boards 1 Introduction This tutorial presents some basic concepts that can be helpful in debugging of application programs written in the Nios II

### Translating C code to MIPS

Translating C code to MIPS why do it C is relatively simple, close to the machine C can act as pseudocode for assembler program gives some insight into what compiler needs to do what's under the hood do

### Char Dec Oct Hex Char Dec Oct Hex Char Dec Oct Hex Char Dec Oct Hex

Table of ASCII Characters This table lists the ASCII characters and their decimal, octal and hexadecimal numbers. Characters which appear as names in parentheses (e.g., (nl)) are non-printing characters.