Alguien podria ayudarme a hibridar este programa, me salen muchos errores a la hora de ligarlo con el obj del programa en C no se si este bien mi programa en o que rayos pase
este es mi codigo en asm
soy nuevo en esto de C
DOSSEG
.MODEL SMALL
.STACK 100h
.DATA
MSG DB 'INGRESA UNA CADENA: $'
MOSTRAR DB 13,10,'Numero de letras $'
puntos DB ': $'
cad DB " $"
letraMay DB ?
letraMin DB ?
contador DB 0
long DB 0
;contPalabra DB 0
existeLetra DB 0
lee_Cadena Macro
ENTRADA:
MOV AH,01h
INT 21h
CMP AL,13d
JE inicializa
MOV [BX+SI],AL
INC SI
INC long
JMP ENTRADA
ENDM
.CODE
XOR AX,AX
MOV AX,@DATA
MOV Ds, Ax
XOR Ax, Ax
MOV BX,OFFSET cad
MOV SI,0
MOV CL,0 ;contador de letras de abecedario
MOV CH,25d
MOV AX,SEG MSG ;MENSAJE PARA INGRESAR CADENA
MOV DS,AX
MOV DX,OFFSET MSG
MOV AH,09h
INT 21h ;MENSAJE PARA INGRESAR CADENA
lee_Cadena
inicializa:
XOR AX,AX
MOV SI,0
;MOV AL,long
MOV AH,0
MOV BX,OFFSET cad
MOV letraMay, 65
MOV letraMin, 97
contando:
MOV AL,[BX+SI]
CMP CL,CH ; 0>25
JG fin ;cl>ch
CMP AH,long ;contPalabra,long
JG sigLetra ; ah>al
CMP AL, letraMay
JE aumenta
CMP AL, letraMin
JE aumenta
INC AH
INC SI
JMP contando
aumenta:
INC contador
INC AH
INC SI
JMP contando
sigLetra:
INC CL
CMP contador,0
JG cuantas
todoCero:
INC letraMay
INC letraMin
MOV contador,0
MOV AH,0
MOV SI,0
JMP contando
cuantas:
MOV DX,OFFSET MOSTRAR ;mostrar letras
MOV AH,09h
INT 21h
mov DL,letraMin
mov AH,02h
INT 21h
MOV DX,OFFSET puntos
MOV AH,09h
INT 21h
add contador,48d
MOV DL,contador
MOV AH,02h
int 21h
JMP todoCero
fin:
MOV AH,4Ch
INT 21h ;Finalizar
END