Pregunta: | 6837 - ¿COMO SE PASAN PARAMETROS EN ENSAMBLADOR? |
Autor: | salvador tojo quintela |
Lo que quiero es pasar parametros a un programa, para utilizarlos dentro del programa para la toma de decisiones dentro del programa. |
Respuesta: | Leonardo Almñana |
Disculpen si les enoja, pero el pibe de la segunda respuesta se equivoco, dijo que era C y era pascal, y ademas segun yo creo el chico que pregunta se refiere a pasar parametros de la linea de comando so
el c seria #Includes ... Definiciones ... int main(int argc,string argv[]){ ... codigo loco ASM mov AX,12H ; ejemplo de statement asm ... return 0; } so en ese codigo llamando mediante la directiva ASM le podes pasar variables de c donde le pasarias algun item del Array Argv[] que es el de contenidos de argumentos, y si queres Argc que es la cuenta de cantidad de argumentos, el que quiera mandeme un mail a [email protected] por que estoy armando un grupito de desarrollo para hacer algunas cosas locas en ASM y C++, se escuchan propuestas. |
Respuesta: | Martín H. Bustos |
De acuerdo a lo que te entiendo sería de la siguiente manera(Utilizando Turbo Pascal v. 7.0):
PROGRAM NOMBRE_PROGRAMA; VAR LETRA:WORD; BEGIN WRITE(´INGRESE UN CARACTER´); ASM MOV AH,00H: {INT. PARA LEER EL CARACT. INGRESADO INT 16H; {DEVUELVE EL CARACTER EN EL REGISTRO AL MOV LETRA,AL; END; WRITELN(EL CARACTER INGRESADO ES: ´,AL); READLN; END. En síntesis. Debes declarar un variable(En el lenguaje que utilizas) de acuerdo al tamaño del registro(De Ensamblador) que quieres pasar como parametro(En nuestro caso AL, tamaño: Word) y luego haz lo que deseas. Cualquier duda sólo mándame un mail.Hasta la próxima !!!. |
Respuesta: | .. ... |
Por lo que medio te entiendo: realizas un proceso en asm y necesitas sus respuestas.
...aplicando C para la toma de los datos Bien, si es así, lo he hecho pasando el valor a un registro principal (ax, bx, ...o por lo menos me ha salido con estos dos), luego y en C los tomo como si estuvieran en unas variables con el mismo nombre, pero en mayúscula : _AX, _BX -> con la rayita. Un ejemplo sería algo así: .. asm mov ax, valor return _AX |