Usar variavel como vetor

Usar variavel como vetor

por Gabriel Torres Gomes Pato -
Número de respostas: 2
Nao estou conseguindo escrever byte por byte numa variavel. Hj depois da aula o monitor disse que daria pra usar algo do tipo

str resb 6

mov ax,0

_loop
mov [str+ax],ecx ;onde ecx contem um byte lido do arquivo
inc ax
cmp ax,5
jne _loop


para fazer algo como se fosse v[0] = a; v[1] = b etc...
Alguem sabe como fazer algo assim em assembly?
Em resposta à Gabriel Torres Gomes Pato

Re: Usar variavel como vetor

por Tiago Nicolosi -
Fala Gabriel!

Pelo oque entendi, existem registradores especificos para voce fazer isso. Tente usar bx como base, ou seja, str -> bx e di como o registrador de incremento, ax -> di, no seu caso.

Acredito que isso resolva.
Em resposta à Gabriel Torres Gomes Pato

Re: Usar variavel como vetor

por Fernando Aluani -

Troca o ecx naquele MOV pelo CL.

O ecx inteiro sao 4 bytes enquanto um char é um byte só, e como te expliquei hoje lá na BCC, o CL tem o menor byte do ECX, que será o byte lido.

E como voce tambem só está incrementando até chegar a 5, não precisa de um número de 16bits pra isso, portanto voce pode usar o AL em vez do AX que também deverá funcionar.  Mas não acho que esse seja o problema principal aqui.