Ensamblador - necesito ayuda para un programita en assembler

 
Vista:

necesito ayuda para un programita en assembler

Publicado por FabianB (1 intervención) el 28/11/2000 00:00:00
Yo necesito realizar un programa que a partir de la cadena ´abcde$9876´ me de la posicion del caracter ´$´.
aqui van los datos:

CADENA DB ´ABCDE$9876´
LONG DB 10
CARACT DB ´$´
POSI DB ?

Muchas gracias!
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:necesito ayuda para un programita en assembler

Publicado por Nigger (1 intervención) el 28/11/2000 00:00:00
hay una interrupcion que te escanea un ccaravcter del teclado, metelo en un bucle y ya la obtienes, siento no ser mas especifico, pero espero haberte oriendtado algo
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:necesito ayuda para un programita en assembler

Publicado por Pedro Pablo (21 intervenciones) el 06/12/2000 00:00:00
No recuerdo los nombres de las variables que has puesto, a si es que tendré que usar otros ;-)
Supongo que lo que quieres es un programita que recorra la cadena, cuyo tamaño guardas en unas de tus variables, hasta que ésta termine o encuentres el ´$´.

Sería más o menos así:

mov bx,OFFSET cadena ; BX tendrá la dirección del primer caracter de la cadena.
mov cx, TamCadMaximo ; CX es el tamaño máximo de la cadena.
otromas:
mov al, [bx] ; En bx tendremos el siguiente caracter
cmp al, ´$´ ; Lo comparamos con el que buscas.
je encontrado
; Es un caracter distinto.
inc bx ; BX apunta a la siguiente letra.
loop otromas ; Decrementamos CX, y saltamos a "otromas" si todavía quedan letras (CX es distinto de 0)
; Si llegamos aquí, la cadena se ha terminado y no hemos encontrado el caracter ´$´
; Hacer lo que sea.

encontrado:
; Hemos encontrado el caracter ´$´
; en BX tenemos la dirección de memoria donde está. La posición será esa menos la inicial.
mov ax, offset Cadena
sub bx,ax
mov Posicion, ax


Espero que te sirva.
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