Kategori: MIPS

Başlıklar

Instruction Reference

Kategori: MIPS, 17 Ekim 2019

Instruction Reference

ADD – Add (with overflow)

Description: Adds two registers and stores the result in a register
Operation: $d = $s + $t; advance_pc (4);
Syntax: add $d, $s, $t
Encoding: 0000 00ss ssst tttt dddd d000 0010 0000

ADDI -- Add immediate (with overflow)

Description: Adds a ... Devamını Oku


JanFranco | 15 | 0 | 10 min read

Bit Manipulation

Kategori: MIPS, 16 Ekim 2019

Bit Manipulation

Bitler düzeyinde and, or, xor gibi mantıksal işlemler yapabiliriz. Bu işlemler için aşağıdaki instructionları kullanabiliriz:

 - and Syntax: and $d, $s, $t Encoding: 0000 00ss ssst tttt dddd d000 0010 0100 
and instruciton 3 parametre alır. İlk parametre sonucun tutulacağı register, diğer iki parametre and operasyonun gerçekleştirileceği ... Devamını Oku


JanFranco | 15 | 0 | 2 min read

Floating Point Arithmetic

Kategori: MIPS, 16 Ekim 2019

Floating Point Arithmetic

float değerleri .data sectionda tanımlamalıyız. Daha sonra lwc1 instruction ile .data sectionda tanımladığımız değerleri f tipi registerlarda saklamalıyız. Basit bir toplama işlemi yapalım. Bunun için add.s instructionını kullanacağız. Daha sonra topladığımız değeri de ekrana bastıralım:

 .data n1: .float 3.14 n2: .float 8.21 .text lwc1 $f0, n1 lwc1 $f1, ...
			
Devamını Oku


JanFranco | 14 | 0 | 1 min read

Arrays, Load Word, Store Word

Kategori: MIPS, 16 Ekim 2019

Arrays, Load Word, Store Word

Bir registera bellekten değer atayacaksak load word, bir registerdaki değeri belleğe yazacaksak store word instructionlarını kullanırız:

 - lw Syntax: lw $t, offset($s) Encoding: 1000 11ss ssst tttt iiii iiii iiii iiii 
lw instruction 3 parametre alır. İlk parametre tutulacak register, ikinci parametre offset, üçüncü parametre adress değeridir. ... Devamını Oku


JanFranco | 17 | 0 | 1 min read

While Loop

Kategori: MIPS, 15 Ekim 2019

While Loop

For döngüsünde olduğu gibi while döngüsünü de kendi imkanlarımızla oluşturacağız. Aşağıdaki C kodunu dönüştürelim:

 int temp = 12, sum = 0; while(temp != 5){ sum += temp; temp--; } 
İlk olarak temp, sum ve 5 değerinin tutulacağı registerı tanımlayalım:

 li $t0, 12 li $t1, 5 ...
			
Devamını Oku


JanFranco | 14 | 0 | 1 min read
Sayfa 1 next last »