hexa
This commit is contained in:
		
							
								
								
									
										27
									
								
								q2/fonctio/tp2/simp-to-hex.s
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								q2/fonctio/tp2/simp-to-hex.s
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,27 @@ | |||||||
|  | 	.data | ||||||
|  | hex:	.asciiz "0123456789ABCDEF" | ||||||
|  | q1:		.asciiz "Entrez un nombre" | ||||||
|  | 	.text | ||||||
|  | main: | ||||||
|  | 	li $v0, 4 | ||||||
|  | 	la $a0, q1 | ||||||
|  | 	la $t9, hex | ||||||
|  | 	syscall | ||||||
|  |  | ||||||
|  | 	li $v0, 5 | ||||||
|  | 	syscall | ||||||
|  |  | ||||||
|  | 	li $t0 16 #base | ||||||
|  |  | ||||||
|  | divi: | ||||||
|  | 	div $v0, $t0 | ||||||
|  | 	mfhi $t2 | ||||||
|  | 	addu $t9, $t9, $t2  | ||||||
|  | 	lb $a0 0($t9) | ||||||
|  | 	li $v0, 11 | ||||||
|  | 	syscall | ||||||
|  |  | ||||||
|  | 	mflo $v0 | ||||||
|  | 	bne $v0, 0, divi | ||||||
|  |  | ||||||
|  | jr $ra | ||||||
| @ -1,27 +1,61 @@ | |||||||
| 	.data | 	.data | ||||||
| tab: .word case5, case6, case7, case8 | tab: .word case5, case6, case7, case8 | ||||||
| q1: .asciiz "Entrez un nombre entre 5 et 8:" | q1: .asciiz "Entrez un nombre entre 5 et 8:" | ||||||
|  | r5: .asciiz "case 5" | ||||||
|  | r6: .asciiz "case 6" | ||||||
|  | r7: .asciiz "case 7" | ||||||
|  | r8: .asciiz "case 8" | ||||||
|  |  | ||||||
| 	.text | 	.text | ||||||
| main: | main: | ||||||
| 	li $v0, 5 | 	# ask a number | ||||||
|  | 	li $v0, 4 | ||||||
| 	la $a0, q1 | 	la $a0, q1 | ||||||
| 	syscall | 	syscall | ||||||
|  |  | ||||||
| 	li $v0, 4 | 	# read the number | ||||||
|  | 	li $v0, 5 | ||||||
| 	syscall | 	syscall | ||||||
|  |  | ||||||
|  | 	li $t5, 5 | ||||||
|  | 	li $t4, 4 | ||||||
|  |  | ||||||
|  | 	sub $t1, $v0, $t5 | ||||||
|  |  | ||||||
|  | 	mult $t1, $t4 | ||||||
|  | 	mflo $t2 | ||||||
|  |  | ||||||
|  | 	# Load addr : tab | ||||||
|  | 	la $t1, tab | ||||||
|  | 	addu $t1, $t2, $t1 | ||||||
|  | 	lw $t0,0($t1) | ||||||
|  | 	jr $t0 | ||||||
|  |  | ||||||
| case5: | case5: | ||||||
|  | 	li $v0, 4 | ||||||
|  | 	la $a0, r5 | ||||||
|  | 	syscall | ||||||
|  |  | ||||||
| 	j end_case | 	j end_case | ||||||
|  |  | ||||||
| case6: | case6: | ||||||
|  | 	li $v0, 4 | ||||||
|  | 	la $a0, r6 | ||||||
|  | 	syscall | ||||||
|  |  | ||||||
| 	j end_case | 	j end_case | ||||||
|  |  | ||||||
| case7: | case7: | ||||||
|  | 	li $v0, 4 | ||||||
|  | 	la $a0, r7 | ||||||
|  | 	syscall | ||||||
|  |  | ||||||
| 	j end_case | 	j end_case | ||||||
|  |  | ||||||
| case8: | case8: | ||||||
|  | 	li $v0, 4 | ||||||
|  | 	la $a0, r8 | ||||||
|  | 	syscall | ||||||
|  |  | ||||||
| 	j end_case | 	j end_case | ||||||
|  |  | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user