1 / 7

OutLine of Tutorial 5

OutLine of Tutorial 5. Summary of Load/Store instructions Exercises reading memory in Simulator Exercises writing code. Summary of Load/Store instructions. Format Opcode regA, displacement(regB) displacement is less than 16 bit vitual memory = displacement + value of regB.

Download Presentation

OutLine of Tutorial 5

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OutLine of Tutorial 5 • Summary of Load/Store instructions • Exercises reading memory in Simulator • Exercises writing code

  2. Summary of Load/Store instructions • Format • Opcode regA, displacement(regB) • displacement is less than 16 bit • vitual memory = displacement + value of regB

  3. Summary of Load/Store instructions • Load instructions in Simulator • ldbu: • filling remaining bytes in register with 0 • ldwu: • filling remaining bytes in register with 0 • Memory address has to be multiple of 2 • ldl • filling remaining bytes in register with signed bit • Memory address has to be multiple of 4 • ldq • Memory address has to be multiple of 8 • lda • Load the memory address rather than the value

  4. Summary of Load/Store instructions • Store instruction in Simulator • stb: • stw: • Memory address has to be multiple of 2 • stl • Memory address has to be multiple of 4 • stq • Memory address has to be multiple of 8

  5. Get answer of following exercises using Simulator Following code is in example 5 data{ align quad; value0: asciiz "ab"; value1: byte 0x12; value2: long 0x3456; value3: quad 0x87654321; } Show the contents of memory and the labels With above memory allocated, indicate how the contents of registers are changed by following instructions, and which instructions can’t be executed ldiq $t0, value0; ldq $t1, ($t0); ldwu $t2, 4($t0); lda $t3, 3($t0); ldbu $t2, ($t3); ldl $t3, 8($t0); ldl $t4, 6($t0); ldq $t5, 4($t0);

  6. Exercises reading memory in Simulator Continue with above exercise, indicate how the contents of registers are changed by following instructions, and which instructions can’t be executed stq $t1, ($t0); stb $t2, 1($t0); stw $t3, 2($t0); stl $t3, 8($t0); ldiq $t0, value2; stq $t3, ($t0); stl $t3, 2($t0);

  7. Fill in code in example 6 Write code to load value0,value1,value2,value3 to register t1,t2,t3,t4 Write code to store values in register t1,t2,t3,t4 in memory label value0,value1,value2,value3

More Related