lecture # 1 spim & mips programming. spim spim is a mips32 simulator that reads and executes...
Post on 05-Jan-2016
Embed Size (px)
Lecture # 1SPIM & MIPS Programming
SPIMSPIM is a MIPS32 simulator that reads and executes assembly language program written for SPIM.Platform -Unix, Linux, Mac OS X, and Microsoft WindowsThe homepage of SPIM: http://pages.cs.wisc.edu/~larus/spim.html
SPIM When PCSpim starts up, it brings up a large window on your screen .The application window is divided into four parts:1-The top section is the menu bar. The menu bar allows you to select File operations, set Simulator settings, select Windows views, and obtain online Help information.2- The next section below the menu bar is the toolbar. The toolbar provides quick mouse access to many tools used in PCSpim for Windows.
SPIM3- The large section in the middle of the application window is the window display section. There are four display windows: Registers, Text Segment, Data Segment, and Messages. To change the view of these four windows, you can select a tiled view from the menu bar: Windows->Tile. All of the displaywindows will be empty when you first execute the program. The following list describes each display window. The Register window: display shows the values of all registers in the MIPS CPU and FPU.The Text Segment window : display shows instructions both from your program and the system code that is loaded automatically when PCSpim is running. The Data Segment window :display shows the data loaded into your programs memory and the data of the programs stack.The Messages window : display is the where PCSpim uses to write messages. This is where error messages appear.
SPIM4- The Status bar section is at the bottom of the application window. The status bar provides information and the current settings of the simulator.
MIPS Assembly LanguageOperations code:add, sub, addi, addu, addiu, subulw, sw, lbu, sb, lui, oribeq, bne, slt, slti, sltuj , jr, jal
Assembler SyntaxComments : in assembler files begin with a sharp-sign (#).Identifers : are a sequence of alphanumeric characters, underbars ( _ ), and dots (.) that do not begin with a number.Opcodes : for instructions are reserved words that are not valid identifers.Labels : are declared by putting them at the beginning of a line followed by a colon.
Assembler Syntax (cont.)
Data Types.word, .half -32/16 bit integer.byte -8 bit integer.ascii, .asciiz -string.double, .float -floating point.space n Allocate n bytes of space in the current segment (which must be the data segment in SPIM).