Ensamblador - Pascal+ensamblador: pasar parámetros a un proced.

   
Vista:

Pascal+ensamblador: pasar parámetros a un proced.

Publicado por sxp (2 intervenciones) el 17/05/2008 23:34:52
Hola, bueno estoy tratando de jugar un poco con la int10h de la Bios. Y ensamblado con TASM
Lo que yo pretendía hacer era, utilizar el built in assembler de Turbo Pascal 7 para ello.
Hice algunos proced. en mi código Pascal que es el siguiente (previamente con otro proced,cambie el modo de pantalla a 320x200x256 colores y está ok)

Procedure ponpunto(color,coora,coorb:byte);assembler; {coora y coorb han sido declaradas como de tipo byte también}
asm
mov ah,0Ch
mov al,color
mov bh,00h
mov cx,coora
mov dx,coorb
int 10h
end;

La cuestión es que cuando luego, en el programa invoco al procedimiento:

ponpunto($30,$0010,$0010);

Esto me funciona para la el parámetro "color", pero no para los otros dos, es decir, para colocar un valor en CX y en DX.
Y no se como solucionarlo.
Todo parte de querer poder pasarle valores de variables de Pascal para modifica valores en el ensamblador. Como esto no pude hacerlo (ni se si se puede) pensaba enviar directamente los valores.
Si pudiera hacer esto, (intuyo), que podría facilitarme un poco ciertas cosas que no se bien hacer en ensamblador directamente.
Al no saber exactamente si clasificar esto como ensamblador o como pascal, he decidido dejarlo aquí. Disculpen si no es el lugar correcto.
Una cosa más, quería basarme en una web:
http://gargonscene.iespana.es/gargonscene/articulos/m13h01.htm, para un campo de estrellas 2D. Me desvié bastante de aquella página y de la manera en la que lo logra... Pero me gustaría aplicar lo que fuí aprendiendo... y despejar dudas.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Pascal+ensamblador: pasar parámetros a un proce

Publicado por ptpor (1 intervención) el 19/03/2010 23:15:07
MIRA LO QUE TIENES QUE HACER ES QUITAR ESA $
DE LOS PARAMETROS DEL PONPUNTO
Y YA ESTA ASI : EN VEZ DE HACER ponpunto($30,$0010,$0010)
HAS ponpunto(30,0010,0010)

Y LOS REGISTROS HAS ESTO
EJEMPLO
MOV AX,COLORH;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pascal+ensamblador: pasar parámetros a un proce

Publicado por xmaryposax (1 intervención) el 25/11/2010 05:46:14
yo creo que el problema esta en el tamaño de la variables ya que no son compatibles trata limpiando la parte, y asignando la variable a la parte baja u_U
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar