Programación General > ASM (Ensamblador)
Ordenar Arreglo En Assembler De Vax-11
(1/1)
nf7me:
hola q tal, antes q nada.
Disculpen por pedir ayudar sobre una Tarea que hay q realizar, me disculpo, el assembler no es lo mio, lo mio es C++,PHP , y he ayudado a mucha gente en estos lenguajes en distintos foros. espero que algien me pueda ayudar.
He estado muy ocupado, resfriado , y ganando algunos pesos arreglando unos pc, y no he tenido mucho tiempo para realizar la tarea, que de esta tarea depende que aprobemos el Ramo.
La Tarea es la Siguiente :
--- Citar ---Dado una arreglo de registros, en que cada registro contiene una letra y un número entero. El arreglo se encuentra ordenado por las letras, por ejemplo:
Se le pide elaborar un programa en assembler que permita construir un arreglo de índices tal que se pueda acceder a los registros del arreglo según el orden de los números, en el ejemplo el programa construiría el siguiente arreglo de índices:
--- Fin de la cita ---
El Emulador de la VAX-11 lo encuentran aqui
La verdad estaria muy agradecido si alguien me puede ayudar, de verdad sera recompensado :) , la fecha limite de entrega es hoy 4 uff
Thnx
nf7me:
En las guias del profe, esta el siguiente codigo, muy similar a lo que se pide
--- Código: Text --- arr: .byte ^a/A/,30,^a/B/,20,^a/C/,50,^a/D/,10,^a/E/,40ind: .blkl 5finInd: .blkl 1.entry ej, ^m<r3> ;LLENA INDICE ind CON DIRECCIONES DE 2da. CLAVE DE arrmoval arr+1,r6 ;r6 recorre arrmoval ind,r7 ;r7 recorre ind WHILE1: cmpl r6,#indbgtr ENDWHILE1movl r6,(r7)+addl #2,r6brb WHILE1ENDWHILE1: ;ORDENA INDICE PARA ACCEDER A arr EN ORDEN ASCENDENTE SEGUN NUMEROS.;USA SELECCION DIRECTAmoval ind-4,r6 ;r6 es iWHILE2: cmpl r6,#finInd-8 ;mientras i sea menor que n-1bgtr ENDWHILE2movb @4(r6),r8 ;r8 es menoraddl3 #4,r6,r9 ;r9 es posicion del menoraddl3 #4,r6,r7 ;r7 es jWHILE3: cmpl r7,#finInd-4 ;mientras j sea menor que nbgeq ENDWHILE3IF: cmpb @4(r7),r8 ;si se encuentra uno menorbgeq ENDIFmovb @4(r7),r8 ;cambia menor y su direccionaddl3 #4,r7,r9ENDIF:addl #4,r7brb WHILE3ENDWHILE3:movl 4(r6),r10 ;intercambia direccion de menor con el direccionado con imovl (r9),4(r6)movl r10,(r9)addl #4,r6brb WHILE2ENDWHILE2:$exit_s.end ej
Navegación
Ir a la versión completa