kodiak Posted April 6, 2012 at 05:32 PM Report #447956 Posted April 6, 2012 at 05:32 PM Olá. Tenho uma word de 32 bits em assembly. Os oito primeiro bits são o resultado de uma multiplicação e os oito seguintes de outra multiplicação. Se a primeira multiplicação der 8 e a segunda 12 como posso concatenar esses valores, isso é, ficar com o número 0x00000c08?
bsccara Posted April 6, 2012 at 06:10 PM Report #447965 Posted April 6, 2012 at 06:10 PM Rodas para a esquerda 8 vezes o resultado da segunda multiplicação (multiplicas por 256) e fazes o OR com a primeira (somas). Assumindo EAX = primeira, EDX = segunda e código para x86 : SHL EDX, 8 OR EAX, EDX Atenção que se os resultados tiverem mais de 8 bits isto não funciona.
kodiak Posted April 6, 2012 at 07:14 PM Author Report #447972 Posted April 6, 2012 at 07:14 PM Rodas para a esquerda 8 vezes o resultado da segunda multiplicação (multiplicas por 256) e fazes o OR com a primeira (somas). Assumindo EAX = primeira, EDX = segunda e código para x86 : SHL EDX, 8 OR EAX, EDX Atenção que se os resultados tiverem mais de 8 bits isto não funciona. Obrigado. Com estas indicações consegui resolver o meu problema 😉
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