Autor
|
Tema: Escribir funcion equivalente en C (Leído 3,041 veces)
|
Kougami
Desconectado
Mensajes: 53
|
Buenas, escribia porque no se como sacar una funcion equivalente en C del siguiente codigo escrito en asm: .global rgb2gray .equ COEF1, 3483 .equ COEF2, 11718 .equ COEF3, 1183 .text rgb2gray: ldr r3, =COEF1 mul r0, r3, r0 ldr r3, =COEF2 mla r0, r3, r1, r0 ldr r3, =COEF3 mla r0, r3, r2, r0 mov r0, r0, lsr #14 mov pc, lr
Si me pudieseis ayudar estaria genial. Muchas gracias de antemano
|
|
|
En línea
|
|
|
|
MAFUS
Desconectado
Mensajes: 1.603
|
¿Sabes que hace cada instrucción?
|
|
|
En línea
|
|
|
|
Kougami
Desconectado
Mensajes: 53
|
Mas o menos,
Se que ldr guarda en R3 los distintos coeficicentes, y luego que mul hace una multiplicacion, mla no se lo que hace y luego mov r0, r0, lsr #14 no se lo que hace y finalmente el mov pc, lr es el epilogo de la subrutina
|
|
|
En línea
|
|
|
|
|
Kougami
Desconectado
Mensajes: 53
|
No, no es para la universidad, sino para el instituto. Gracias por el enlace, creo que lo tengo traducido, no hay ningun tipo de bucle ni nada no?
|
|
|
En línea
|
|
|
|
MAFUS
Desconectado
Mensajes: 1.603
|
Es lineal.
¿Cuál es la asignatura?
|
|
|
En línea
|
|
|
|
Kougami
Desconectado
Mensajes: 53
|
TICO, Tecnologias de la informacion y la comunicacion
Dos cosas, la funcion en C es un void?? Y luego, los coeficientes, como son un .equ son constantes cuyo valor es el numero de al lado tal cual no?
|
|
|
En línea
|
|
|
|
MAFUS
Desconectado
Mensajes: 1.603
|
En el ensamblador el resultado se queda en r0 y cuando regresa el valor seguirá en ese registro. Por tanto en C deberás regresar ese resultado.
Por si no entiendes mucho inglés: la instrucción mla mla regreso, multiplicando 1, multiplicando 2, sumando
deja en regreso el resultado de multiplicar multiplicando1 y multiplicando2 y, posteriormente añadir sumando
lsr, en ese contexto, desplazará hacia la derecha el contenido del registro de la instrucción mov tantos bits como se indique.
|
|
|
En línea
|
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
BATCH - Función máquina de escribir
Scripting
|
carlitos.dll
|
3
|
8,359
|
3 Octubre 2008, 22:17 pm
por -/lnkx/-
|
|
|
Equivalente de funcion REPLACE de vb en C ?
Programación C/C++
|
User
|
5
|
3,741
|
25 Julio 2012, 01:07 am
por User
|
|
|
llamar funcion equivalente a shell desde window mobile
.NET (C#, VB.NET, ASP)
|
sysfactory
|
1
|
2,349
|
18 Julio 2013, 06:14 am
por Eleкtro
|
|
|
Función equivalente a QueryFullProcessImageName para win XP
Programación C/C++
|
el_doctor
|
7
|
3,272
|
1 Diciembre 2014, 18:52 pm
por Eternal Idol
|
|
|
Funcion equivalente en C
ASM
|
Kougami
|
2
|
2,761
|
23 Mayo 2017, 21:59 pm
por Serapis
|
|