Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
Ayuda!! Transferencia de 16 bits a registro de 32
Enviado por princejm el día 17 de marzo de 2006
Hola,
Soy una novata en ensamblador del 8086 y estoy haciendo un programa en el que tengo un vector de numeros de 16 bits al que apunta el registro si, y quiero ir sacando numero a numero y meterlo en un registro de 32 bits. Como lo hago???
Re: Ayuda!! Transferencia de 16 bits a registro de 32
Enviado por hiei el día 18 de marzo de 2006
Si lo metes en un registro de 32 bits sera EAX, EBX ECX o EDX no? Bien, eso ya no es 8086 puro porqe estaras usando instrucciones de i386... pero bueno, si me equiboco dimelo...
La idea es que los registros EAX, EBX, etc. se puede usar su parte baja como AX, BX, CX, y DX respectibmente... Es decir, que si yo hago
MOV EAX, 0200h
MOV AX, AAh
Tender en EAX el numero 02AAh porque la segunda instruccion no altera la parte alta del registro EAX...
Lo mismo pasa con EBX, ECX y EDX.
Para mover un dato de 16 bits a un registro (en este caso EAX, pero tambien funciona con EBX, ECX, y EDX) de 32 bits y dejar su parte mas significatiba (los 16 bits superiores) a cero haremos:
XOR EAX, EAX ; Esto limpia (pone a cero) EAX
MOV AX, WORD PTR [ SI ]
Aunque tengo algunas dudas de si esto es lo que pides... espero que te sirba. Si es otra cosa... especif8ica bien que es lo que debes hacer.
Re: Re: Ayuda!! Transferencia de 16 bits a registro de 32
Enviado por princejm el día 20 de marzo de 2006
Muchas gracias tío! Voy a probar eso que me dices a ver que pasa, es eso lo que quiero, yo no hacía un xor por lo que la parte alta de el registro de 32 bits contenia basura.
Re: Re: Re: Ayuda!! Transferencia de 16 bits a registro de 32
Enviado por Mayckher el día 20 de mayo de 2006
Saludos, disculpen la molestias le escribo porque no te que ustedes conoce y sabe mucho sobre como programar los micro
Nesecito que me ayude, yo soy un novato que esta comensando en estoy...............................
Quisiera saber si tiene un codigo para programar en un 8086 la multiplicacion de dos matrices................................
En realidad lo que necesito es que me ayude en lo siguiente:
Desarrolar un programa en lenguaje emsamblador, que efectue el producto de una matriz A de 3x3, numeros enteros por un vector de columnas Bd3 enteros. El resultado debera almanacenarse en un vector C de 3 enteros a tal fin, en el seg de datos deberan declararse A,B y C asignandole valores iniciales a A y B, y ceros a C.
Luego de efectuado el producto, debera presentarse la matriz en ASCII, para lo cual debera implementarse una subrutina auxiliar que convierta un numero entero a una cadena de caracteres ASCII que represente los resultados como numeros decimales, por ejemplo e, N° 0112h debera ser convertido a la cadena de caracteres ASCII *274* (32h,37h y 34h)
Los numeros A y B son de 8 bit, mientras los de C son de 16 bit
Los valores de A y B son fijos definidos por el programador
Tener en cuenta que los numeros pueden ser negativos,representados en complemento a 2.
De antemano le agradesco todo lo que pueda hacer por mi, muchas gracias......