Programación General > ASM (Ensamblador)

 De Masm A Tasm

(1/1)

vikhtor:
Bueno soy nuevo en este foro, y tengo este programa, yo acostumbrado a usar TASM, no entendi algunas lineas de este programa( la parte de ASM), pero se supone q el programa corre y pide dos datos (coordenadas) y de acuerdo a esos datos la parte de ASM coloca el cursor en la posicion de las coordeadas pedidas desde C, pero al monento de compilar el programa me sale errores en la parte de ASM y no entiendo mucho de ellos ya que como dije antes no estoy acostumbrado a la estructura de los programas en MASM, bueno creo por los programas q he visto en este foro que es MASM. agradezco si alguien me aconseja como convertir esto de tal manera q quede a lo q acostumbro-->TASM

--- Código: Text ---#include <stdio.h>void main (void){extern int curso(int,int);int temp_row, temp_col;printf("Enter cursor Row:");scanf("%d",&temp_row); printf("Enter Cursor Column:");scanf("%d",&temp_col); set_curs(temp_row, temp_col);printf("New Cursor Location\n");}//------------------------------ _DATA segment word 'DATA'row equ [bp+4]col equ [bp+6]DATA ends _TEXT SEGMENT BYTE PUBLIC 'CODE'_DGROUP GROUP _DATA       ASSUME CS:_TEXT, DS:GROUP, SS:DGROUP   PUBLIC _SET_CURS_SET_CURS PROC NEAR  PUSH BP  MOV BP,SP   MOV AH,02H  MOV BX,0  MOV DH,ROW  MOV DL,COL  INT 10H   POP BP  RET_SET_CURS ENDP_TEXT ENDS   END  

Eternal Idol:
Primero y principal es que eso no parece que deba ser compilado por un compilador de C/C++ sino que parece ser un modulo de assembly independiente. De otra manera solo serian instrucciones encerradas entre asm { } o algo parecido (__asm por ejemplo). Puede ser para enlazar mediante codigo objeto (.obj) por ejemplo o libreria estatica (.lib).

Segundo, el codigo tal como lo mostras no ensambla de ninguna manera. Si cambiamos la linea DATA ends por _DATA ends tal vez podria ensamblar en alguna version de MASM, en la que yo tengo de 16 bits no ensambla por esto:
_DGROUP GROUP _DATA

Segun encontre por ahi es valido pero no se ...

Igualmente si sabes usar TASM, adapta este codigo que es lo unico que realmente hace el trabajo:


--- Código: Text ---   PUSH BP  MOV BP,SP   MOV AH,02H  MOV BX,0  MOV DH,[bp+4]  MOV DL,[bp+6]  INT 10H   POP BP  RET  
Solo cambie los equ's de row y col pero me parece que TASM tambien los soportaba ... e incluso tenia una forma de ensamblar segun MASM ...

Navegación

[0] Índice de Mensajes

Ir a la versión completa