elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: [1]
1  Programación / ASM / Re: Ayuda Volumen de una Esfera en: 12 Enero 2014, 15:11 pm
Hola

No se nada sobre la arquitectura Mips, pero si se que tienes que utilizar las instrucciones de como flotante para hacer eso, estas usando las de calculo general. Mirate esto.

Código:
http://www.doc.ic.ac.uk/lab/secondyear/spim/node20.html

Y sobre tu ultima pregunta, pues como estas utilizando las syscall del sistema, no se cual sera, enteoria seria cargar el resultado de la multiplicacion o division en el registro adecuado "parametro" y llamar a la syscall asi es como funciona en amd64, pero antes asegurate si la syscall soporta numeros decimales.

Un saludo.

Gracias por responder :) ya lo tengo todo solucionado y el ejercicio hecho, ahora subo la respuesta.
Gracias a todos
PD:Syscall admite flotantes
2  Programación / ASM / Re: Leer Cadena de Caracteres en: 10 Enero 2014, 16:25 pm
Ya lo he arreglado, he aqui el bueno
Código:
.data 
string_10: .asciiz “Caracteres”
string_20: .asciiz “AquiVeinteCaracteres”
string_pideString_10: .ascizz “Introduce una cadena de 10 caracteres”
string_pideString_20: .ascizz “Introduce una cadena de 20 caracteres”




.text
.globl __start
__start

la $a0,string_pideString_10 #Pide una cadena de 10
jal put_str

la $4,string_10 #Lee la cadena que se ha introducido
la $5,10
jal read_string_10



la $a0,string_pideString_20 #Pide una cadena de 20
jal put_str

la $4,string_20 #Lee la cadena que se ha introducido
la $5,20
jal read_string_20





jal fin
#---------------------------Subrutinas----------------------------------#

read_string_10:
li $v0,8 # función de syscall: read_string
la $a0,0x10010000 # direc. base del buffer donde se escribe
# la cadena introducida por consola (teclado)
li $a1,10 # tamaño del buffer: 10 caracteres
syscall # Lectura de cadena





read_string_20:
li $v0,8 # función de syscall: read_string
la $a0,0x10020000’ # direc. base del buffer donde se escribe
# la cadena introducida por consola (teclado)
li $a1,10 # tamaño del buffer: 10 caracteres
syscall # Lectura de cadena


fin:
li $v0,10 #Cierra consola y finaliza programa.
syscall

3  Programación / ASM / Re: Ayuda Volumen de una Esfera en: 10 Enero 2014, 16:09 pm
Se lo que viene a ser cargar datos en resitros y tal, esoty en primero de telecomunicaciones y java si sé pero ensamblador en mips solo cargar en direcciones.
Si supiera como hacerlo creedme que lo haría.
Tengo esto de momento (lo que se, cargar numeros. )
Código:
.data	
dat_pi: .float 3.1415926
str_res: .asciiz “El Volumen de la esfera es: “
radio: .float 1.0 #Esto es un valor temporal
.text
.globl __start
__start:

l.s $t0,radio
li $t1,4

Lo que no se es cuales son las subrutinas para leer un float. gracias



he avanzado con ayuda de otro foro y tengo ésto:
Código:
.data	
dat_pi: .float 3.1415926
string_result: .asciiz “El Volumen de la esfera es: ”
str_pide_radio .asciiz “Introduzca el radio de la esfera”
radio: .float 1.0 #Esto es un valor temporal
.text
.globl __start
__start:

l.s $t0,dat_pi #Cargamos PI
li $t1,4 #Cargamos 4

la $a0,str_pide_radio #Pide radio
jal put_str


la $4,radio #Lee el numero introducido
jal get_sfloat





#----------------------------------SUBRUTINAS-----------------------------------------------#

get_sfloat: #Lee un flotante simple de la consola.
li $v0,6
syscall
jr $31


put_str:
li $v0,4 #Escribe una cadena de texto en la consola.
syscall
jr $31



fin:
li $v0,10 #Cierra consola y finaliza programa.
syscall




Creo que tengo todo y solo queda multiplicar y dividir, ge buscado como hacerlo en google y me sale ésto:
Código:
mult rs, rt 
Multiplicación R
 Multiplica el contenido de los registros rs y rt. Los 32 MSB
 del resultado se
almacenan en el registro HI y los 32 LSB
 en el registro LO

Mi duda es:¿Como uso el resultado de la multiplicacion? gracias
Com me dijisteis he aportado mi código.
4  Programación / ASM / Leer Cadena de Caracteres en: 10 Enero 2014, 11:59 am
Hola me dan este ejercicio:

Desarrollar un código compuesto por un programa principal y una única subrutina que sirva para leer de consola una cadena de caracteres.  El programa principal hará uso en dos ocasiones de dichas subrutinas para almacenar en memoria dos cadenas diferentes, de tamaño 10 y 20 respectivamente, las cuales serán almacenadas a partir de las posiciones 0x10010000 y 0x10020000.

Tengo esto pero creo que esta mal:
Código:
.data
string_10: .asciiz “Caracteres”
string_20: .asciiz “AquiVeinteCaracteres”
string_pideString_10: .ascizz “Introduce una cadena de 10 caracteres”
string_pideString_20: ,ascizz “Introduce una cadena de 20 caracteres”




.text
.globl __start
__start
la $a0,string_pideString_10
la $4,string_10
la $5,10
jal read_string_10

la $a0,string_pideString_20
la $4,string_20
la $5,20
jal read_string_20

jal fin
#---------------------------Subrutinas----------------------------------#

read_string_10:
li $v0,8 # función de syscall: read_string
la $a0,string_10 # direc. base del buffer donde se escribe
# la cadena introducida por consola (teclado)
li $a1,10 # tamaño del buffer: 10 caracteres
syscall # Lectura de cadena





read_string_20:
li $v0,8 # función de syscall: read_string
la $a0,string_20 # direc. base del buffer donde se escribe
# la cadena introducida por consola (teclado)
li $a1,10 # tamaño del buffer: 10 caracteres
syscall # Lectura de cadena


fin:
li $v0,10 #Cierra consola y finaliza programa.
syscall

Creo que esta mal a ver si me ayudais gracias
5  Programación / ASM / Re: Ayuda Volumen de una Esfera en: 10 Enero 2014, 11:56 am
el probñema es que no se como empezar :S necesito como empezar gracias no pretendo el codigo
6  Programación / ASM / Ayuda Volumen de una Esfera en: 9 Enero 2014, 19:03 pm
Saludos! Soy nuevo en el foro, espero ser de ayuda, JAVA es mi fuerte pero ensamblador... Necesito hacer una programa en ensamblador MIPS para éste sábado, se trata de calcular el volumen de una esfera. Se debe introducir por teclado el radio.
A ver si me podeis ayudar en como empezar éste programa.

Un saludo y gracias.
:)
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines