Mips

Reference: MIPS directives.

Directives

.set pop/push

The directives .set push and .set pop may be used to save and restore the current settings for all the options which are controlled by .set. The .set push directive saves the current settings on a stack. The .set pop directive pops the stack and restores the settings.

These directives can be useful inside an macro which must change an option such as the ISA level or instruction reordering but does not want to change the state of the code which invoked the macro.

Traditional MIPS assemblers do not support these directives.

.set mipsn
  • CP0
  • Reference 1 Regs Reference 1 EntryLo0: low half of TLB entry for even virtual address (VPN) EntryLo1: low half of TLB entry for odd virtual address (VPN) R4000 book. ↩ reference ↩

  • Instructions
  • Reference: https://github.com/MIPT-ILab/mipt-mips/wiki/MIPS-Instruction-Set

  • Regs
  • Source: https://github.com/MIPT-ILab/mipt-mips/wiki/MIPS-registers http://www.cs.uwm.edu/classes/cs315/Bacon/Lecture/HTML/ch05s03.html Number Name Use Preserved across function calls? 0 $zero constant 0 — 1 $at assembler temporary no 2, 3 $v0, $v1 function return values no 4 - 7 $a0 - $a3 function arguments no 8 - 15 $t0 - $t7 temporaries no 16 - 23 $s0 - $s7 temporaries yes 24, 25 $t8, $t9 temporaries no 26, 27 $k0, $k1 reserved for OS kernel — 28 $gp global pointer — 29 $sp stack pointer — 30 $s8 temporaries yes 31 $ra return address —

Created Aug 30, 2019 // Last Updated Mar 28, 2022

If you could revise
the fundmental principles of
computer system design
to improve security...

... what would you change?