Part 5,Assembly Language Questions
|
|
- Erica Bryant
- 5 years ago
- Views:
Transcription
1 Part,Assembly Language Questions This study guide is provided as an aid in helping you to study for the ECE Department s 18-4, Fundamentals of Computer Engineering. The guide is a collection of previous test and homework questions for which solutions were handed out. Thus some of these questions are indicative of questions you might find on a test. Since answers are provided for these questions, you can use this guide to get extra practice on course-related problems. The guide consists of several files covering different topics. Please don t infer that this guide is all inclusive in terms of course topics or possible test questions. Further, the topics are distributed among several files. Please don t infer that the first test corresponds to file number one. It probably doesn t. Check with the course announcements regarding topics to be covered on a test. Oh yes, you might find some errors. Please let us know so that we can fix them for others. This file was produced using FrameMaker and saved in PDF format for Adobe Acrobat readers. Acrobat Exchange was used to include hot links between questions and answers..1 Assemble this program Assemble the following program and put your answers in the table shown below. Fill in both columns. Extra space is provided..org $87 LDI BRA R,BLAH there BLAH.DW $7 there XOR R,R
2 address data Some templates for scribbling: Disassemble this code The machine code shown below in the table is to be disassembled into assembly code and shown in the column on the right. The first instruction starts at address $1. (Note, the instructions found in this machine code don t do anything interesting.) 11/11
3 address $1 $11 $1 $14 data $D $E $ $ Your answers Some templates for scribbling: Assembly Language: Stack Stuff The figure shows a stack frame at the start of a subroutine. Several parameters have been passed to the subroutine. Assume that the calling routine has saved all registers. a. What instruction will load parameter A into register? b. Normally you would use STSF to write into the stack frame but not in this problem. Show a few instructions that use STR to write R into parameter D on the stack. Don t write comments like assume <some value> is in register R, then. Rather, write any instructions needed to put needed values into R (or any other register). 1/11
4 SP Return PC passed parameter D passed parameter C passed parameter B passed parameter A other stuff toward address $FFFF.4 Assembly Language Program Execution What value will be in R when you reach the instruction at Done? Explain your answer i.e. which of the branches (if any) did you take why? start LDI R,$1111 PUSH R LDI R,$8888 PUSH R BRZ a BRN b LDI R,$1 BRA Done a MOV R,R DECR R BRA Done b LDSF R,$ Done STOP. Assembly Language: Linked List A linked list is a data structure used to represent an ordered list of information. The list is made up of elements which contain several words of memory. The elements in our list (see below) are made up of two consecutive words in memory. The first word of an element contains the address of the next element in the list. Thus it is a pointer to the first word in the next element in the figure it is shown pointing to the next element. It 1/11
5 contains zero if this is the last element in the list. The second word of an element contains the data being linked. Let s say the first element is at memory location $4. That means the address of the next element is contained in memory location $4, and the data being linked is in memory location $41. If the contents of $4 is $41, then the second element is at $41, its pointer to the next element is contained in $41, and its data is in $411 $4 $41 address of next element data being linked $41 $411 $n $n+1 first element second element last element Do this: Write an assembly language subroutine that will link (insert) a new element at the end of the list, making it the last element. Be sure to put a zero in the address of next element word of the new last element. Assume this: The parameters passed to the subroutine (shown below in the diagram) are the address of the first element of the list, and the address of the new element to be added. Assume there is at least one element in the list already. Registers have been saved. No memory allocation is needed. SP Return PC Address of new element Address of first element other stuff Towards address $FFFF. Assembly Language Program (arrays) Write an assembly language program that searches through an array and places the index of the largest element in a variable called max_index. Assume that the first element in an array has index zero (e.g. example_array[]). You can assume that the start of the array arr_start, and the length of the array arr_length are known. Thus the program structure should look like: 14/11
6 .ORG $1 max_index.dw $ ; this is where the index should be stored arr_length.dw xxx ; length of the array (positive integer) arr_start.dw aaa ; first element of the array (index = ).DW bbb ; second element of the array (index = 1).DW ccc ; third element (index = ) (etc.) start (your program goes here).7 Assembly Language Program (subroutines / stack) Write an assembly language subroutine that swaps the two words that were on top of the stack before the subroutine was called (i.e. just before the JSR instruction was executed). Fill in the pictures of the section of memory containing the stack and the PC and SP registers:(i) just before the subroutine is called, (ii) just after the subroutine is called, (iii) just before it returns from the subroutine, and (iv) just after it returns from the subroutine Swap.ORG $1 LDI R1, $ LDSP R1 LDI R1, $xxxx PUSH R1 LDI R, $yyyy PUSH R JSR Swap POP R POP R1 STOP (put your subroutine code here) (i) Address $FFFE $FFFF $19 $FFFE Memory $yyyy $xxxx 1/11
7 (ii) (iii) (iv) Address Memory Address Memory Address Memory What is the value of the label Swap? 1/11
8 Answers.1 Assemble This Program.ORG $87 LDI BRA R,BLAH there BLAH.DW $7 there XOR R,R Let s look at the important features of this code. The first line uses a.org statement..org is a statement to tell the assembler to place the code that follows into the memory location listed after the statement. In this example, the code will begin at memory location $87. The next line statement LDI uses the format 11 Rd Rd which using R (11) for Rd, gives us the hex value of $C1B. This word goes in memory location $87. The LDI format also requires an immediate value in the next memory location ($871). This word is BLAH, handled by the assembler (using the.dw command) and placed in its own memory location $874. The BRA instruction is placed in memory location $87. The BRA instruction uses memory words, the first is encoded to $8, and the second word (memory location $87) is the address of the conditional branch. This address is $7. Next, as mentioned above comes the.dw statement..dw is an assembler directive to reserve one word of memory (named BLAH) with the contents of $7. Finally, we have the XOR statement. The XOR instruction is a one memory word instruction with the format: 1111 Rd Rs, where Rd = R (11) and Rs = R (11). This gives us the hexadecimal word $1E1D. address data $87 $C1B LDI R, BLAH $871 $7 BLAH $87 $8 BRA there $87 $87 address of there BLAH $874 $7 contents of BLAH there $87 $1E1D XOR R, R 17/11
9 . Disassemble This Code This problem can be solved by looking up the encoded memory words in the instruction set. The instructions are shown below. Note that there are only three instructions. The contents of $11 is the address used for the STA instruction. address $1 $11 $1 $14 data $D $E $ $ Your answers STA $E, R $E LSHL R STOP. Assembly Language: Stack Stuff a. The LDSF (Load stack frame) instruction is used to load a value from the stack. The format of the instruction is LDSF Rd, imm. This instruction will load into Rd from the imm th position (from the stack pointer) in the stack. We want to load parameter A, which is 4 positions down from the stack pointer. We want this instruction in R. Therefore the instruction looks like: LDSF R, $4 (4) b. We can use the STR instruction to place the word in R into parameter D of the stack, but first we must find a way to get the memory location of D into a register. We can do this by storing the stack pointer in R, then incrementing the value in R, which will then hold the memory location of D. The STR instruction stores the value of a register Rs into the memory at location [Rd]. The instructions to perform this task are listed below: STSP R INCR R STR R, R.4 Assembly Language Program Execution start LDI R,$1111 PUSH R LDI R,$8888 PUSH R BRZ a BRN b LDI R,$1 BRA Done a MOV R,R DECR R 18/11
10 BRA Done b LDSF R,$ Done STOP We can figure this problem out by tracing it through one line at a time. The first statement loads the immediate value of 1111 (in hexadecimal) into R. Because the value 1111 is neither or negative, no condition codes are set. Next we push the value onto the stack. The third statement loads the immediate value of 8888 which is a negative number. This statement sets the negative condition code. The push statement loads this value onto the stack, but does not clear the condition code. The BRZ statement is not taken because the Z condition code hasn t been set, and again the condition codes are not changed. However, the next instruction, the BRN statement is taken, because the negative condition code is still set. The branch is taken and the program resumes at b. The next statement loads the Stack s top value into R (which is 8888), and finally the program ends. The final value of R is $ Assembly Language: Linked List start LDSF R, $ ; load the address of the first element into R next LDR R1, R ; R1 <- mem[r]. Load the contents of the element BRZ foundend ; If contents were zero, end of list found. Branch! MOV R, R1 ; If contents were not zero, we end up here. Put BRA next ; address of next element in R. Go to top of loop. foundend ; Come here if you found the end of the loop LDSF R, $1 ;load the address of the new element into R STR R, R ;mem[r] <- R. R still has the address of last ;element. Put new address in it STR R,R1 ;Put zero (still there from the BRZ) into the first ;word of the new element STOP ;done!. Assembly Language Program (arrays) We will use the following registers: R = current index R1 = current pointer R = current element R = array length R4 = max element The numbers in the array are assumed to be s complement integers No error checking is done.org $ BRA start.org $1 max_index.dw $ ;this is where the index should be stored arr_length.dw $ ;length of the array (positive integer) 19/11
11 arr_start.dw $ ;first element of the array (index = ).DW $FFFF ;second element of the array start LDI R, $ ;initialize the current index to STA max_index, R ;initialize the max index to LDI R1, arr_start ;initialize the current pointer LDR R, R1 ;initialize the current element MOV R4, R ;initialize the maximum element LDA R, arr_length ;initialize to the array length loop INCR R1 ;increment current pointer INCR R ;increment current index CMR R, R ;have all elements in array been checked BRZ done LDR R, R1 ;deference pointer to get current element CMR R, R4 ;check current element is larger than max BRN loop ;if not, continue with next element in array MOV R4, R ;update max element STA max_index, R ;update max index BRA loop ;go to next element in array done STOP.7 Assembly Language Program (subroutines/stack) There are two different methods to implement the swap routine. One is to store each member into a register using LDSF, then use STSF to put them back in reverse order. The other is to POP the return address, then each of the two words into three different registers. Then PUSH them back in the new order. Address Memory (i) Swap LDSF R1, $1 LDSF R, $ STSF R1, $ STSF R, $1 RET Swap POP R POP R1 POP R PUSH R1 PUSH R PUSH R RET $FFFE $FFFF $19 $FFFE $yyyy $xxxx 1/11
12 (ii) Address Memory (iii) Address Memory (iv) Address Memory $FFFD $1B $FFFD $1B $FFFE $yyyy $FFFE $xxxx $FFFF $xxxx $FFFF $yyyy $FFFE $FFFF $xxxx $yyyy $1E $FFFD $11 $FFFD $1B $FFFE The stack frames are shown in figures (i) (ii) (iii) and (iv). The value of the label SWAP is $1E. 11/11
Part 2,Number Systems Questions
Part 2,Number Systems Questions This study guide is provided as an aid in helping you to study for the ECE Department s 18-240, Fundamentals of Computer Engineering. The guide is a collection of previous
More informationappendix a The LC-3 ISA A.1 Overview
A.1 Overview The Instruction Set Architecture (ISA) of the LC-3 is defined as follows: Memory address space 16 bits, corresponding to 2 16 locations, each containing one word (16 bits). Addresses are numbered
More informationToday s Menu. >Use the Internal Register(s) >Use the Program Memory Space >Use the Stack >Use global memory
Today s Menu Methods >Use the Internal Register(s) >Use the Program Memory Space >Use the Stack >Use global memory Look into my See examples on web-site: ParamPassing*asm and see Methods in Software and
More informationTrap Vector Table. Interrupt Vector Table. Operating System and Supervisor Stack. Available for User Programs. Device Register Addresses
Chapter 1 The LC-3b ISA 1.1 Overview The Instruction Set Architecture (ISA) of the LC-3b is defined as follows: Memory address space 16 bits, corresponding to 2 16 locations, each containing one byte (8
More informationModule 8: Atmega32 Stack & Subroutine. Stack Pointer Subroutine Call function
Module 8: Atmega32 Stack & Subroutine Stack Pointer Subroutine Call function Stack Stack o Stack is a section of RAM used by the CPU to store information temporarily (i.e. data or address). o The CPU needs
More informationExam I Review February 2017
Exam I Review February 2017 Binary Number Representations Conversion of binary to hexadecimal and decimal. Convert binary number 1000 1101 to hexadecimal: Make groups of 4 bits to convert to hexadecimal,
More information2/6/2018. Let s Act Like Compilers! ECE 220: Computer Systems & Programming. Decompose Finding Absolute Value
University of Illinois at Urbana-Champaign Dept. of Electrical and Computer Engineering ECE 220: Computer Systems & Programming Let s Act Like Compilers! Let s have some fun! Let s pretend to be a C compiler!
More informationCopyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Review Topics
Second Midterm Review Slides Original slides from Gregory Byrd, North Carolina State University Modified slides by Chris Wilcox, Colorado State University Review Topics LC-3 Programming /Stack Execution
More information1/30/2018. Conventions Provide Implicit Information. ECE 220: Computer Systems & Programming. Arithmetic with Trees is Unambiguous
University of Illinois at Urbana-Champaign Dept. of Electrical and Computer Engineering ECE 220: Computer Systems & Programming The Stack Abstraction Conventions Provide Implicit Information What does
More informationBonus Lecture: Fibonacci
Bonus Lecture: Fibonacci ECE 362 https://engineering.purdue.edu/ee362/ Rick Reading You could try looking up recurisve function in your textbook. Recursive Fibonacci if (x < 2) return fibonacci(x 1) +
More informationMemory Usage in Programs
Memory Usage in Programs ECE2893 Lecture 4a ECE2893 Memory Usage in Programs Spring 2011 1 / 17 The Little Computer 3 (LC3) ECE2893 Memory Usage in Programs Spring 2011 2 / 17 The LC3 Instruction Set,
More informationSubroutines & Traps. Announcements. New due date for assignment 2 5pm Wednesday, 5May
Computer Science 210 s1c Computer Systems 1 2010 Semester 1 Lecture Notes Lecture 19, 26Apr10: Subroutines & Traps James Goodman! Announcements New due date for assignment 2 5pm Wednesday, 5May Test is
More informationCENG 450: Instruction Set (16-bit)
CENG 450: Instruction Set (16-bit) In this lab, you will design and implement a pipelined 16-bit processor on FPGA. The instructions set of the processor is as follows: Instructions Set We use a RISC-like
More informationSystems Architecture The Stack and Subroutines
Systems Architecture The Stack and Subroutines The Stack p. 1/9 The Subroutine Allow re-use of code Write (and debug) code once, use it many times A subroutine is called Subroutine will return on completion
More informationLC-3 Instruction Set Architecture
CMPE12 Notes LC-3 Instruction Set Architecture (Textbookʼs Chapter 5 and 6)# Instruction Set Architecture# ISA is all of the programmer-visible components and operations of the computer.# memory organization#
More informationMidterm 2 Review Chapters 4-16 LC-3
Midterm 2 Review Chapters 4-16 LC-3 ISA You will be allowed to use the one page summary. 8-2 LC-3 Overview: Instruction Set Opcodes 15 opcodes Operate instructions: ADD, AND, NOT Data movement instructions:
More informationThe Assembly Language of the Boz 5
The Assembly Language of the Boz 5 The Boz 5 uses bits 31 27 of the IR as a five bit opcode. Of the possible 32 opcodes, only 26 are implemented. Op-Code Mnemonic Description 00000 HLT Halt the Computer
More informationECE 206, Fall 2001: Lab 3
ECE 206, : Lab 3 Data Movement Instructions Learning Objectives This lab will give you practice with a number of LC-2 programming constructs. In particular you will cover the following topics: - Load/store
More information11. A Computing Machine
COMPUTER SCIENCE S E D G E W I C K / W A Y N E Computer Science Including Programming in Java 11. A Computing Machine Section 5.1 http://introcs.cs.princeton.edu COMPUTER SCIENCE S E D G E W I C K / W
More informationChapter 9 TRAP Routines and Subroutines
Chapter 9 TRAP Routines and Subroutines System Calls Certain operations require specialized knowledge and protection: specific knowledge of I/O device registers and the sequence of operations needed to
More informationArchitecture Project Phase (1)
Objective Cairo University CMP 301B Faculty of Engineering Spring 2013 Computer Engineering Department Architecture Project Phase (1) In this phase, it is required to design and implement a simple pipelined
More informationLC-3 Instruction Set Architecture. Textbook Chapter 5
LC-3 Instruction Set Architecture Textbook Chapter 5 Instruction set architecture What is an instruction set architecture (ISA)? It is all of the programmer-visible components and operations of the computer
More informationSubroutine. Chapter 8
Chapter 8 Subroutine Expected Outcomes Describe and apply the stack for data storage Describe the process of subroutine in any programs Develop a subroutine and code Interpret subroutine process in the
More informationTRAPs and Subroutines. University of Texas at Austin CS310H - Computer Organization Spring 2010 Don Fussell
TRAPs and Subroutines University of Texas at Austin CS310H - Computer Organization Spring 2010 Don Fussell System Calls Certain operations require specialized knowledge and protection: specific knowledge
More informationChapter 9 TRAP Routines and Subroutines
Chapter 9 TRAP Routines and Subroutines ACKNOWLEDGEMENT: This lecture uses slides prepared by Gregory T. Byrd, North Carolina State University 5-2 System Calls Certain operations require specialized knowledge
More informationChapter 10 And, Finally... The Stack. ACKNOWLEDGEMENT: This lecture uses slides prepared by Gregory T. Byrd, North Carolina State University
Chapter 10 And, Finally... The Stack ACKNOWLEDGEMENT: This lecture uses slides prepared by Gregory T. Byrd, North Carolina State University 2 Stack: An Abstract Data Type An important abstraction that
More informationsarm User Guide Note that a space must appear before the operation field because any word beginning in the first column is a label
sarm User Guide The sarm is program that implements an experimental CPU simulator. It is called experimental because it is not yet complete, and it also incorporates facilities that are not conventionally
More informationCSIS1120A. 10. Instruction Set & Addressing Mode. CSIS1120A 10. Instruction Set & Addressing Mode 1
CSIS1120A 10. Instruction Set & Addressing Mode CSIS1120A 10. Instruction Set & Addressing Mode 1 Elements of a Machine Instruction Operation Code specifies the operation to be performed, e.g. ADD, SUB
More informationChapter 9 TRAP Routines and Subroutines
Chapter 9 TRAP Routines and Subroutines System Calls Certain operations require specialized knowledge and protection: specific knowledge of I/O device registers and the sequence of operations needed to
More informationECE 375 Computer Organization and Assembly Language Programming Winter 2018 Solution Set #2
ECE 375 Computer Organization and Assembly Language Programming Winter 2018 Set #2 1- Consider the internal structure of the pseudo-cpu discussed in class augmented with a single-port register file (i.e.,
More informationCHAPTER 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 informationPart 7. Stacks. Stack. Stack. Examples of Stacks. Stack Operation: Push. Piles of Data. The Stack
Part 7 Stacks The Stack Piles of Data Stack Stack A stack is an abstract data structure that stores objects Based on the concept of a stack of items like a stack of dishes Data can only be added to or
More informationLC-2 Programmer s Reference and User Guide
LC-2 Programmer s Reference and User Guide University of Michigan EECS 100 Matt Postiff Copyright (C) Matt Postiff 1995-1999. All rights reserved. Written permission of the author is required for duplication
More informationCOSC 243. Instruction Sets And Addressing Modes. Lecture 7&8 Instruction Sets and Addressing Modes. COSC 243 (Computer Architecture)
COSC 243 Instruction Sets And Addressing Modes 1 Overview This Lecture Source Chapters 12 & 13 (10 th editition) Textbook uses x86 and ARM (we use 6502) Next 2 Lectures Assembly language programming 2
More informationCMPSCI 201 Fall 2005 Midterm #2 Solution
CMPSCI 201 Fall 2005 Midterm #2 Solution Professor William T. Verts 10 Points Convert the decimal number -47.375 into (a) binary scientific notation (i.e., ±1.xxxx 2 Y ), and (b) the equivalent binary
More informationChapter 14 Design of the Central Processing Unit
Chapter 14 Design of the Central Processing Unit We now focus on the detailed design of the CPU (Central Processing Unit) of the Boz 7. The CPU has two major components: the Control Unit and the ALU (Arithmetic
More informationSubprograms, Subroutines, and Functions
Subprograms, Subroutines, and Functions Subprograms are also called subroutines, functions, procedures and methods. A function is just a subprogram that returns a value; say Y = SIN(X). In general, the
More informationIntro. to Computer Architecture Homework 4 CSE 240 Autumn 2005 DUE: Mon. 10 October 2005
Name: 1 Intro. to Computer Architecture Homework 4 CSE 24 Autumn 25 DUE: Mon. 1 October 25 Write your answers on these pages. Additional pages may be attached (with staple) if necessary. Please ensure
More informationECE251: Tuesday September 18
ECE251: Tuesday September 18 Subroutine Parameter Passing (Important) Allocating Memory in Subroutines (Important) Recursive Subroutines (Good to know) Debugging Hints Programming Hints Preview of I/O
More informationStack Frames. September 2, Indiana University. Geoffrey Brown, Bryce Himebaugh 2015 September 2, / 15
Stack Frames Geoffrey Brown Bryce Himebaugh Indiana University September 2, 2016 Geoffrey Brown, Bryce Himebaugh 2015 September 2, 2016 1 / 15 Outline Preserving Registers Saving and Restoring Registers
More informationUniversity of Illinois at Urbana-Champaign First Midterm Exam, ECE 220 Honors Section
University of Illinois at Urbana-Champaign First Midterm Exam, ECE 220 Honors Section Name: SOLUTION IS IN RED Thursday 15 February 2018 Net ID: Be sure that your exam booklet has ELEVEN pages. Write your
More informationARM Assembly Language. Programming
Outline: ARM Assembly Language the ARM instruction set writing simple programs examples Programming hands-on: writing simple ARM assembly programs 2005 PEVE IT Unit ARM System Design ARM assembly language
More informationEE 361 University of Hawaii Fall
C functions Road Map Computation flow Implementation using MIPS instructions Useful new instructions Addressing modes Stack data structure 1 EE 361 University of Hawaii Implementation of C functions and
More informationThe LC-3 Instruction Set Architecture. ISA Overview Operate instructions Data Movement instructions Control Instructions LC-3 data path
Chapter 5 The LC-3 Instruction Set Architecture ISA Overview Operate instructions Data Movement instructions Control Instructions LC-3 data path A specific ISA: The LC-3 We have: Reviewed data encoding
More informationTopic 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 informationMonday, March 9, 2015
Monday, March 9, 2015 Topics for today C functions and Pep/8 subroutines Passing parameters by reference Globals Locals More reverse engineering: Pep/8 to C Representation of Booleans C Functions and Pep/8
More informationGrundlagen Microcontroller Processor Core. Günther Gridling Bettina Weiss
Grundlagen Microcontroller Processor Core Günther Gridling Bettina Weiss 1 Processor Core Architecture Instruction Set Lecture Overview 2 Processor Core Architecture Computes things > ALU (Arithmetic Logic
More informationMonday, October 17, 2016
Monday, October 17, 2016 Topics for today C functions and Pep/8 subroutines Passing parameters by reference Globals Locals Reverse Engineering II Representation of Booleans C Functions and Pep/8 Subroutines
More informationCS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Prof. Gurindar Sohi TAs: Pradip Vallathol and Junaid Khalid Examination 4 In Class (50 minutes) Wednesday, December 12,
More informationECE251: Intro to Microprocessors Name: Solutions Mid Term Exam October 4, 2018
ECE251: Intro to Microprocessors Name: Solutions Mid Term Exam October 4, 2018 (PRINT) Instructions: No calculators, books, or cell phones; do not communicate with any other student. One side of a single
More informationAssembly Language Lab # 9
Faculty of Engineering Computer Engineering Department Islamic University of Gaza 2011 Assembly Language Lab # 9 Stacks and Subroutines Eng. Doaa Abu Jabal Assembly Language Lab # 9 Stacks and Subroutines
More informationWednesday, February 4, Chapter 4
Wednesday, February 4, 2015 Topics for today Introduction to Computer Systems Static overview Operation Cycle Introduction to Pep/8 Features of the system Operational cycle Program trace Categories of
More informationMark II Aiken Relay Calculator
Introduction to Embedded Microcomputer Systems Lecture 6.1 Mark II Aiken Relay Calculator 2.12. Tutorial 2. Arithmetic and logical operations format descriptions examples h 8-bit unsigned hexadecimal $00
More informationShift and Rotate Instructions
Shift and Rotate Instructions Shift and rotate instructions facilitate manipulations of data (that is, modifying part of a 32-bit data word). Such operations might include: Re-arrangement of bytes in a
More informationLEO-1 Homebrew Computer
LEO-1 Homebrew Computer Architecture Rev 1.10, 5th January 2017, John Croudy The LEO-1 is a complete 16-bit computer system featuring the LEO-1 CPU, a custom-designed CPU. This CPU s architecture was inspired
More informationStack Frames. Compilers use the stack: to store the to to a subroutine for storage of declared in the subroutine and a place to
Stack Frames EE 357 Unit 8 Stack Frames Compilers use the stack: to store the to to a subroutine for storage of declared in the subroutine and a place to Every call to a subroutine will create a data structure
More informationUniversity of Texas at Austin Electrical and Computer Engineering Department. EE319K, Embedded Systems, Spring 2013 Final Exam
University of Texas at Austin Electrical and Computer Engineering Department EE319K, Embedded Systems, Spring 2013 Final Exam Directions There are 6 problems worth a total of 100 points. The number of
More informationProblem Sheet 1: ANSWERS (NOT ) (NOT ) 3. 37, ,
Problem Sheet 1 1. Convert 512 10 toa16-bittwo's complement binarynumber [P&H, Ex.4.1] 2. Convert 1; 023 10 to a 16-bit two's complement binary number [P&H, Ex.4.2] 3. What hexadecimal number does the
More informationINFOB3TC Solutions for Exam 2
Department of Information and Computing Sciences Utrecht University INFOB3TC Solutions for Exam 2 Sean Leather Monday, 30 January 2012, 17:00 20:00 Please keep in mind that there are often many possible
More informationTextbook chapter 10. Abstract data structures are. In this section, we will talk about. The array The stack Arithmetic using a stack
LC-3 Data Structures Textbook chapter 0 CMPE2 Summer 2008 Abstract data structures are LC-3 data structures Defined by the rules for inserting and extracting data In this section, we will talk about The
More informationCS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Professor Guri Sohi TAs: Newsha Ardalani and Rebecca Lam Examination 4 In Class (50 minutes) Wednesday, Dec 14, 2011 Weight:
More informationCS 135: Computer Architecture I
What next? : Computer Architecture I Instructor: Prof. Bhagi Narahari Dept. of Computer Science Course URL: www.seas.gwu.edu/~bhagiweb/cs135/ Low level/machine-level Programming Assembly Language programming
More informationCSE /003, Fall 2014, Homework 4 Due October 7, 2014 in Class (at 2:00pm for 002, 3:30pm for 003)
CSE2312-002/003, Fall 2014, Homework 4 Due October 7, 2014 in Class (at 2:00pm for 002, 3:30pm for 003) The following problems are from Chapter 2 of the ARM Edition of the Patterson and Hennessy textbook
More informationWhy Don t Computers Use Base 10? Lecture 2 Bits and Bytes. Binary Representations. Byte-Oriented Memory Organization. Base 10 Number Representation
Lecture 2 Bits and Bytes Topics Why bits? Representing information as bits Binary/Hexadecimal Byte representations» numbers» characters and strings» Instructions Bit-level manipulations Boolean algebra
More informationECE251: Tuesday September 11
ECE251: Tuesday September 11 Finish Branch related instructions Stack Subroutines Note: Lab 3 is a 2 week lab, starting this week and covers the Stack and Subroutines. Labs: Lab #2 is due this week. Lab
More informationEE 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 informationCS 2504 Intro Computer Organization Test 1
Instructions: Print your name in the space provided below. This examination is closed book and closed notes, aside from the permitted one-page formula sheet and the MIPS reference card. No calculators
More informationAssembly Language Programming of 8085
Assembly Language Programming of 8085 Topics 1. Introduction 2. Programming model of 8085 3. Instruction set of 8085 4. Example Programs 5. Addressing modes of 8085 6. Instruction & Data Formats of 8085
More informationCS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Prof. Gurindar Sohi, Kai Zhao TAs: Yuzhe Ma, Annie Lin, Mohit Verma, Neha Mittal, Daniel Griffin, Examination 4 In Class
More informationRui Wang, Assistant professor Dept. of Information and Communication Tongji University.
Instructions: ti Language of the Computer Rui Wang, Assistant professor Dept. of Information and Communication Tongji University it Email: ruiwang@tongji.edu.cn Computer Hierarchy Levels Language understood
More informationIntroduction to Computer Engineering. CS/ECE 252, Spring 2017 Rahul Nayar Computer Sciences Department University of Wisconsin Madison
Introduction to Computer Engineering CS/ECE 252, Spring 2017 Rahul Nayar Computer Sciences Department University of Wisconsin Madison Chapter 5 The LC-3 Announcements Homework 3 due today No class on Monday
More informationLC-3 Subroutines and Traps. (Textbook Chapter 9)"
LC-3 Subroutines and Traps (Textbook Chapter 9)" Subroutines" Blocks can be encoded as subroutines" A subroutine is a program fragment that:" lives in user space" performs a well-defined task" is invoked
More informationImplementing Functions at the Machine Level
Subroutines/Functions Implementing Functions at the Machine Level A subroutine is a program fragment that... Resides in user space (i.e, not in OS) Performs a well-defined task Is invoked (called) by a
More informationAVR ISA & AVR Programming (I) Lecturer: Sri Parameswaran Notes by: Annie Guo
AVR ISA & AVR Programming (I) Lecturer: Sri Parameswaran Notes by: Annie Guo 1 Lecture Overview AVR ISA AVR Instructions & Programming (I) Basic construct implementation 2 Atmel AVR 8-bit RISC architecture
More informationCS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Prof. Gurindar Sohi TAs: Junaid Khalid and Pradip Vallathol Midterm Examination 3 In Class (50 minutes) Friday, November
More informationWednesday, February 19, 2014
Wednesda, Februar 19, 2014 Topics for toda Solutions to HW #2 Topics for Eam #1 Chapter 6: Mapping High-level to assembl-level The Pep/8 run-time stack Stack-relative addressing (,s) SP manipulation Stack
More informationreply db y prompt db Enter your favourite colour:, 0 colour db 80 dup(?) i db 20 k db? num dw 4000 large dd 50000
Declaring Variables in Assembly Language As in Java, variables must be declared before they can be used Unlike Java, we do not specify a variable type in the declaration in assembly language Instead we
More informationCHAPTER 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 informationEE 3170 Microcontroller Applications
EE 3170 Microcontroller Applications Lecture 12: Advanced Assembly Language Programming Part II- Stacks Calling Conventions & Base Pointer Usage & Subroutine Examples - Miller 5.5-5.7 Based on slides for
More informationComputer System Architecture
CSC 203 1.5 Computer System Architecture Department of Statistics and Computer Science University of Sri Jayewardenepura Addressing 2 Addressing Subject of specifying where the operands (addresses) are
More informationECE251: Tuesday September 12
ECE251: Tuesday September 12 Finish Branch related instructions Stack Subroutines Note: Lab 3 is a 2 week lab, starting this week and covers the Stack and Subroutines. Labs: Lab #2 is due this week. Lab
More informationCS401 - Computer Architecture and Assembly Language Programming Glossary By
CS401 - Computer Architecture and Assembly Language Programming Glossary By absolute address : A virtual (not physical) address within the process address space that is computed as an absolute number.
More informationARM Cortex-A9 ARM v7-a. A programmer s perspective Part 2
ARM Cortex-A9 ARM v7-a A programmer s perspective Part 2 ARM Instructions General Format Inst Rd, Rn, Rm, Rs Inst Rd, Rn, #0ximm 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7
More informationSPRING TERM BM 310E MICROPROCESSORS LABORATORY PRELIMINARY STUDY
BACKGROUND Segment The "SEGMENT" and "ENDS" directives indicate to the assembler the beginning and ending of a segment and have the following format label SEGMENT [options] ;place the statements belonging
More informationSubroutines and Stack Usage on the MicroBlaze. ECE 3534 Microprocessor System Design
Subroutines and Stack Usage on the MicroBlaze ECE 3534 Microprocessor System Design 1 MicroBlaze Subroutines Same idea as a C/C++ function There s no call instruction Instead, branch and link Example:
More informationCSCI 2121 Computer Organization and Assembly Language PRACTICE QUESTION BANK
CSCI 2121 Computer Organization and Assembly Language PRACTICE QUESTION BANK Question 1: Choose the most appropriate answer 1. In which of the following gates the output is 1 if and only if all the inputs
More informationECE 109 Sections 602 to 605 Final exam Fall December, 2007
ECE 109 Sections 602 to 605 Final exam Fall 2007 13 December, 2007 This is a closed book and closed notes exam. Calculators, PDA's, cell phones, and any other electronic or communication devices may not
More informationINFOB3TC Exam 2. Sean Leather. Monday, 30 January 2012, 17:00 20:00
Department of Information and Computing Sciences Utrecht University INFOB3TC Exam 2 Sean Leather Monday, 30 January 2012, 17:00 20:00 1 Preliminaries The exam consists of 8 pages (including this page).
More informationNET3001. Advanced Assembly
NET3001 Advanced Assembly Arrays and Indexing supposed we have an array of 16 bytes at 0x0800.0100 write a program that determines if the array contains the byte '0x12' set r0=1 if the byte is found plan:
More informationORG ; TWO. Assembly Language Programming
Dec 2 Hex 2 Bin 00000010 ORG ; TWO Assembly Language Programming OBJECTIVES this chapter enables the student to: Explain the difference between Assembly language instructions and pseudo-instructions. Identify
More informationComputer Organization & Assembly Language Programming. CSE 2312 Lecture 15 Addressing and Subroutine
Computer Organization & Assembly Language Programming CSE 2312 Lecture 15 Addressing and Subroutine 1 Sections in 8088 Code TEXT section, for the processor instructions. DATA section for the initialization
More informationECE 471 Embedded Systems Lecture 5
ECE 471 Embedded Systems Lecture 5 Vince Weaver http://www.eece.maine.edu/ vweaver vincent.weaver@maine.edu 17 September 2013 HW#1 is due Thursday Announcements For next class, at least skim book Chapter
More informationChapter. Computer Architecture
Chapter 4 Computer Architecture Figure 4.1 Input device Central processing unit Main memory Output device Bus Data flow Control Figure 4.2 Central processing unit () Status bits ( ) Accumulator ( ) Index
More informationDelhi Noida Bhopal Hyderabad Jaipur Lucknow Indore Pune Bhubaneswar Kolkata Patna Web: Ph:
Serial : 01. ND_EE_NW_Microprocessors_150718 Delhi Noida Bhopal Hyderabad Jaipur Lucknow Indore Pune Bhubaneswar Kolkata Patna Web: E-mail: info@madeeasy.in Ph: 011-45124612 CLASS TEST 2018-19 ELECTRICAL
More informationF28HS2 Hardware-Software Interface. Lecture 7: ARM Assembly Language 2
F28HS2 Hardware-Software Interface Lecture 7: ARM Assembly Language 2 Structured programming assembly language requires intricate use of labels & branches easy to produce spaghetti code design assembly
More informationTalen 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 informationUsing the stack and the stack pointer
Using the stack and the stack pointer o The Stack and Stack Pointer o The stack is a memory area for temporary storage o The stack pointer points to the last byte in the stack o Some instructions which
More informationMajor and Minor States
Major and Minor States We now consider the micro operations and control signals associated with the execution of each instruction in the ISA. The execution of each instruction is divided into three phases.
More informationEE 314 Spring 2003 Microprocessor Systems
EE 314 Spring 2003 Microprocessor Systems Laboratory Project #3 Arithmetic and Subroutines Overview and Introduction Review the information in your textbook (pp. 115-118) on ASCII and BCD arithmetic. This
More informationCMPSCI 201 Fall 2006 Midterm #2 November 20, 2006 SOLUTION KEY
CMPSCI 201 Fall 2006 Midterm #2 November 20, 2006 SOLUTION KEY Professor William T. Verts 10 Points Trace the following circuit, called a demultiplexer, and show its outputs for all possible inputs.
More information