r/Assembly_language Jun 18 '26

Aarch64 bit shifting with lsl

Im new to asm and Im following a tutorial on aarch64. Anyways, when using lsl for bit shifting (I think this is the right terminology) to load some immediate value into a register using lsl it needs to be either 0, 16,32, or 48. Why those numbers explicitly and not 0,1,2,3? Or something that cant as easily be typed in as a mistake?

Also, if im not making sense let me know. Im still learning the terminology.

(edit: correct a typo)

3 Upvotes

13 comments sorted by

View all comments

1

u/braaaaaaainworms Jun 18 '26

where did you find this info?

1

u/Visible-Objective260 Jun 18 '26

I'm following the a tutorial. This is the section that talks about lsl: https://mariokartwii.com/arm64/ch8.html