Assembler Language Macro "Boot Camp" Part 1

Size: px
Start display at page:

Download "Assembler Language Macro "Boot Camp" Part 1"

Transcription

1 Assembler Language Macro "Boot Camp" Part 1 SHARE in Austin March 1-6, 2009 Session 8158 Who am I? Michael Stack, K Cats Consulting Instructor in Computer Science at Northern Illinois University from , including assembler language, data structures (in assembler), and applied systems programming Available Materials Materials described in these two sessions, as well as the Assembler Boot Camp, can be found at Today's Agenda Our First Macro Instruction The Second Version of Our ADD Macro The Macro Programming Language 1-4

2 Our First Macro Instruction In which we simply add two numbers and save the sum Recall the ADD2 Program This was first presented in the third session of the Assembler Boot Camp It adds two binary numbers located in memory and stores the result in a different memory location The version we will use is the one with labels (and USING) Demo Program from Assembler Boot Camp * This program adds two numbers that are taken * from WORD1 and WORD2 in the program. * The sum is stored in WORD3. ADD2 CSECT LR 12,15 Copy addr of 1st inst USING ADD2,12 Tell assembler L 1,WORD1 Load 1st no. into R1 L 2,WORD2 Load 2nd no. into R2 AR 1,2 Get sum in R1 ST 1,WORD3 Store sum BCR B'1111',14 Return to caller WORD1 DC F'4' Fullword initially 4 WORD2 DC F'6' Fullword initially 6 WORD3 DS F Rsrvd only, no init END ADD2 Demo Assembly from Assembler Boot Camp LOC OBJECT CODE SOURCE STATEMENT ADD2 CSECT CF LR 12, USING ADD2, C014 L 1,WORD C018 L 2,WORD A 1A12 AR 1, C 5010 C01C ST 1,WORD FE BCR B'1111', WORD1 DC F'4' WORD2 DC F'6' 00001C WORD3 DS F END ADD2 5-8

3 Our first macro instruction Notice that the "working part" of the program is the four-instruction sequence: L 1,WORD1 Load 1st no. into R1 L 2,WORD2 Load 2nd no. into R2 AR 1,2 Get sum in R1 ST 1,WORD3 Store sum We will use this sequence to create our first macro instruction From now on, we will use mixed case for instructions and operands Our first macro instruction Every macro instruction has four parts A header statement A prototype statement (right after the header) The body A trailer statement The most important part is the body, and the most important part of the body (for now) is the set of model statements These may look like assembler language statements but they are not (picky, picky) Our first macro instruction Here is our first macro definition Macro (header) Add (prototype) L 1,Word1 (model) L 2,Word2 (model) (body of AR 1,2 (model) macro) ST 1,Word3 (model) MEnd (trailer) Macros can be defined within a program (programmer macro), or can be placed in a macro library (library macro) Our first macro instruction The name of the macro is what appears in the "operation" field of the prototype statement In this case, the name is Add We use - or "invoke" - the Add macro by including in our assembler program a statement which specifies the name of the macro in the operation field 9-12

4 Source program before processing the macro instruction... Add2 CSect LR 12,15 Copy addr of 1st inst Using Add2,12 Tell assembler Add, Place sum in Word3 BCR B'1111',14 Return to caller Word1 DC F'4' Fullword initially 4 Word2 DC F'6' Fullword initially 6 Word3 DS F Rsrvd only, no init End Add2 Source program after processing the macro instruction Add2 CSect LR 12,15 Copy addr of 1st inst Using Add2,12 Tell assembler Add, Place sum in Word3 + L 1,Word1 Load 1st no. into R1 + L 2,Word2 Load 2nd no. into R2 + AR 1,2 Get sum in R1 + ST 1,Word3 Store sum BCR B'1111',14 Return to caller Word1 DC F'4' Fullword initially 4 Word2 DC F'6' Fullword initially 6 Word3 DS F Rsrvd only, no init End Add2 What macro processing does The program is "pre-processed" (plus a bit more advanced stuff) by the assembler For any unknown operation code, the assembler first searches previously defined programmer macros, and if that fails then it will search the macro library for a matching definition. What macro processing does When it finds such a definition, it processes it, usually generating assembler source statements from the model statements It is very important to understand that the eventual assembly will include the statements generated by macro expansions These can be seen in the program listing with a '+' to the left of the statement 13-16

5 What macro processing does Here we can see that the resulting object code will be exactly the same as in the Demo without the macro And object code is all that matters What macro processing does "Big deal," you may say - cut-and-paste can accomplish the same thing, right? Sure, when the macro is this simple But there's a lot more to come This was just to get acquainted with the ideas We will shortly be writing "programs" in the macro language, and these will select which assembler statements are generated, and how The Second Version of Our Add Macro In which we add a little complexity A new type of symbol Until now, every symbol has been a label with unchanging and unchangeable values (location, length, etc.) Examples: Data123, HEX, a9 We will call these ordinary symbols Another type of symbol can have a value assigned to it It is called a variable symbol Variable symbols begin with an ampersand & Examples: &X, &Data123, &NUM

6 A new type of symbol The first kind of variable symbol we will use is the symbolic parameter Later we will see the other two kinds: set symbols and system variable symbols Symbolic parameters appear in the operand field of the macro prototype statement When the macro is invoked, values specified in the operand field are assigned to the corresponding symbolic parameters A new type of symbol Symbolic parameters come in two types Positional (we will use these first) Keyword Now let's change our macro definition to have three symbolic parameters, each to be assigned the label of a storage area First will be the label of the first number Second will be the label of the second number Third will be the label of the storage area to hold the result Add Macro with Symbolic Parameters Macro Add &Num1,&Num2,&Result L 1,&Num1 Load 1st no. into R1 L 2,&Num2 Load 2nd no. into R2 AR 1,2 Get sum in R1 ST 1,&Result Store sum MEnd Source program before processing the macro instruction... Add2 CSect LR 12,15 Copy addr of 1st inst Using Add2,12 Tell assembler Add Word1,Word2,Word3 BCR B'1111',14 Return to caller Word1 DC F'4' Fullword initially 4 Word2 DC F'6' Fullword initially 6 Word3 DS F Rsrvd only, no init End Add

7 Source program after processing the macro instruction Add2 CSect LR 12,15 Copy addr of 1st inst Using Add2,12 Tell assembler Add Word1,Word2,Word3 + L 1,Word1 Load 1st no. into R1 + L 2,Word2 Load 2nd no. into R2 + AR 1,2 Get sum in R1 + ST 1,Word3 Store sum BCR B'1111',14 Return to caller Word1 DC F'4' Fullword initially 4 Word2 DC F'6' Fullword initially 6 Word3 DS F Rsrvd only, no init End Add2 Using symbolic parameters We can specify any operand values we wish: Add X,Y,Z Add Val,=F'1',Val The second invocation generates: + L 1,Val Load 1st no. into R1 + L 2,=F'1' Load 2nd no. into R2 + AR 1,2 Get sum in R1 + ST 1,Val Store sum which simply adds 1 to the value at Val (there are much better ways to do this!) Using symbolic parameters If we omit the third operand of Add we get Add Num1,Num2 <-omitted 3rd operand + L 1,Num1 Load 1st no. into R1 + L 2,Num2 Load 2nd no. into R2 + AR 1,2 Get sum in R1 + ST 1, <-error Store sum This error will not be detected during macro processing, but the assembly process will certainly object to a missing operand This demonstrates that the initial value of a symbolic parameter can be the null string Writing comment statements The usual assembler comment statement has an asterisk '*' in column 1 Assembler comments within a macro instruction are displayed as usual These comments are intended to document the generated assembler program Macro comments have '.*' in columns 1 and 2 and are visible only in the macro definition (they never appear in an expansion) These are used to document the macro itself 25-28

8 Labels on the prototype statement It may be useful to have a label on the first executable instruction, perhaps to allow a "branch" to the generated code This is accomplished by placing a variable symbol in the label field of the prototype, then also placing it in the label field of the first executable instruction generated Our next example demonstrates this, as well as both types of comment Add macro with comments Macro &Label Add &Num1,&Num2,&Result.* * * * * * * * * * * * * * * * * * * * * * * *.*.* This macro generates instructions to add two.* fixed point numbers at &Num1 and &Num2, and.* to save the result at &Result.*.* * * * * * * * * * * * * * * * * * * * * * * * * Add two numbers and save the result &Label L 1,&Num1 Load 1st no. into R1 L 2,&Num2 Load 2nd no. into R2 AR 1,2 Get sum in R1 ST 1,&Result Store sum MEnd Source program after processing the macro instruction Add2 CSect LR 12,15 Copy addr of 1st inst Using Add2,12 Tell assembler GoHere Add Word1,Word2,Word3 +* Add two numbers and save the result +GoHere L 1,Word1 Load 1st no. into R1 + L 2,Word2 Load 2nd no. into R2 + AR 1,2 Get sum in R1 + ST 1,Word3 Store sum BCR B'1111',14 Return to caller Word1 DC F'4' Fullword initially 4 Word2 DC F'6' Fullword initially 6 Word3 DS F Rsrvd only, no init End Add2 The Macro Programming Language In which we explore a high level language to 'create' assembler language programs 29-32

9 Macro language program structure Up to this point, the assembler code produced by our macro has been "unconditional" in that the same four model statements have been used This is comparable to a computer program in which the only program structure is a sequence without branches So, we need a "branch" capability, and this will give us conditional assembly Macro language program structure Remember: the purpose of a macro is to generate assembler language statements With "branch in assembly" statements we can add selection (if/then) or iteration (loop) to the assembly process But if we are to "branch," we need to label the destination This kind of label is a sequence symbol Sequence symbols and branching A sequence symbol looks like an ordinary symbol except it is preceeded by a '.' Examples:.Data123,.HERE There are two "branch in assembly" statements which reference sequence symbols (not completely defined here) AGo sequence_symbol AIf (logical_expression)sequence_symbol Sequence symbols and branching An example of the AGo instruction is AGo.there Of course, the label.there must appear somewhere inside the macro Before we can understand the AIf statement we have to understand what is meant by the "logical_expression" part of the operand First we look at arithmetic expressions 33-36

10 Arithmetic expressions (Keep in mind that we are discussing the pre-assembly phase, not assembly) An arithmetic expression is one formed from Self-defining terms (123, 09, etc.) The operators +, -, *, and / Variable symbols (beginning with &) Parentheses for grouping Arithmetic expressions Some examples of arithmetic expressions 5495 (25/4) &ctr+1 (&this*4)-&that &this*(4-&that) We will see much more of these after we encounter the second kind of variable symbol, the set symbol Logical expressions (simplified) A logical expression is one of the following A 0 or 1 Two arithmetic expressions, each enclosed in parentheses, separated by a relational operator (EQ, NE, LT, GT, LE, GE) A character string enclosed in apostrophes, and a symbolic parameter enclosed in apostrophes, separated by a relational operator and all enclosed in apostrophes In all cases, the expression is evaluated to either 0 or 1 The AIf instruction AIf is the conditional branch instruction seq_sym1 AIf (log_exp)seq_sym2 The first sequence symbol (seq_sym1) is in the label field and is optional If the value of the logical expression log_exp is 1, the next statement processed by the assembler is the one which has seq_sym2 in its label field If the value of log_exp is 0, the next statement processed by the assembler is the one after the AIf 37-40

11 The AGo and ANOP instructions AGo is the unconditional branch instruction seq_sym1 AGo seq_sym2 The first sequence symbol (seq_sym1) is in the label field and is optional The next statement processed by the assembler is the one which has seq_sym2 in its label field seq_sym ANOP Simply provides a place for a sequence symbol label (like DS 0H for ordinary symbols) Add macro with AIf and ANOP Macro &Label Add &Num1,&Num2,&Result.* * * * * * * * * * * * * * * * * * * * * * * *.* This version checks for a third parameter..* If it is missing, no instructions are.* generated,thus avoiding assembly errors..* * * * * * * * * * * * * * * * * * * * * * * * &Label DS 0H Label holder AIf ('&Result' EQ '').done L 1,&Num1 Load 1st no. into R1 L 2,&Num2 Load 2nd no. into R2 AR 1,2 Get sum in R1 ST 1,&Result Store sum.done ANOP MEnd Add macro with AIf and ANOP The goal is to not generate any instructions if the third operand is missing &Label has been moved to a DS 0H which is always generated, so any label specified on ADD will be present.done is on an ANOP as a demonstration, but could as easily have been on MEnd Macro messages The MNote instruction can provide: the programmer with an error or informational message within the expansion a candidate for the assembly return code seq_sym MNote [code,]'message' If code is an asterisk or is omitted along with the comma, this is an informational message If code is omitted and comma is present, a default code of 1 is used If code is present, it is the candidate 41-44

12 The MExit instruction seq_sym MExit Provides an exit for the assembler from any point within a macro definition The assembly is resumed with the next sequential instruction after the instruction that invoked the macro MNote and MExit will be demonstrated in our final Add example What we can expect tomorrow! This is similar to the result for Add2, except that it uses the RX add A instead of AR * Add (Word1,Word2),Word3 + L 1,Word1 Increment binary part of sum + A 1,Word2 Increment binary part of sum + ST 1,Word3 Save result... * Word1 DC F'4' Word2 DC F'6' Word3 DS F * What we can expect tomorrow! AddDemo Add (One,Two,Three,Two,Three,One),Three +AddDemo L 1,One Increment binary part of sum + AH 1,Two Increment binary part of sum + ZAP DWrd0009,Three Increment decimal part of sum + AH 1,Two Increment binary part of sum + AP DWrd0009,Three Increment decimal part of sum + A 1,One Increment binary part of sum + CVB 0,DWrd0009 Get binary sum of dec summands + AR 1,0 Add to sum of binary summands + CVD 1,DWrd0009 Get decimal sum of summands + ZAP Three,DWrd0009 Copy to target + B DWrd Branch around doubleword +DWrd0009 DS D Scratch area... * One DC F'1' Two DC H'2' Three DC PL2'3' 45-48

Assembler Language Macro "Boot Camp" Part 2

Assembler Language Macro Boot Camp Part 2 Assembler Language Macro "Boot Camp" Part 2 SHARE in Austin March 1-6, 2009 Session 8159 Who am I? Michael Stack, K Cats Consulting Instructor in Computer Science at Northern Illinois University from 1982-2007,

More information

Assembler Language Macro "Boot Camp" Part 2. SHARE in Austin March 1-6, 2009 Session 8159

Assembler Language Macro Boot Camp Part 2. SHARE in Austin March 1-6, 2009 Session 8159 Assembler Language Macro "Boot Camp" Part 2 SHARE in Austin March 1-6, 2009 Session 8159 1 Who am I? Michael Stack, K Cats Consulting Instructor in Computer Science at Northern Illinois University from

More information

Assembler Language "Boot Camp" Part 3 - Assembly and Execution; Branching SHARE 115 in Boston August 3, 2009

Assembler Language Boot Camp Part 3 - Assembly and Execution; Branching SHARE 115 in Boston August 3, 2009 Assembler Language "Boot Camp" Part 3 - Assembly and Execution; Branching SHARE 115 in Boston August 3, 2009 Introduction Who are we? John Ehrman, IBM Software Group Dan Greiner, IBM Systems & Technology

More information

Assembler Language "Boot Camp" Part 2 - Instructions and Addressing. SHARE 118 in Atlanta Session March 12, 2012

Assembler Language Boot Camp Part 2 - Instructions and Addressing. SHARE 118 in Atlanta Session March 12, 2012 Assembler Language "Boot Camp" Part 2 - Instructions and Addressing SHARE 118 in Atlanta Session 10345 March 12, 2012 1 Introduction Who are we? John Ehrman, IBM Software Group Dan Greiner, IBM Systems

More information

Assembler Language "Boot Camp" Part 2 - Instructions and Addressing SHARE 116 in Anaheim February 28, 2011

Assembler Language Boot Camp Part 2 - Instructions and Addressing SHARE 116 in Anaheim February 28, 2011 Assembler Language "Boot Camp" Part 2 - Instructions and Addressing SHARE 116 in Anaheim February 28, 2011 Introduction Who are we? John Ehrman, IBM Software Group John Dravnieks, IBM Software Group Dan

More information

Assembler Language "Boot Camp" Part 4 - Program Structures; Arithmetic. SHARE 118 in Atlanta Session March 14, 2012

Assembler Language Boot Camp Part 4 - Program Structures; Arithmetic. SHARE 118 in Atlanta Session March 14, 2012 Assembler Language "Boot Camp" Part 4 - Program Structures; Arithmetic SHARE 118 in Atlanta Session 10347 March 14, 2012 1 Introduction Who are we? John Ehrman, IBM Software Group Dan Greiner, IBM Systems

More information

Assembler Language "Boot Camp" Part 4 - Program Structures; Arithmetic SHARE 116 in Anaheim March 2, 2011

Assembler Language Boot Camp Part 4 - Program Structures; Arithmetic SHARE 116 in Anaheim March 2, 2011 Assembler Language "Boot Camp" Part 4 - Program Structures; Arithmetic SHARE 116 in Anaheim March 2, 2011 Introduction Who are we? John Ehrman, IBM Software Group John Dravnieks, IBM Software Group Dan

More information

Assembler Language "Boot Camp" Part 4 - Arithmetic; Program Structures SHARE in San Francisco August 18-23, 2002 Session 8184

Assembler Language Boot Camp Part 4 - Arithmetic; Program Structures SHARE in San Francisco August 18-23, 2002 Session 8184 Assembler Language "Boot Camp" Part 4 - Arithmetic; Program Structures SHARE in San Francisco August 18-23, 2002 Session 8184 1 Introduction Who are we? John Dravnieks, IBM Australia John Ehrman, IBM Silicon

More information

Assembler Language "Boot Camp" Part 3x - Implicit Addresses and USING SHARE in New York City August 15-20, 2004 Session 8188

Assembler Language Boot Camp Part 3x - Implicit Addresses and USING SHARE in New York City August 15-20, 2004 Session 8188 Assembler Language "Boot Camp" Part 3x - Implicit Addresses and USING SHARE in New York City August 15-20, 2004 Session 8188 1 Introduction Who are we? John Dravnieks, IBM Australia John Ehrman, IBM Silicon

More information

Data Definition, Movement, and Comparison

Data Definition, Movement, and Comparison Topics covered include: Data Definition, Movement, and Comparison 1. Data Definition: the DS and DC statements. 2. The use of literals as statements to define constants. 3. Data movement commands 4. Data

More information

Chapter 6 What's this Stuff on the Left?

Chapter 6 What's this Stuff on the Left? Chapter 6 What's this Stuff on the Left? Objectives Upon completion of this chapter you will be able to: Describe the SI instruction format as used with the MVI and CLI instructions, Describe the SS instruction

More information

Control Flow. September 2, Indiana University. Geoffrey Brown, Bryce Himebaugh 2015 September 2, / 21

Control Flow. September 2, Indiana University. Geoffrey Brown, Bryce Himebaugh 2015 September 2, / 21 Control Flow Geoffrey Brown Bryce Himebaugh Indiana University September 2, 2016 Geoffrey Brown, Bryce Himebaugh 2015 September 2, 2016 1 / 21 Outline Condition Codes C Relational Operations C Logical

More information

Chapter 7: Assembler Directives and Data Definitions

Chapter 7: Assembler Directives and Data Definitions Chapter 7: Assembler Directives and Data Definitions We begin the discussion of IBM Mainframe Assembler Language by making a broad distinction. Every program to be processed on a computer begins in a form

More information

Assembler Language "Boot Camp" Part 5 - Decimal and Logical Instructions. SHARE 117 in Orlando Session 9214 August 11, 2011

Assembler Language Boot Camp Part 5 - Decimal and Logical Instructions. SHARE 117 in Orlando Session 9214 August 11, 2011 Assembler Language "Boot Camp" Part 5 - Decimal and Logical Instructions SHARE 117 in Orlando Session 9214 August 11, 2011 1 Introduction Who are we? John Ehrman, IBM Software Group Dan Greiner, IBM Systems

More information

Assembler Language "Boot Camp" Part 5 - Decimal and Logical Instructions SHARE 116 in Anaheim March 3, 2011

Assembler Language Boot Camp Part 5 - Decimal and Logical Instructions SHARE 116 in Anaheim March 3, 2011 Assembler Language "Boot Camp" Part 5 - Decimal and Logical Instructions SHARE 116 in Anaheim March 3, 2011 Introduction Who are we? John Ehrman, IBM Software Group John Dravnieks, IBM Software Group Dan

More information

Assembler Language "Boot Camp" Part 1 - Numbers and Basic Arithmetic SHARE in San Francisco August 18-23, 2002 Session 8181

Assembler Language Boot Camp Part 1 - Numbers and Basic Arithmetic SHARE in San Francisco August 18-23, 2002 Session 8181 Assembler Language "Boot Camp" Part 1 - Numbers and Basic Arithmetic SHARE in San Francisco August 18-23, 2002 Session 8181 1 Introduction Who are we? John Dravnieks, IBM Australia John Ehrman, IBM Silicon

More information

Assembler Language "Boot Camp" Part 1 - Numbers and Basic Arithmetic SHARE 115 in Boston August 1-5, 2010

Assembler Language Boot Camp Part 1 - Numbers and Basic Arithmetic SHARE 115 in Boston August 1-5, 2010 Assembler Language "Boot Camp" Part 1 - Numbers and Basic Arithmetic SHARE 115 in Boston August 1-5, 2010 Introduction Who are we? John Ehrman, IBM Software Group Dan Greiner, IBM Systems & Technology

More information

Data Structures in Assembly Language. Notes and Examples. Spring, 2017

Data Structures in Assembly Language. Notes and Examples. Spring, 2017 CSCI 360 Data Structures in Assembly Language Notes and Examples Spring, 2017 360 Notes 1 of 70 Table of Contents Introduction... 4 Chapter 1 - Job Control Language (JCL)... 5 Assist JCL... 5 JCL for Listing

More information

Control Structures. CIS 118 Intro to LINUX

Control Structures. CIS 118 Intro to LINUX Control Structures CIS 118 Intro to LINUX Basic Control Structures TEST The test utility, has many formats for evaluating expressions. For example, when given three arguments, will return the value true

More information

CSC 220: Computer Organization Unit 12 CPU programming

CSC 220: Computer Organization Unit 12 CPU programming College of Computer and Information Sciences Department of Computer Science CSC 220: Computer Organization Unit 12 CPU programming 1 Instruction set architectures Last time we built a simple, but complete,

More information

Assembler Language "Boot Camp" Part 1 - Numbers and Basic Arithmetic. SHARE 117 in Orlando Session 9210 August 8, 2011

Assembler Language Boot Camp Part 1 - Numbers and Basic Arithmetic. SHARE 117 in Orlando Session 9210 August 8, 2011 Assembler Language "Boot Camp" Part 1 - Numbers and Basic Arithmetic SHARE 117 in Orlando Session 9210 August 8, 2011 1 Introduction Who are we? John Ehrman, IBM Software Group Dan Greiner, IBM Systems

More information

Enhancing the CNOP Instruction

Enhancing the CNOP Instruction Enhancing the CNOP Instruction The CNOP instruction and how it has been enhanced by APAR PI17455 Author: Jeremy Stone stonejn@uk.ibm.com Page 1 Copyright IBM (UK) Ltd 2014 Introduction With the introduction

More information

z390 Macro Pseudo Code Support

z390 Macro Pseudo Code Support z390 Macro Pseudo Code Support The z390 macro processor has support for macro pseudo code which is generated in a cache memory buffer during conditional macro code source statement parsing for AGO, AIF,

More information

School of Computer Science CPS109 Course Notes 5 Alexander Ferworn Updated Fall 15

School of Computer Science CPS109 Course Notes 5 Alexander Ferworn Updated Fall 15 Table of Contents 1 INTRODUCTION... 1 2 IF... 1 2.1 BOOLEAN EXPRESSIONS... 3 2.2 BLOCKS... 3 2.3 IF-ELSE... 4 2.4 NESTING... 5 3 SWITCH (SOMETIMES KNOWN AS CASE )... 6 3.1 A BIT ABOUT BREAK... 7 4 CONDITIONAL

More information

UNIT-IV: MACRO PROCESSOR

UNIT-IV: MACRO PROCESSOR UNIT-IV: MACRO PROCESSOR A Macro represents a commonly used group of statements in the source programming language. A macro instruction (macro) is a notational convenience for the programmer o It allows

More information

Microprocessors & Assembly Language Lab 1 (Introduction to 8086 Programming)

Microprocessors & Assembly Language Lab 1 (Introduction to 8086 Programming) Microprocessors & Assembly Language Lab 1 (Introduction to 8086 Programming) Learning any imperative programming language involves mastering a number of common concepts: Variables: declaration/definition

More information

ECE 3210 Lab 4: Calculator

ECE 3210 Lab 4: Calculator ECE 3210 Lab 4: Calculator Fall 2017 1 Objective In this lab, you will develop an complete assembly program that takes an user input, performs data operations, and produces the expected output. After finishing

More information

Comparison InstruCtions

Comparison InstruCtions Status Flags Now it is time to discuss what status flags are available. These five status flags are kept in a special register called the Program Status Register (PSR). The PSR also contains other important

More information

ECE 30 Introduction to Computer Engineering

ECE 30 Introduction to Computer Engineering ECE 30 Introduction to Computer Engineering Study Problems, Set #3 Spring 2015 Use the MIPS assembly instructions listed below to solve the following problems. arithmetic add add sub subtract addi add

More information

Subroutine Linkage Wheeler Jump control program

Subroutine Linkage Wheeler Jump control program Subroutine Linkage We now begin discussion of subroutine linkages for simple subroutines without large argument blocks. With the mechanisms discussed in this lecture, one can use either global variables

More information

Fundamentals of Programming Session 4

Fundamentals of Programming Session 4 Fundamentals of Programming Session 4 Instructor: Reza Entezari-Maleki Email: entezari@ce.sharif.edu 1 Fall 2011 These slides are created using Deitel s slides, ( 1992-2010 by Pearson Education, Inc).

More information

ARM Cortex-M4 Architecture and Instruction Set 3: Branching; Data definition and memory access instructions

ARM Cortex-M4 Architecture and Instruction Set 3: Branching; Data definition and memory access instructions ARM Cortex-M4 Architecture and Instruction Set 3: Branching; Data definition and memory access instructions M J Brockway February 17, 2016 Branching To do anything other than run a fixed sequence of instructions,

More information

High Level Assembler Exits

High Level Assembler Exits High Level Assembler Exits Practical examples of invoking High Level Assembler exits and why they are useful by ColeSoft, a leader in all things assembler Introduction Today we will talk about modifying

More information

2.2 THE MARIE Instruction Set Architecture

2.2 THE MARIE Instruction Set Architecture 2.2 THE MARIE Instruction Set Architecture MARIE has a very simple, yet powerful, instruction set. The instruction set architecture (ISA) of a machine specifies the instructions that the computer can perform

More information

Assembler Programming

Assembler Programming 31-Bit Mode - Assembler Programming... 13:3 4095 - Limit... 4:17 A ACB: Access Method Control Block...10:2-3 Access Method... 6:1 Add Instructions - A, AR, and AH... 4:8 Addressability... 1:9 Addressing...

More information

Computer Architecture 2/26/01 Lecture #

Computer Architecture 2/26/01 Lecture # Computer Architecture 2/26/01 Lecture #9 16.070 On a previous lecture, we discussed the software development process and in particular, the development of a software architecture Recall the output of the

More information

SOURCE LANGUAGE DESCRIPTION

SOURCE LANGUAGE DESCRIPTION 1. Simple Integer Language (SIL) SOURCE LANGUAGE DESCRIPTION The language specification given here is informal and gives a lot of flexibility for the designer to write the grammatical specifications to

More information

CHAPTER SEVEN PROGRAMMING THE BASIC COMPUTER

CHAPTER SEVEN PROGRAMMING THE BASIC COMPUTER CHAPTER SEVEN 71 Introduction PROGRAMMING THE BASIC COMPUTER A computer system as it was mentioned before in chapter 1, it is subdivided into two functional parts: 1 Hardware, which consists of all physical

More information

Chapter 18: Writing Macros

Chapter 18: Writing Macros Chapter 18: Writing Macros This lecture will focus on writing macros, and use stack handling as an example of macro use. Macros differ from standard subroutines and functions. Functions and subroutines

More information

Chapter 8: Addressing in the IBM S/370

Chapter 8: Addressing in the IBM S/370 Chapter 8: Addressing in the IBM S/370 All stored program computers run programs that have been converted to binary machine code and loaded into the primary memory. The presence of virtual memory on most

More information

Controlling Macro Flow

Controlling Macro Flow 30 Controlling Macro Flow Control Statement Overview, 30-2 IF, ELSEIF, ELSE,, 30-2 DO,, 30-3 WHILE, ENDWHILE, 30-4 NEXT, 30-5 BREAK, 30-5 GOTO, MLABEL, 30-6 Invoking Macros from Within Macros, 30-7 CALL,

More information

Name :. Roll No. :... Invigilator s Signature : INTRODUCTION TO PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70

Name :. Roll No. :... Invigilator s Signature : INTRODUCTION TO PROGRAMMING. Time Allotted : 3 Hours Full Marks : 70 Name :. Roll No. :..... Invigilator s Signature :.. 2011 INTRODUCTION TO PROGRAMMING Time Allotted : 3 Hours Full Marks : 70 The figures in the margin indicate full marks. Candidates are required to give

More information

Template Language and Syntax Reference

Template Language and Syntax Reference APPENDIX B This chapter describes the language and syntax conventions used in the VPN Solutions Center template implementation. Grammar and Syntax The Extensible Markup Language (XML) template definition

More information

PSD1C SYSTEM SOFTWAE UNIT: I - V PSD1C SYSTEM SOFTWARE

PSD1C SYSTEM SOFTWAE UNIT: I - V PSD1C SYSTEM SOFTWARE PSD1C SYSTEM SOFTWAE UNIT: I - V 1 Syllabus Unit-I Language Processors Types of Language Processors Language Processing Activities Fundamentals of Language Processing Language Specification Data Structures

More information

2. ADDRESSING METHODS

2. ADDRESSING METHODS 2 Addressing Methods STUDY MATERIALS ON COMPUTER ORGANIZATION (As per the curriculum of Third semester BSc Electronics of Mahatma Gandh Uniiversity) Compiled by Sam Kollannore U Lecturer in Electronics

More information

Saving Your Caller's Registers - Not Your Father's Save Area

Saving Your Caller's Registers - Not Your Father's Save Area Saving Your Caller's Registers - Not Your Father's Save Area Tom Marchant Compuware thomas.marchant@compuware.com Tuesday, August 7, 2012 Session 11408 1 Acknowledgments Peter Relson, z/os Core Technology

More information

CS107 Handout 13 Spring 2008 April 18, 2008 Computer Architecture: Take II

CS107 Handout 13 Spring 2008 April 18, 2008 Computer Architecture: Take II CS107 Handout 13 Spring 2008 April 18, 2008 Computer Architecture: Take II Example: Simple variables Handout written by Julie Zelenski and Nick Parlante A variable is a location in memory. When a variable

More information

Chapter 16: Direct Conversions Between EBCDIC and Fullword Formats

Chapter 16: Direct Conversions Between EBCDIC and Fullword Formats Chapter 16: Direct Conversions Between EBCDIC and Fullword Formats This chapter presents a discussion of direct conversions between digits in the EBCDIC format and binary integers stored in the 32 bit

More information

Overview. Introduction to the MIPS ISA. MIPS ISA Overview. Overview (2)

Overview. Introduction to the MIPS ISA. MIPS ISA Overview. Overview (2) Introduction to the MIPS ISA Overview Remember that the machine only understands very basic instructions (machine instructions) It is the compiler s job to translate your high-level (e.g. C program) into

More information

All copyrights reserved - KV NAD, Aluva. Dinesh Kumar Ram PGT(CS) KV NAD Aluva

All copyrights reserved - KV NAD, Aluva. Dinesh Kumar Ram PGT(CS) KV NAD Aluva All copyrights reserved - KV NAD, Aluva Dinesh Kumar Ram PGT(CS) KV NAD Aluva Overview Looping Introduction While loops Syntax Examples Points to Observe Infinite Loops Examples using while loops do..

More information

SHARE Pittsburgh 2014 High Level Assembler Bootcamp (16153, 16154, 16155)

SHARE Pittsburgh 2014 High Level Assembler Bootcamp (16153, 16154, 16155) Richard Cebula IBM HLASM SHARE Pittsburgh 2014 High Level Assembler Bootcamp (16153, 16154, 16155) 2013 IBM Corporation Who am I? Sharuff Morsa HLASM, IBM Hursley, UK Material written by Richard Cebula

More information

Ar r ays and Pointer s

Ar r ays and Pointer s Ar r ays and Pointer s Using Bloodshed Dev-C++ Heejin Park Hanyang University 2 Introduction Arrays Multidimensional Arrays Pointers and Arrays Functions, Arrays, and Pointers Pointer Operations Protecting

More information

CHAPTER ASSEMBLY LANGUAGE PROGRAMMING

CHAPTER ASSEMBLY LANGUAGE PROGRAMMING CHAPTER 2 8051 ASSEMBLY LANGUAGE PROGRAMMING Registers Register are used to store information temporarily: A byte of data to be processed An address pointing to the data to be fetched The vast majority

More information

CprE 288 Introduction to Embedded Systems ARM Assembly Programming: Translating C Control Statements and Function Calls

CprE 288 Introduction to Embedded Systems ARM Assembly Programming: Translating C Control Statements and Function Calls CprE 288 Introduction to Embedded Systems ARM Assembly Programming: Translating C Control Statements and Function Calls Instructors: Dr. Phillip Jones 1 Announcements Final Projects Projects: Mandatory

More information

ARM Shift Operations. Shift Type 00 - logical left 01 - logical right 10 - arithmetic right 11 - rotate right. Shift Amount 0-31 bits

ARM Shift Operations. Shift Type 00 - logical left 01 - logical right 10 - arithmetic right 11 - rotate right. Shift Amount 0-31 bits ARM Shift Operations A novel feature of ARM is that all data-processing instructions can include an optional shift, whereas most other architectures have separate shift instructions. This is actually very

More information

Conditional Control Structures. Dr.T.Logeswari

Conditional Control Structures. Dr.T.Logeswari Conditional Control Structures Dr.T.Logeswari TEST COMMAND test expression Or [ expression ] Syntax Ex: a=5; b=10 test $a eq $b ; echo $? [ $a eq $b] ; echo $? 2 Unix Shell Programming - Forouzan 2 TEST

More information

Computer Architecture 1 ح 303

Computer Architecture 1 ح 303 Lecture 4 A. Addressing MODES 1. Introduction to assembly language programming: Program is a sequence of commands used to tell a microcomputer what to do. Each command in a program is an instruction Programs

More information

Announcements HW1 is due on this Friday (Sept 12th) Appendix A is very helpful to HW1. Check out system calls

Announcements HW1 is due on this Friday (Sept 12th) Appendix A is very helpful to HW1. Check out system calls Announcements HW1 is due on this Friday (Sept 12 th ) Appendix A is very helpful to HW1. Check out system calls on Page A-48. Ask TA (Liquan chen: liquan@ece.rutgers.edu) about homework related questions.

More information

Macro Programming Reference Guide. Copyright 2005 Scott Martinez

Macro Programming Reference Guide. Copyright 2005 Scott Martinez Macro Programming Reference Guide Copyright 2005 Scott Martinez Section 1. Section 2. Section 3. Section 4. Section 5. Section 6. Section 7. What is macro programming What are Variables What are Expressions

More information

Raspberry Pi / ARM Assembly. OrgArch / Fall 2018

Raspberry Pi / ARM Assembly. OrgArch / Fall 2018 Raspberry Pi / ARM Assembly OrgArch / Fall 2018 The Raspberry Pi uses a Broadcom System on a Chip (SoC), which is based on an ARM CPU. https://en.wikipedia.org/wiki/arm_architecture The 64-bit ARM processor

More information

Chapter 2: Instructions:

Chapter 2: Instructions: Chapter 2: Instructions: Language of the Computer Computer Architecture CS-3511-2 1 Instructions: To command a computer s hardware you must speak it s language The computer s language is called instruction

More information

CS 61C: Great Ideas in Computer Architecture. MIPS Instruction Formats

CS 61C: Great Ideas in Computer Architecture. MIPS Instruction Formats CS 61C: Great Ideas in Computer Architecture MIPS Instruction Formats Instructor: Justin Hsia 6/27/2012 Summer 2012 Lecture #7 1 Review of Last Lecture New registers: $a0-$a3, $v0-$v1, $ra, $sp Also: $at,

More information

DATABASE AUTOMATION USING VBA (ADVANCED MICROSOFT ACCESS, X405.6)

DATABASE AUTOMATION USING VBA (ADVANCED MICROSOFT ACCESS, X405.6) Technology & Information Management Instructor: Michael Kremer, Ph.D. Database Program: Microsoft Access Series DATABASE AUTOMATION USING VBA (ADVANCED MICROSOFT ACCESS, X405.6) AGENDA 3. Executing VBA

More information

Lecture 5. EEE3410 Microcontroller Applications Department of Electrical Engineering Assembly Language Programming (1)

Lecture 5. EEE3410 Microcontroller Applications Department of Electrical Engineering Assembly Language Programming (1) Department of Electrical Engineering Lecture 5 8051 Assembly Language Programming (1) 1 In this Lecture 8051 programming model Assembly language syntax Operation codes and operands Machine instructions

More information

ISPF Users Boot Camp - Part 2 of 2

ISPF Users Boot Camp - Part 2 of 2 Interactive System Productivity Facility (ISPF) ISPF Users Boot Camp - Part 2 of 2 SHARE 116 Session 8677 Peter Van Dyke IBM Australia SHARE 116, Winter 2011 pvandyke@au1.ibm.com Introduction Our jobs

More information

Lecture 5: Procedure Calls

Lecture 5: Procedure Calls Lecture 5: Procedure Calls Today s topics: Memory layout, numbers, control instructions Procedure calls 1 Memory Organization The space allocated on stack by a procedure is termed the activation record

More information

ECE/CS 3710 Computer Design Lab Lab 2 Mini-MIPS processor Controller modification, memory mapping, assembly code

ECE/CS 3710 Computer Design Lab Lab 2 Mini-MIPS processor Controller modification, memory mapping, assembly code ECE/CS 3710 Computer Design Lab Lab 2 Mini-MIPS processor Controller modification, memory mapping, assembly code Due Tuesday, September 22nd, 2009 Laboratory Objectives Understand and extend a very very

More information

Problem Solving in C. Stepwise Refinement. ...but can stop refining at a higher level of abstraction. Same basic constructs. as covered in Chapter 6

Problem Solving in C. Stepwise Refinement. ...but can stop refining at a higher level of abstraction. Same basic constructs. as covered in Chapter 6 Problem Solving in C Stepwise Refinement as covered in Chapter 6...but can stop refining at a higher level of abstraction. Same basic constructs Sequential -- C statements Conditional -- if-else, switch

More information

Chapter 13. The ISA of a simplified DLX Why use abstractions?

Chapter 13. The ISA of a simplified DLX Why use abstractions? Chapter 13 The ISA of a simplified DLX In this chapter we describe a specification of a simple microprocessor called the simplified DLX. The specification is called an instruction set architecture (ISA).

More information

ENGN1640: Design of Computing Systems Topic 03: Instruction Set Architecture Design

ENGN1640: Design of Computing Systems Topic 03: Instruction Set Architecture Design ENGN1640: Design of Computing Systems Topic 03: Instruction Set Architecture Design Professor Sherief Reda http://scale.engin.brown.edu School of Engineering Brown University Spring 2016 1 ISA is the HW/SW

More information

SHARE Anaheim 2014 High Level Assembler Bootcamp (15250, 15251, 15252)

SHARE Anaheim 2014 High Level Assembler Bootcamp (15250, 15251, 15252) Richard Cebula IBM HLASM SHARE Anaheim 2014 High Level Assembler Bootcamp (15250, 15251, 15252) 2009 IBM Corporation 2013 IBM Corporation HLASM Structured Programming The location counter and USINGs 2

More information

A control expression must evaluate to a value that can be interpreted as true or false.

A control expression must evaluate to a value that can be interpreted as true or false. Control Statements Control Expressions A control expression must evaluate to a value that can be interpreted as true or false. How a control statement behaves depends on the value of its control expression.

More information

Introduction to Perl. c Sanjiv K. Bhatia. Department of Mathematics & Computer Science University of Missouri St. Louis St.

Introduction to Perl. c Sanjiv K. Bhatia. Department of Mathematics & Computer Science University of Missouri St. Louis St. Introduction to Perl c Sanjiv K. Bhatia Department of Mathematics & Computer Science University of Missouri St. Louis St. Louis, MO 63121 Contents 1 Introduction 1 2 Getting started 1 3 Writing Perl scripts

More information

Mainframe Operating Systems Boot Camp

Mainframe Operating Systems Boot Camp Robert Rannie Milica Kozomara Northern Illinois University - DeKalb, IL Texas Instruments - Dallas, TX Our Agenda for the Week Mainframe Operating Systems Boot Camp SVCs and More SVCs Part 3 Session #2897

More information

Topic 10: Instruction Representation

Topic 10: Instruction Representation Topic 10: Instruction Representation CSE 30: Computer Organization and Systems Programming Summer Session II Dr. Ali Irturk Dept. of Computer Science and Engineering University of California, San Diego

More information

Object oriented programming. Instructor: Masoud Asghari Web page: Ch: 3

Object oriented programming. Instructor: Masoud Asghari Web page:   Ch: 3 Object oriented programming Instructor: Masoud Asghari Web page: http://www.masses.ir/lectures/oops2017sut Ch: 3 1 In this slide We follow: https://docs.oracle.com/javase/tutorial/index.html Trail: Learning

More information

VISUAL GUIDE to. RX Scripting. for Roulette Xtreme - System Designer 2.0. L J Howell UX Software Ver. 1.0

VISUAL GUIDE to. RX Scripting. for Roulette Xtreme - System Designer 2.0. L J Howell UX Software Ver. 1.0 VISUAL GUIDE to RX Scripting for Roulette Xtreme - System Designer 2.0 L J Howell UX Software 2009 Ver. 1.0 TABLE OF CONTENTS INTRODUCTION...ii What is this book about?... iii How to use this book... iii

More information

Review of the C Programming Language for Principles of Operating Systems

Review of the C Programming Language for Principles of Operating Systems Review of the C Programming Language for Principles of Operating Systems Prof. James L. Frankel Harvard University Version of 7:26 PM 4-Sep-2018 Copyright 2018, 2016, 2015 James L. Frankel. All rights

More information

Branch Instructions. R type: Cond

Branch Instructions. R type: Cond Branch Instructions Standard branch instructions, B and BL, change the PC based on the PCR. The next instruction s address is found by adding a 24-bit signed 2 s complement immediate value

More information

CS251 Programming Languages Handout # 29 Prof. Lyn Turbak March 7, 2007 Wellesley College

CS251 Programming Languages Handout # 29 Prof. Lyn Turbak March 7, 2007 Wellesley College CS5 Programming Languages Handout # 9 Prof. Lyn Turbak March, 00 Wellesley College Postfix: A Simple Stack Language Several exercises and examples in this course will involve the Postfix mini-language.

More information

Programming for Engineers Introduction to C

Programming for Engineers Introduction to C Programming for Engineers Introduction to C ICEN 200 Spring 2018 Prof. Dola Saha 1 Simple Program 2 Comments // Fig. 2.1: fig02_01.c // A first program in C begin with //, indicating that these two lines

More information

Chapter 2 Instruction Set Architecture

Chapter 2 Instruction Set Architecture Chapter 2 Instruction Set Architecture Course Outcome (CO) - CO2 Describe the architecture and organization of computer systems Program Outcome (PO) PO1 Apply knowledge of mathematics, science and engineering

More information

Lecture 4: MIPS Instruction Set

Lecture 4: MIPS Instruction Set Lecture 4: MIPS Instruction Set No class on Tuesday Today s topic: MIPS instructions Code examples 1 Instruction Set Understanding the language of the hardware is key to understanding the hardware/software

More information

Chapter 3. Z80 Instructions & Assembly Language. Von Neumann Architecture. Memory. instructions. program. data

Chapter 3. Z80 Instructions & Assembly Language. Von Neumann Architecture. Memory. instructions. program. data Von Neumann Architecture The von Neumann architecture is a computer design model that uses a processing unit and a separate storage to hold both instructions and data To run a machine, program and data

More information

Computer System. Hiroaki Kobayashi 7/25/2011. Agenda. Von Neumann Model Stored-program instructions and data are stored on memory

Computer System. Hiroaki Kobayashi 7/25/2011. Agenda. Von Neumann Model Stored-program instructions and data are stored on memory Computer System Hiroaki Kobayashi 7/25/2011 7/25/2011 Computer Engineering 1 Agenda Basic model of modern computer systems Von Neumann Model Stored-program instructions and data are stored on memory Fundamental

More information

Vint Cerf - UCLA. Eric Harslem - Rand. John Heafner - Rand NIC Updates: None THE DATA RECONFIGURATION SERVICE --

Vint Cerf - UCLA. Eric Harslem - Rand. John Heafner - Rand NIC Updates: None THE DATA RECONFIGURATION SERVICE -- Vint Cerf - UCLA Eric Harslem - Rand RFC 194 NIC 7139 Category: D.4 Updates: None Obsoletes: None John Heafner - Rand Bob Metcalfe - MIT Jim White - UCSB THE DATA RECONFIGURATION SERVICE -- COMPILER/INTERPRETER

More information

CSE 230 Intermediate Programming in C and C++ Functions

CSE 230 Intermediate Programming in C and C++ Functions CSE 230 Intermediate Programming in C and C++ Functions Fall 2017 Stony Brook University Instructor: Shebuti Rayana shebuti.rayana@stonybrook.edu http://www3.cs.stonybrook.edu/~cse230/ Concept of Functions

More information

CS 112 Introduction to Computing II. Wayne Snyder Computer Science Department Boston University

CS 112 Introduction to Computing II. Wayne Snyder Computer Science Department Boston University CS 112 Introduction to Computing II Wayne Snyder Department Boston University Today: Java expressions and operators concluded Java Statements: Conditionals: if/then, if/then/else Loops: while, for Next

More information

Type RS Instruction Format This is a four byte instruction of the form OP R1,R3,D2(B2). Type Bytes Operands RS 4 R1,R3,D2(B2) OP R 1 R 3 B 2

Type RS Instruction Format This is a four byte instruction of the form OP R1,R3,D2(B2). Type Bytes Operands RS 4 R1,R3,D2(B2) OP R 1 R 3 B 2 Type RS Instruction Format This is a four byte instruction of the form OP R1,R3,D2(B2). Type Bytes Operands 1 2 3 4 RS 4 R1,R3,D2(B2) OP R 1 R 3 B 2 D 2 D 2 D 2 The first byte contains the 8 bit instruction

More information

Fundamentals of Programming. Lecture 3: Introduction to C Programming

Fundamentals of Programming. Lecture 3: Introduction to C Programming Fundamentals of Programming Lecture 3: Introduction to C Programming Instructor: Fatemeh Zamani f_zamani@ce.sharif.edu Sharif University of Technology Computer Engineering Department Outline A Simple C

More information

Macro. simple idea of textual substitution useful when you need a group of instructions or directives frequently.

Macro. simple idea of textual substitution useful when you need a group of instructions or directives frequently. Macro simple idea of textual substitution useful when you need a group of instructions or directives frequently. a programming language with a quite different feel than C, Java, etc.: textual substitution

More information

Lecture 20: AVR Programming, Continued. AVR Program Visible State (ones we care about for now)

Lecture 20: AVR Programming, Continued. AVR Program Visible State (ones we care about for now) 18 100 Lecture 20: AVR Programming, Continued S 15 L20 1 James C. Hoe Dept of ECE, CMU April 2, 2015 Today s Goal: You will all be ace AVR hackers! Announcements: Midterm 2 can be picked up in lab and

More information

A Big Step. Shell Scripts, I/O Redirection, Ownership and Permission Concepts, and Binary Numbers

A Big Step. Shell Scripts, I/O Redirection, Ownership and Permission Concepts, and Binary Numbers A Big Step Shell Scripts, I/O Redirection, Ownership and Permission Concepts, and Binary Numbers Copyright 2006 2009 Stewart Weiss What a shell really does Here is the scoop on shells. A shell is a program

More information

Assembly language Simple, regular instructions building blocks of C, Java & other languages Typically one-to-one mapping to machine language

Assembly language Simple, regular instructions building blocks of C, Java & other languages Typically one-to-one mapping to machine language Assembly Language Readings: 2.1-2.7, 2.9-2.10, 2.14 Green reference card Assembly language Simple, regular instructions building blocks of C, Java & other languages Typically one-to-one mapping to machine

More information

LESSON 6 FLOW OF CONTROL

LESSON 6 FLOW OF CONTROL LESSON 6 FLOW OF CONTROL This lesson discusses a variety of flow of control constructs. The break and continue statements are used to interrupt ordinary iterative flow of control in loops. In addition,

More information

Talen en Compilers. Johan Jeuring , period 2. December 15, Department of Information and Computing Sciences Utrecht University

Talen en Compilers. Johan Jeuring , period 2. December 15, Department of Information and Computing Sciences Utrecht University Talen en Compilers 2016-2017, period 2 Johan Jeuring Department of Information and Computing Sciences Utrecht University December 15, 2016 9 Simple stack machine 9-1 Recap: Semantic functions In the previous

More information

PACKED DECIMAL ARITHMETIC

PACKED DECIMAL ARITHMETIC PACKED DECIMAL ARITHMETIC Packed decimal is a convenient format for doing many arithmetic calculations in assembly language for several reasons: 1) All computations occur in integer arithmetic (no decimals,

More information

EE 5340/7340 Motorola 68HC11 Microcontroler Lecture 1. Carlos E. Davila, Electrical Engineering Dept. Southern Methodist University

EE 5340/7340 Motorola 68HC11 Microcontroler Lecture 1. Carlos E. Davila, Electrical Engineering Dept. Southern Methodist University EE 5340/7340 Motorola 68HC11 Microcontroler Lecture 1 Carlos E. Davila, Electrical Engineering Dept. Southern Methodist University What is Assembly Language? Assembly language is a programming language

More information

COMPSCI 313 S Computer Organization. 7 MIPS Instruction Set

COMPSCI 313 S Computer Organization. 7 MIPS Instruction Set COMPSCI 313 S2 2018 Computer Organization 7 MIPS Instruction Set Agenda & Reading MIPS instruction set MIPS I-format instructions MIPS R-format instructions 2 7.1 MIPS Instruction Set MIPS Instruction

More information

(Refer Slide Time: 01:12)

(Refer Slide Time: 01:12) Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #22 PERL Part II We continue with our discussion on the Perl

More information