ARM Information Center
Ahi te explica mejor el uso de lsl..
Si quieres que sea 80, habras de tener 40, o el mcd de 80. (Que al ser una sola posibilidad es 1, si no 2,4,5..etc)
lsl lo que hacer es mover a la izquierda los bits del valor obtenido ry tantas posiciones como indiques en el rz.
Ejemplo: lsl rx,ry,rz =
Rx = registro destino
Ry = registro sobre el que operar
Rz = valor shift (un byte maximo).
Valores ejemplo:
Ry = 2
Rz= 2
Ry = 2; en bin => 10
Si lo movemos dos posiciones (empezando desde la derecha quedara:1000)
Que son 8
Otra manera de saberlo es ry en binario *10^rz.
En el ejemplo de antes 2= 10; 10*10*10=1000 -> 8
O tambien ry*2^rz.
2*2*2
Otro ejemplo:
ry= 3
Rz = 4
Total = 11*10000= 110000 -> 48.
3*2^4= 3*(2x2x2x2) = 3*16= 48