register names lecture 9 mips assembly language 2
play

Register Names lecture 9 MIPS assembly language 2 - register - PowerPoint PPT Presentation

Register Names lecture 9 MIPS assembly language 2 - register names - pseudo instructions - immediate versions - signed and unsigned - shifting February 8, 2016 We will learn other register names later. Conditional Branch


  1. Register Names lecture 9 MIPS assembly language 2 - register names - pseudo instructions - immediate versions - signed and unsigned - shifting February 8, 2016 We will learn other register names later. Conditional Branch Conditional Branch (last lecture) $t registers: why "temporary" ? e.g. "branch not equals" (bne) e.g. "branch equals" (beq) (C instruction) (C instruction) if (a == b) // if a != b if (a != b ) // if a == b f = g + h // then don't do it. f = g + h // then don't do it (C instruction) g = g + h + i (MIPS instructions) (MIPS instructions) (MIPS instructions) add $t0, $s1, $s2 beq $s1, $s2, Exit1 bne $s1, $s2, Exit1 add $s3, $s4, $s5 add $s3, $s4, $s5 Exit 1: Exit 1: add $s1, $t0, $s3 Other Conditional Branches ? Instead use "set less than" slt if (a <= b) bgt ... if (a < b) bge ... if (a >= b) blt ... if (a > b) ble ... These instructions don't exist in MIPS. Why not ? What to do?

  2. Exercise How to express inequalities using only "<" and "not" ? To avoid headaches, MIPS assemblers allow you to use pseudoinstructions such as blt , ble . Assemblers (e.g. MARS) convert these to real MIPS instructions. assembler lecture 9 Why was MIPS designed this way ? MIPS assembly language 2 The benefits of having fewer instructions available outweighs - register names the cost of having more instructions in each program. - pseudo instructions (recall: RISC - reduced instruction set computer) - immediate versions - signed and unsigned - shifting Signed versus Unsigned instructions Q: What is the difference here ? A: The "overflow" conditions (recall Exercises 2 Q 12) e.g. 01...... signed -> overflow + 01...... unsigned -> no overflow 1 .......

  3. Signed Unsigned Exercise: MIPS doesn't have these two. Why not? Data path.... (coming soon...) Manipulating Bits Sign Extension How to put some 32 bit pattern e.g. 0x37b1 fa93 into a register? Q: What happens if you switch the order of those two instructions? Shifting Bits Announcements - A1 due Wednesday night - A2 will be posted Wednesday (MIPS programming) - no office hours today for me (You might have thought this was "I" format, but in fact it is "R" format. Why ?)

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend