|
92
|
Programación / ASM / Re: problema con la definicion de la variable
|
en: 9 Mayo 2014, 15:42 pm
|
a ver os explico , tengo una asignatura en la uni en la que damos algo de asm , el caso es que para empezar (no vamos a dar asm , en el resto de la carrera , simplemente es para entender como se podria hacer y eso) usabamos un ordenador teorico que ellos habian construido , es decir para un procesador teorico que ellos habian creado para estudiar y el examen practico y demas lo hicimos para esa arquitectura , el problema es que nos mandaron al final un trabajo para arquitectura 86-32 y no nos dieron tablas de equivalencia ni nada y fue un follon por ej el nombre de los registros en el computador teorico eran r1 ,r2 ,..r6 y r7 que era el puntero la resta era sub r1,r2,r3 siendo r1 el registro donde lo guardabas , etc... vaya que cambiaban un monton de cosas y no nos informaron bien pero bueno me puse a buscar por internet como se tenian que llamar los registros etc.. y ya se como funciona y ya me funciona el proyecto gracias de todas maneras , aunque hay una pequeña cosa que me paso y no se a que se debe que diferencia hay entre esto sub eax,ecx ; [resta a -c] JS consequent ;[como estoy comparando numero con signo tengo que mirar que las flags de signed y overflow sean distintas para mirar la operacion a<0] jmp next consequent: ;[en caso de ser negativo lo paso a positivo] NEG eax ;if eap is neggative change sing next:
sub ebx,edx ; [resta b - d] JS consequent2 jmp next2 consequent2: NEG ebx ;if eap is neggative change sing next2:
y esto : sub eax,ecx ; [resta a -c] sub ebx,edx ; [resta b - d]
JS consequent ;[como estoy comparando numero con signo tengo que mirar que las flags de signed y overflow sean distintas para mirar la operacion a<0] jmp next consequent: ;[en caso de ser negativo lo paso a positivo] NEG eax ;if eap is neggative change sing next:
JS consequent2 jmp next2 consequent2: NEG ebx ;if eap is neggative change sing next2:
con el primer code me funciona, con el segundo no y no entiendo el porque porque en el if , no toco el registro del otro valor asi que no se a que debe un saludo y gracias por la ayuda
|
|
|
93
|
Programación / ASM / Re: problema con la definicion de la variable
|
en: 9 Mayo 2014, 13:30 pm
|
¿Incorrecto nombramiento de los registros? ( esb, eox, ESB, etc )
si perdon se me olvido modificarlo para que todos se llamasen igual ,lo acabo de modificar ahora pero la pregunta esta en que si todos se llaman igual , porque me siguen saltando las alertas ? es decir como tengo que llamar a los registros etc... , un saludo y muchas gracias
|
|
|
94
|
Programación / ASM / problema con la definicion de la variable
|
en: 8 Mayo 2014, 23:03 pm
|
hola a todos , estoy una funcion en asm , es la primera vez que hago algo a este nivel el metodo lo que tiene que hacer es que dados 4 valores me diga la distancia al objetivo en c++ seria asi: int distanceShipBomb(int xShip, int yShip, int xBomb, int yBomb){ return max(abs(xShip-xBomb),abs(yShip-yBomb)); } el problema esta al pasarlo a asemblador , ya hice lo de extern "C" int distanceShipBomb(int xShip, int yShip, int xBomb, int yBomb); y cree el archivo bien y eso el codigo en asemlador que tengo es este :
.386 .model flat, C
.code
PUBLIC distanceShipBomb
distanceShipBomb PROC
;ARQUITECTURA 86-32 DE INTEL
push esb ; pointer variable s [la variable que se encargara de ser el puntero ] mov esb, esp; [hago que mi puntero sea igual al puntero base] push eax ; x ship a [meto en el stack la variable a ]
push ebx ; y ship b [meto en el stack la variable b ] push ecx ; x bomb c [meto en el stack la variable c ] push edx ; y bomb d [meto en el stack la variable d ] push eox ; o =0 [meto en el stack la variable o que sera oara compararlo con 0 ] inc esb inc esb inc esb inc esb inc esb ; adjust pointer [incremente el puntero 5 veces , una por cada elemento en el stack]
xor eox , eox ; [hago que eox sea igual a 0]
sub eax,ecx ; [resta a -c] sub ebx,edx ; [resta b - d] cmp eax , eox ; [compara a con 0] JS consequent ;[como estoy comparando numero con signo tengo que mirar que las flags de signed y overflow sean distintas para mirar la operacion a<0] JNO consequent
jmp next consequent: ;[en caso de ser negativo lo paso a positivo] NEG eax ;if eap is neggative change sing next:
JNS consequent2 ; [aqui en ek otro caso que se puede dar que la flag s sea 0 y o =1 ] JO consequent2
jmp next2 consequent2: NEG ebx ;if eap is neggative change sing next2:
cmp ebx , eox ;[exactamente lo mismo que lo anterior pero esta vez con la variable b ] ;PD se poco de asemblador pero supongo que para evitar la repeticion se podra hacer una funcion , si me echais os lo agradeceria
JS consequent3 JNO consequent3
jmp next3 consequent3: NEG ebx ;if eap is neggative change sing next3:
JNS consequent4 JO consequent4
jmp next4 consequent4: NEG ebx ;if eap is neggative change sing next4: OR eax,ebx ; [hago una operacion or para quedarme con el mayor ]
pop eox ; [dejo lmpio el stack de nuevo] pop edx pop ecx pop ebx pop eax
pop esp ret ; [retorno]
distanceShipBomb ENDP ;[fin funcion]
END
el error que me marca una y otra vez es este 1>------ Operación Compilar iniciada: proyecto: TeamWrok-Winter-2014, configuración: Debug Win32 ------ 1> Assembling Distance.asm... 1>Distance.asm(10): error A2006: undefined symbol : esb 1>Distance.asm(11): error A2006: undefined symbol : esb 1>Distance.asm(24): error A2006: undefined symbol : eox 1>Distance.asm(25): error A2006: undefined symbol : eox 1>Distance.asm(29): error A2006: undefined symbol : ESB 1>Distance.asm(31): error A2006: undefined symbol : eox 1>Distance.asm(36): error A2006: undefined symbol : eox 1>Distance.asm(55): error A2006: undefined symbol : eox 1>Distance.asm(75): error A2006: undefined symbol : eox 1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\BuildCustomizations\masm.targets(49,5): error MSB3721: El comando "ml.exe /c /nologo /Zi /Fo"Debug\Distance.obj" /W3 /errorReport:prompt /TaDistance.asm" salió con el código 1. ========== Compilar: 0 correctos, 1 incorrectos, 0 actualizados, 0 omitidos ==========
os agradeceria un monton que me pudieseis ayudar con el problema, llevo peleando con el toda la tarde y no he sido capaz Un saludo y gracias
|
|
|
95
|
Informática / Hardware / Re: ¿Portátil o torre?
|
en: 3 Mayo 2014, 14:13 pm
|
jaja otro mas que se una a la carrera , a ver yo empece la carrera este año y me compre un ordenador por piezas , es lo que yo te recomiendo , tengo un ordenador muy potente y gaste unos 700 e , si lo hubiese comprado entero me habria salido por unos 1200e
si quieres el listado de piezas , mandame un mp
A y si empiezas ing el año que viene ponte las pilas , porque van a poner nota de corte y va hacer creo de un 8 y pico asi que a estudiar para la pau (aqui en asturias fijo , mira en tu universidad)
|
|
|
96
|
Programación / Desarrollo Web / Re: Librería para juegos javascript.
|
en: 3 Mayo 2014, 14:10 pm
|
a ver yo te comento , hace poco que me puse yo tambien ha hacer algun juegecillo que otro , te recomiendo que uses el motor grafico unity y que uses sus librerias que tienen para las fisicas , son simples de usar y muy eficaces eso si te vas a tener que estar unas horitas leyendo la libreria , para saber hacer scripts mas o menos decentes
ademas la pagina de unity tiene muy buenos tutoriales , desde nv basico hasta avanzado(estan en desarrollo estos ultimos )
si estas interesado te puedo pasar el enlace de unos videoturoriales para que empieces con unity (eso si estan en ingles , pero es facil de entender )
|
|
|
97
|
Foros Generales / Foro Libre / Re: El futuro de las personas superdotadas
|
en: 27 Abril 2014, 19:56 pm
|
Yo pienso que entre una persona de 110 y de 160 no hay gran diferencia, la continua .... ¿Por que cojones tengo que estudiar 4 lenguas, y no puedo estudiar un lenguaje de programación? Y así miles de preguntas que me hago ahora pero no acabaría... Bueno voy a dejar esto por ahora y ya seguiré el hilo. Un saludo a todos que conste que estoy de acuerdo en parte , pero a ver que pasaria si fueses el niño mas listo del mundo pero nadie te enseñase las matematicas , o lengua , a ver me explicare mejor ,se que hay muchas asignaturas que podria decirse que estan de ''relleno'' , pero tampoco es que crea que el sistema educativo sea malo , podria ser muchisimo mejor ,si. Por soñar que no quede , lo ideal seria poder escoger a partir de primaria que cosas quieres estudiar (me saltare el punto en el que la gente no sabe aun que hacer con su vida , ej gente que llega a bachiller y escoge una rama por pito pito gorgorito) , entonces hay ya no habria queja de estudiar lo que uno no quiere. Soy el primero en ponerme de ejemplo , pase bachiller con un expediente de lo mas mediocre al torno del 5.8 o algo asi , las unicas asignaturas que me despertaban un poco el interes fueron , tecnologia industrial , informatica y filosofia (me gustaba la asignatura y pensar acerca de ello , no tener que chaparme todas las hojas) y un poco fisica . Lo dicho acabe bachiller hice la pau y ahora estoy en ing informatica y para sorpresa estoy sacando mucha mejor nota en la carrera , en este semestre por ej es raro que bajase del 7 , a excepcion de estadistica jaja eso es de comer aparte , a lo que iba que estudiando esto que me gusta me es mucho mas facil todo y me presta estudiar pq es algo que quiero y se que me servirá de ayuda Pero no podria a ver hecho esto sin haber tenido una base previa , es decir si me hubiese puesto sin haber dado fisica , mate y ingles en esta carrera no la aprobaria ni de loco . En resumen el sistema se puede mejorar , todo es mejorable , pero para eso necesitamos a gente competente y leal a principios ,que es algo que se deberia aprender y en profundo , me da asco ver la actitud de las personas de este pais y en general , si puedo robo , si puedo copio , si puedo te insulto y te envidio en lugar de adularte y intentar aprender de ti , etc... bueno se que he sido un poco extenso con la respuesta jaja , pero sinceramente la culpa es en gran parte de los ciudadanos , los politicos son su representacion (a ciudadanos "malos" , politicos "malos",ing "malos",etc...)
|
|
|
98
|
Foros Generales / Foro Libre / Re: El futuro de las personas superdotadas
|
en: 27 Abril 2014, 17:36 pm
|
a ver te comento ,lo de mensa es para aquellas personas que tengas mas de 110 de cr sino me equivoco yo hice el test e me salio que tenia 127 y no soy ninguna celebridad , fui a una escuela publica y ahora estoy estudiando ing informatica , sinceramente creo que lo de clasificar a la gente por superdotada o no es una tonteria , simplemente da lo mejor de ti , hay casos de gente subnormal (no en el sentido malo de la palabra , me refiero a la gente de menos de 90 de cr ) que han logrado sacar la carrera , quizas les cueste mas pero el merito es todo de ellos
aquellos que de verdad sean genios , tranquilo que antes o despues se hacen notar
|
|
|
|
|
|
|