Programa em Assembly

Myself*

Power Member
segment data
cadeia dw 'abcdefghijlmnopqrst0'
caractere db 'e'
contador db 0
i db 0

segment code
..start:
mov ax, data
mov ds, ax
mov ax, [caractere]
mov bx, [cadeia]
mov cx,
mov dx, [contador]

ciclo: cmp bl, 0
je fim

cmp bl, al
je inc
jmp ninc
inc: call incrementa
ninc: cmp bh, 0
je fim

cmp bh, al
je inc2
jmp ninc2
inc2: call incrementa
ninc2: add cx, 2
mov bx, [cadeia+cx]
jmp ciclo

incrementa
add dx, 1
ret

fim: mov [contador], dx

mov ah, 4ch
int 21h


Como explico as instruções, deste programa? Ideias... Não consigo perceber Assembly e tb não encontro tutoriais sobre isto. Penso que este programa diz respeito á contagem da ocorrência de um dado carácter numa cadeia com 20 caracteres e que termina em 0, mas não tenho a certeza. Tenho k comentar cada uma das etapas do programa. Alguem me ajude...
 
Última edição pelo moderador:
Back
Topo