Untitled

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

.

data
    ms1 BYTE "Ingrese una frase: ",0
    palabra BYTE 256 DUP (?)
    ms2 BYTE "Numero de caracteres ingresados: ",0
    conteo DWORD ?

.code
main PROC
    call Clrscr
    mov edx,OFFSET ms1
    call WriteString
    mov edx,OFFSET palabra
    mov ecx,SIZEOF palabra
    call ReadString
    mov esi,OFFSET palabra
    mov ebx,0
conteoloop:
    cmp BYTE PTR [esi],0
    je conteodone
    inc ebx
    inc esi
    jmp conteoloop
conteodone:
    mov conteo,ebx
    call Crlf
    mov edx,OFFSET ms2
    call WriteString
    mov eax,conteo
    call WriteDec
    call Crlf
    call WaitMsg
    exit
main ENDP
END main

.data
    ms1 BYTE "Ingrese una cadena: ",0
    cadena BYTE 256 DUP (?)
    ms2 BYTE "Ingrese la posicion a modificar: ",0
    ms3 BYTE "Ingrese el caracter para reemplazar: ",0
    result BYTE "La cadena modificada es: ",0
    result2 BYTE " posicion: ",0
    result3 BYTE ", caracter usado: ",0
    pos DWORD ?
    letra BYTE ?

.code
main PROC
    call Clrscr
    mov edx,OFFSET ms1
    call WriteString
    mov edx,OFFSET cadena
    mov ecx,SIZEOF cadena
    call ReadString
    mov edx,OFFSET ms2
    call WriteString
    call ReadInt
    mov pos,eax
    mov edx,OFFSET ms3
    call WriteString
    mov esi,OFFSET cadena
    mov ecx,0
    call ReadChar
    mov letra,al

loop1:
    cmp BYTE PTR [esi],0
    je loop1_done
    inc ecx
    cmp ecx,pos
    je loop1_replace
    inc esi
    jmp loop1
loop1_replace:
    movzx eax,letra
    mov BYTE PTR [esi],al
    jmp loop1_done
loop1_done:
    call Crlf
    mov edx,OFFSET result
    call WriteString
    mov edx,OFFSET cadena
    call WriteString
    mov edx,OFFSET result2
    call WriteString
    mov eax,pos
    call WriteDec
    mov edx,OFFSET result3
    call WriteString
    movzx eax,letra
    call WriteChar
    call Crlf
    call WaitMsg
    exit
main ENDP
END main

You might also like