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            &#59;r6 recorre arrmoval ind,r7              &#59;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.&#59;USA SELECCION DIRECTAmoval ind-4,r6            &#59;r6 es iWHILE2: cmpl r6,#finInd-8   &#59;mientras i sea menor que n-1bgtr ENDWHILE2movb @4(r6),r8          &#59;r8 es menoraddl3 #4,r6,r9            &#59;r9 es posicion del menoraddl3 #4,r6,r7            &#59;r7 es jWHILE3: cmpl r7,#finInd-4   &#59;mientras j sea menor que nbgeq ENDWHILE3IF: cmpb @4(r7),r8            &#59;si se encuentra uno menorbgeq ENDIFmovb @4(r7),r8          &#59;cambia menor y su direccionaddl3 #4,r7,r9ENDIF:addl #4,r7brb WHILE3ENDWHILE3:movl 4(r6),r10            &#59;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

[0] Índice de Mensajes

Ir a la versión completa