[SOLVED] 代写 C MIPS Befehlssatz MIPS-R2000

30 $

File Name: 代写_C_MIPS_Befehlssatz_MIPS-R2000.zip
File Size: 339.12 KB

SKU: 5034660593 Category: Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Or Upload Your Assignment Here:


Befehlssatz MIPS-R2000
1 Befehlssatz MIPS-R2000
2
0 Notation
seq
sne
sgt
sge
⋄ sgtu
Rd, Rs, RI Rd, Rs, RI Rd, Rs, RI Rd, Rs, RI Rd, Rs, RI Rd, Rs, imm Rd, Rs, RI
set equal
set not equal
set greater than
set greater than equal set less than
set less than immediate set less than equal
Rd ←Rs =RI?1:0 Rd ←Rs ̸=RI?1:0 Rd ←Rs >RI?1:0 Rd ←Rs ≥RI?1:0 Rd ←Rs > int
int1 [±int2]
[symbol] [±dist] [(Rs)]
dist/2int
Distanzangabe int1 + int2
Adressangabe fu ̈r Speicherstelle symbol + dist + Rs
n Bytes großer Wert an der Speicherstelle x
Bits b1 bis bn des Wertes X
Symbolischer Name des Sprungziels: bei absoluten Spru ̈ngen (j∗) 26-Bit Instruktionsadresse, bei relativen Spru ̈ngen (b∗) eine 16-Bit Distanzangabe
⋄ sleu
Logische Operationen
symbol
not ⋆ and
Rd,Rs
Rd, Rs, RI Rd, Rs, imm Rd, Rs, RI Rd, Rs, imm Rd, Rs, RI Rd, Rs, imm Rd, Rs, RI
bitwise logical negation bitwise AND
bitwise AND immediate bitwise OR
Rd←¬Rs Rd←Rs∧RI Rd←Rs∧imm Rd←Rs∨RI Rd←Rs∨imm Rd←Rs⊕RI Rd←Rs⊕imm Rd←¬(Rs∨RI)
1 Registerbelegung
⋆⋄ sll ⋆⋄ sllv ⋆⋄ srl ⋆⋄ srlv
Rd, Rt, imm Rd,Rt,Rv Rd, Rt, imm Rd,Rt,Rv Rd, Rt, imm Rd,Rt,Rv Rd,Rt,RI Rd,Rt,RI
shift left logical
shift left logical variable
Rd ← Rt ∗ 2imm mod 32 Rd ← Rt ∗ 2Rv mod 32
$0 $zero
$1 $at
$2–$3 $v0 –$v1 $4–$7 $a0 –$a3 $8–$15 $t0 –$t7 $16–$23 $s0 –$s7 $24–$25 $t8 –$t9 $26–$27 $k0 –$k1 $28 $gp
constant 0 assembler
value
argument temporary
saved temporary temporary kernel
Konstante 0
reserviert fu ̈r den Assembler
Ausdruck- bzw. Funktionsergebnis Funktionsargument
frei, wird bei Funktionsaufrufen u ̈berschrieben frei, wird bei Funktionsaufrufen gerettet
frei, wird bei Funktionsaufrufen u ̈berschrieben reserviert fu ̈r Betriebssystem
Zeiger auf globalen Datenbereich Stack-Pointer
Zeiger auf lokalen Datenbereich einer Funktion Ru ̈cksprungadresse
shift right shift right shift right shift right rotate left rotate right
Rd ← Rt/2imm mod 32 Rd ← Rt/2Rv mod 32
$29 $sp
$30 $fp
$31 $ra
global pointer stack pointer frame pointer return address
b ⋆j
label label Rs label label Rd,Rs
branch instruction jump
jump register
jump and link
branch and link
jump and link register
Sprung nach label
Sprung nach label
Sprung nach Rs
$31 ← IP + 4, Sprung nach label $31 ← IP + 4, Sprung nach label Rd ← IP + 4, Sprung nach Rs
2 Ganzzahlarithmetik
⋆jr ⋆ jal bal
abs
Rd,Rs Rd,Rs
Rd, Rs, RI Rd, Rs, imm Rd, Rs, RI Rs,Rt
absolute value negate value addition
addition immediate subtract
Rd ← |Rs|
Rd ← −Rs
Rd ← Rs + RI
Rd ← Rs + imm
Rd ← Rs − RI
(hi,lo)←Rs ×Rt
Rd ← Rs × RI
Rd ← Rs × RI
lo ← Rs/Rt,hi ← Rs mod Rt Rd ← Rs/RI
Rd ←Rs modRI
⋆ jalr
7 Bedingte
neg ⋆† add
⋄ negu ⋆⋄ addu ⋆⋄ addiu ⋆⋄ subu ⋆⋄ multu
Spru ̈nge nach Vergleich
⋆† addi ⋆† sub
⋆∗ bc1f ⋆∗ bc1t ⋆∗ beq ⋆∗ bne
label
label Rs,RI,label Rs,RI,label Rs,RI,label Rs,RI,label Rs,RI,label Rs,RI,label
branch coprocessor 1 false branch coprocessor 1 true branch on equal
branch on not equal
branch on greater than branch on greater than equal branch on less than
Sprung nach label, wenn CF1 = 0 Sprung nach label, wenn CF1 = 1 Sprung nach label, wenn Rs = RI Sprung nach label, wenn Rs ̸= RI Sprung nach label, wenn Rs > RI Sprung nach label, wenn Rs ≥ RI Sprung nach label, wenn Rs < RI Sprung nach label, wenn Rs ≤ RI⋆ mult mul ‡ mulo‡ mulou ⋆⋄ divu ⋄‡ divu ⋄‡ remuRd, Rs, RI Rd, Rs, RI Rs,RtRd, Rs, RI Rd, Rs, RImultiplymultiplymultiply with overflow dividedivideremainderbgtbgebltble⋄ bgtu ⋄ bgeu ⋄ bltu ⋄ bleu⋆ div‡ div‡ rembranch on less than equalBefehlssatz MIPS-R20003Ganzzahlvergleiche⋆ Hardware-Instruktion des Prozessors∗ delayed-Instruktion; Ausfu ̈hrung endet nach dem na ̈chsten Befehl⋄ Vorzeichen wird ignoriert† Instruktion kann Exception auslo ̈sen‡ Pseudo-Instruktion lo ̈st beim Fehlerfall Exceptions durch break aus⋆ andi ⋆or⋆ ori ⋆ xor ⋆ xori ⋆ norbitwise OR immediate bitwise XORbitwise XOR immediate bitwise NORsymbol + dist⃝c Copyright 1996, 1998, 1999 FG Systemprogrammierung, FB20, TU Darmstadt e-mail: [email protected] Shift-Operationen6Unbedingte Spru ̈nge⋆ sra ⋆ srav ⋄ rol ⋄ rorlogicallogical variable arithmetic arithmetic variableRd ← Rt/2imm mod 32 Rd ← Rt/2Rv mod 32Rd ← Rt[((31−RI) mod 32)…0,31…((31−RI−1) mod 32)] Rd ← Rt[((RI−1) mod 32)…0,31…(RI mod 32)]Befehlssatz MIPS-R20003Befehlssatz MIPS-R200048 Bedingte Spru ̈nge nach Vergleich mit 011 SpeicherbefehlebeqzRs,label Rs,label Rs,label Rs,labelbranch on equal zerobranch on not equal zero branch on greater than zero branch on greater than equal zerobranch on greater than equal zero and linkbranch on less than zero branch on less than and linkSprung nach label, wenn Rs = 0 Sprung nach label, wenn Rs ̸= 0 Sprung nach label, wenn Rs > 0 Sprung nach label, wenn Rs ≥ 0
⋆sb ⋆sh ⋆sw ⋆ swl ⋆ swr
Rt , addr Rt , addr Rt , addr Rt , addr Rt , addr
store byte
store halfword store word store word left store word right
C (addr )1 ← Rt[7…0] C(addr)2 ← Rt[15…0] C(addr)4 ← Rt
bnez ⋆∗ bgtz ⋆∗ bgez
C(addr)4−addr mod 4 ← Rt[31…(addr mod 4)∗8] C(addr + 4 − addr mod 4)addr mod 4
⋆∗ bgezal ⋆∗ bltz
Rs,label Rs,label
$31 ← IP + 4,
Sprung nach label, wenn Rs ≥ 0 Sprung nach label, wenn Rs < 0 $31 ← IP + 4,Sprung nach label, wenn Rs < 0 Sprung nach label, wenn Rs ≤ 0← Rt[(addr mod 4)∗8−1…0]⋆∗ bltzal ⋆∗ blezRs,label Rs,labelbranch on less than equal zerosd⋆ swc1 s.s s.d ush uswRt , addr Fd , addr Fd , addr Fd , addr Rt , addr Rt , addrstore double-wordstore word coprocessor 1 store floating-point single store floating-point double unaligned store halfword unaligned store wordC(addr)8 C(addr)4 C(addr)4 C(addr)8 C(addr)2 C(addr)4← (Rt, Rt+1) ←Fd←Fd← (Fd+1, Fd) ← Rt[15…0] ←Rt9 Registertransfer12 Gleitkomma-Arithmetikmove Rd,Rs ⋆ mfhi Rd⋆ mflo Rd⋆ mthi Rdmove registermove from himove from lomove to himove to lomove from coprocessor 1 move to coprocessor 1 move double from coprocessor 1Rd←RsRd←hiRd←lohi←Rdlo←RdRd←FsFs←Rd(Rd, Rd+1) ← (Fs, Fs+1)⋆ abs.s ⋆ add.s ⋆ sub.s ⋆ mul.s ⋆ div.s⋆ abs.d ⋆ add.d ⋆ sub.d ⋆ mul.d ⋆ div.dFd,Fs Fd,Fs,Ft Fd,Fs,Ft Fd,Fs,Ft Fd,Fs,Ftabsolute value addition subtract multiply divideFd ←|Fs|Fd ← Fs + Ft Fd ← Fs − Ft Fd ← Fs × Ft Fd ← Fs/Ft⋆ mtlo Rd⋆ mfc1 Rd,Fs⋆ mtc1 Rd,Fs13 Gleitkomma-Vergleichemfc1.d Rd,Fs mov.s Fd,Fsmove floating-point single move floating-point doubleFd←Fs(Fd, Fd+1) ← (Fs, Fs+1)⋆ c.un.s ⋆ c.eq.s ⋆† c.seq.s⋆ c.un.d ⋆ c.eq.d ⋆† c.seq.dFs,Ft compare unordered Fs,Ft compare equalFs,Ft compare equalFs,Ft compare unordered equalCF1 ←(Fs =NaN)∨(Fs =NaN) CF1 ←Fs =FtCF1 ←Fs =FtCF1 ←(Fs =Ft)∨mov.d Fd,Fs10 Ladebefehle⋆ c.ueq.s ⋆† c.lt.s⋆ c.ueq.d ⋆† c.lt.dFs,Ft compare less thanFs,Ft compare ordered less than Fs,Ft compare unordered less than(Fs = NaN) ∨ (Fs = NaN) CF1 ←Fs

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] 代写 C MIPS Befehlssatz MIPS-R2000
30 $