MIPS Assembly andi

Tanım;

  • 1 register ile sabit sayıyı ve'lemek ( and'lemek) için kullandığımız mips komutudur.
  • Kullanılan sabit sayı 10'luk tabanda olmalıdır çünkü daha sonra ikilik tabana dönüştürülecektir.
  • Her bit kendi sırasındakiyle AND'lenir.
  • Bu komut, MIPS komut formatları arasından MIPS I tipi formatını kullanır.
  • Bu konuda kullanacağımız mimari MIPS32'dir yani 32bitlik registerler üzerinde işlem yapacağız.


İlk önce AND'ın doğruluk tablosuna göz atalım;

Giriş AGiriş BÇıkış ( A ve B )
000
010
100
111

NOT : Dikkatlı bakarsanız sadece 2 girişin 1 olduğu durumda çıkış 1 olmuştur.


Yazım Kuralı;

and $s0,$s1,sabit sayı

$s0 : Ve'lenen ( AND'lenen değerin yazılacağı register )

$s1 : AND yapılacak 1. register

sabit sayı : 1. registerla AND yapılacak sabit sayı



Giriş;

and $s0,$s1,0


Register SırasıRegister AdıDeğeri
R0 ( $0 )$zero0
R1 ( $1 )$at0
R2 ( $2 )$v00
R3 ( $3 )$v10
R4 ( $4 )$a00
R5 ( $5 )$a10
R6 ( $6 )$a20
R7 ( $7 )$a30
R8 ( $8 )$t00
R9 ( $9 )$t10
R10 ( $10 )$t20
R11 ( $11 )$t30
R12 ( $12 )$t40
R13 ( $13 )$t50
R14 ( $14 )$t60
R15 ( $15 )$t70
R16 ( $16 )$s00
R17 ( $17 )$s100001100010001000000110100000011
R18 ( $18 )$s20
R19 ( $19 )$s30
R20 ( $20 )$s40
R21 ( $21 )$s50
R22 ( $22 )$s60
R23 ( $23 )$s70
R24 ( $24 )$t80
R25 ( $25 )$t90
R26 ( $26 )$k00
R27 ( $27 )$k10
R28 ( $28 )$gp0
R29 ( $29 )$sp0
R30 ( $30 )$fp0
R31 ( $31 )$ra0


Çıkış;

Register SırasıRegister AdıDeğeri
R0 ( $0 )$zero0
R1 ( $1 )$at0
R2 ( $2 )$v00
R3 ( $3 )$v10
R4 ( $4 )$a00
R5 ( $5 )$a10
R6 ( $6 )$a20
R7 ( $7 )$a30
R8 ( $8 )$t00
R9 ( $9 )$t10
R10 ( $10 )$t20
R11 ( $11 )$t30
R12 ( $12 )$t40
R13 ( $13 )$t50
R14 ( $14 )$t60
R15 ( $15 )$t70
R16 ( $16 )$s000001100010001000000110100000011
R17 ( $17 )$s100001100010001000000110100000011
R18 ( $18 )$s20
R19 ( $19 )$s30
R20 ( $20 )$s40
R21 ( $21 )$s50
R22 ( $22 )$s60
R23 ( $23 )$s70
R24 ( $24 )$t80
R25 ( $25 )$t90
R26 ( $26 )$k00
R27 ( $27 )$k10
R28 ( $28 )$gp0
R29 ( $29 )$sp0
R30 ( $30 )$fp0
R31 ( $31 )$ra0