blasted Posted June 12, 2012 Report Share Posted June 12, 2012 (edited) Boa pessoal, tenho uma pequena dúvida. Já tenho a minha string a ser invertida, mas gostava de a conseguir guardar noutro array antes de fazer o output dela, e é isso que não estou a conseguir. Se poderem dar uma pequena ajuda, agradecia muito. Este é um pequeno excerto do código: imaginando que a [string1] tem o valor "asdf". O output é "fdas" Está tudo bem até aí, só que não sei como armazenar esse valor na [string2] ;guardar o tamanho da string para o contador mov cx, ax sub ax, 1 mov bx, ax inverter: push cx lea dx, [string1 + bx] ; guardar o valor de bx usado para index invertido push bx mov di,dx ; CX = number of bytes (Apenas um caracter) mov cx,1 ; output mov ah,40h mov bx,1 int 21h ; restaurar o valor de bx usado para o index invertido pop bx dec bx ; restaurar o valor de CX para o loop pop cx loop inverter ;esta parte não está a fazer nada... ainda lea dx, [string2] mov ah,40h mov bx,1 int 21h Edited June 12, 2012 by blasted Link to comment Share on other sites More sharing options...
bsccara Posted June 12, 2012 Report Share Posted June 12, 2012 1) Antes de entrar no ciclo 'inverter' mete 'lea di, [string2]' 2) Tira a instrução 'mov di,dx', que não serve para nada 3) Em vez dela mete 'mov al, [dx]' e 'mov [di], al' 4) Depois do 'dec bx' mete 'inc di' 5) Após 'loop inverter' mete 'xor al, al' e 'mov [di], al' Link to comment Share on other sites More sharing options...
blasted Posted June 13, 2012 Author Report Share Posted June 13, 2012 Tenho erro nesta instrução que me indicaste: mov al, [dx] Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now