Posted September 26, 20168 yr what is moving something to cl or ax or dl ? what does it mean ? i know it's 16 bit register. Can anyone give me an example so i understand better ? Thanks
September 26, 20168 yr EAX is a 32bit register, but you can still access the last 16 bits (compatibility etc) EAX is the full 32-bit value AX is the lower 16-bits AL is the lower 8 bits AH is the bits 8 through 15 (zero-based) e.g. EAX BADC0DE5 AX 0DE5 AH 0D AL E5
September 26, 20168 yr PS as loki stated above just a addition if its RAX its 64bit AX - x means extended H means higher and L means lower Edited September 26, 20168 yr by Jasi2169
September 26, 20168 yr Watch out with RAX, it doesn't work in the same way as subregisters for EAX. If you do "mov eax,12345678" in x64, you will get "RAX = 12345678 & 0xFFFFFFFF", effectively clearing the upper part of RAX.
September 26, 20168 yr Author On 9/24/2016 at 7:45 PM, CodeCracker said: what is i want to access "BADC" ?
September 26, 20168 yr CodeCracker never said that! SHR r/m8 = Unsigned divide r/m8 by 2, 1 time. If EAX = BADC0DE5 and you want BADC you divide EAX to 2^16 = 65536 ( SHR is divide by power of two). Edited September 26, 20168 yr by CodeCracker
Create an account or sign in to comment