Presentation is loading. Please wait.

Presentation is loading. Please wait.

First Programming Assignment For MIPS R3000 Processor Department of Computer Science Southern Illinois University Edwardsville Fall, 2015 Dr. Hiroshi Fujinoki.

Similar presentations


Presentation on theme: "First Programming Assignment For MIPS R3000 Processor Department of Computer Science Southern Illinois University Edwardsville Fall, 2015 Dr. Hiroshi Fujinoki."— Presentation transcript:

1 First Programming Assignment For MIPS R3000 Processor Department of Computer Science Southern Illinois University Edwardsville Fall, 2015 Dr. Hiroshi Fujinoki E-mail: hfujino@siue.edu CS 312 Computer Organization and Architecture FirstProgram/001

2 R3000/001 Assembly Programming using MIPS R3000 CPU R3000 CPU Chip Manufactured by IDT What is MIPS R3000 Processor? A 32-bit RISC CPU developed by MIPS Technologies Inc., Used for high-performance desktops such as workstations Many venders manufacture the chip (NEC, IDT, Toshiba)

3 R3000/002 Assembly Programming using MIPS R3000 CPU The process of assembly programming We start from here! SPIM Simulator does these for us

4 “Test.asm” FirstProgram/001 (2) Program Definition (1) Data Section (3) Program Body Start developing your first assembly program using SPIM Prepare your source code Step #1 Three major components in your SPIM program Your source code file w/ “.asm” file extension CS 312 Computer Organization and Architecture

5 # ############################################################### # # Test2.asm # # # Sample assembly code No. 2 for testing SPIM Simulator. # # This sample program is just for understanding SPIM assembler. # # # ############################################################### #.text.globl main main: li $s1, 1 # Load "1" to register $S1 li $s2, 2 # Load "2" (decimal "2") to register $S2 add $s0, $s1, $s2 # Add register S1 and S2 and save the # result to S0 register jr $31 # Return from main (stop the program) # END OF THE LINES ############################################### FirstProgram/002 Overview: an assembly program source code for SPIM The program body Stop your assembly program Declaring your program body name “.text” label declares the beginning of your assembly program source code “#” indicates an in-line comment Assembly instructions CS 312 Computer Organization and Architecture

6 FirstProgram/003 The three components in your SPIM program 1. “Data” Section This is the place where you keep any constants in your program - Error message - Prompt message for user input - Any constant, such as “3.14” - Input/Output buffers (contents vary, but buffer size unchanged) The data section is declared by “.data” assembler directive SPIM assumes the data section at the beginning - Because the program codes are supposed to be at the end This section is “optional” CS 312 Computer Organization and Architecture

7 FirstProgram/004 The three components in your SPIM program (continued) 2. “Program Definition” Section This is the place where you declare your assembly program The program definition section is declared by “.text” assembler directive The beginning label of your assembly program declared by “.globl name_of_your_beginning_label” The program definition section should be the simplest (and shortest) We will see this in examples later CS 312 Computer Organization and Architecture

8 FirstProgram/005 The three components in your SPIM program (continued) 3. “Program Body” Section This is the place where you write your program (assembly instructions) Your program should be stopped by “jr $31” instruction You must start with the beginning label you declared  If you forget that, the CPU continues to execute What instructions will be executed? - If you declare “.globl main” in program definition - You must start your program with “main:” label We never know before. CS 312 Computer Organization and Architecture

9 Your program main: jr$31# Stop program Instruction field Comment field Stop your program Beginning of a program Dissection: Program Body Section Label field FirstProgram/006 CS 312 Computer Organization and Architecture

10 FirstProgram/007 Start using SPIM Open your program source code CS 312 Computer Organization and Architecture This is when we start PC-SPIM for the first time

11 FirstProgram/008 Start using SPIM (continued) Specify your source code file CS 312 Computer Organization and Architecture

12 FirstProgram/009 Start using SPIM (continued) Once assembly program is opened, the four windows will be automatically re-loaded CS 312 Computer Organization and Architecture

13 FirstProgram/010 Close-Look (1): “Register” Window “Register” window Contents of registers CS 312 Computer Organization and Architecture

14 FirstProgram/011 Close-Look (2): “Text Segment” Window Assembler instructions (from your source code) Generated machine codes (in Hexadecimal expression) Address for your instructions CS 312 Computer Organization and Architecture

15 FirstProgram/012 Close-Look (3): “Data Segment” Window Address of major program components are shown CS 312 Computer Organization and Architecture

16 FirstProgram/013 Close-Look (4): “Message” Window Most probably, the least important window... Messages from SPIM Assembler are shown here CS 312 Computer Organization and Architecture

17 FirstProgram/014 To run your program, press this button CS 312 Computer Organization and Architecture

18 FirstProgram/015 Text Segment Window Specify starting address of your assembly program (optional) CS 312 Computer Organization and Architecture

19 FirstProgram/016 Examining registers for the result of program execution CS 312 Computer Organization and Architecture

20 FirstProgram/017 The three components in your SPIM program (continued) CS 312 Computer Organization and Architecture

21 FirstProgram/018 The three components in your SPIM program (continued) The results of program execution CS 312 Computer Organization and Architecture


Download ppt "First Programming Assignment For MIPS R3000 Processor Department of Computer Science Southern Illinois University Edwardsville Fall, 2015 Dr. Hiroshi Fujinoki."

Similar presentations


Ads by Google