PDA

View Full Version : [ASSEMBLER MIPS] Sottrazione in valore assoluto


xbubbax
21-04-2007, 15:47
qualcuno mi sa dire come si fa la sottrazione in valore assoluto in assembler?

esempio |3-4|=1

Griffo
22-04-2007, 21:49
Non penso ci sia un operazione che faccia il modulo... tuttavia si potrebbe fare in questo modo:


#|a-b|=c
#a=$s0, b=$s1, c= $s2

addi $t0, $zero, -1 #t0=-1

sub $s2, $s0, $s1 #c=a-b
bgt $s2, $to, fine # vai a "fine" se c>=0 (Branch on Greater Than)
nor $s0, $s0, $zero # inverte i bit del registro $s0
addi $s0, $s0, 1 # aggiunge 1
# in questo modo c diventa -c per il complemento a due

fine: ...