| | |
x86 32-bit registers
Thread Solved |
0
#3 29 Days Ago
You aren't being very clear!
If you are using a more recent computer but somehow using an old DOS interface and not in an emulator, then you can use 32-bit instructions in Real Mode. An operand size instruction 66h is inserted before an instruction to command the processor to do a 32-bit operation instead of a 16-bit instruction. BUT this allows you to do 32-bit math. Memory addressing is done with a 67h but not applicable as in 16-bit mode when in Real mode.
From 32-bit code
From 16-bit code
If you are using a more recent computer but somehow using an old DOS interface and not in an emulator, then you can use 32-bit instructions in Real Mode. An operand size instruction 66h is inserted before an instruction to command the processor to do a 32-bit operation instead of a 16-bit instruction. BUT this allows you to do 32-bit math. Memory addressing is done with a 67h but not applicable as in 16-bit mode when in Real mode.
From 32-bit code
Assembly Syntax (Toggle Plain Text)
mov eax,3 66h mov ax,3
From 16-bit code
Assembly Syntax (Toggle Plain Text)
66h mov eax,3 mov ax,3
Last edited by wildgoose; 29 Days Ago at 10:02 pm.
0
#5 28 Days Ago
[[[AxxAxLLlaLLLaXBxG]]]]
You would need to use bitshifting to extract the values
of the registers 32-bit counterpart's high-words.
Assembly Syntax (Toggle Plain Text)
mov cx, 0x10 mov ax, 0x123 db 0x66 shl ax, cl ; shift 0x123 into high-word of EAX db 0x66 shr ax, cl ; shift back into low-word of EAX, that is, AX
of the registers 32-bit counterpart's high-words.
----------------------------------------------------------
To control a mind violates a man, and all it has been used for is
hurting and afflicting. Nowonder I progam in assembly...
--->Now available http://dotcoding.netai.net/
To control a mind violates a man, and all it has been used for is
hurting and afflicting. Nowonder I progam in assembly...
--->Now available http://dotcoding.netai.net/
![]() |
Similar Threads
- Couple problems with Vista.. Ram maxin and also *32.. Plus CMD (Windows Vista and Windows 7)
- how many registers can i use in intel i7 (Assembly)
- This is a 32-bit machine, right? (Motherboards, CPUs and RAM)
- Reading and converting a string to a 64-bit integer (Assembly)
- holy balls. (Assembly)
- An Introduction to Writing 32-bit Applications Using the x86 Assembly Language (Assembly)
- Write Your First Application in Win32 Using Assembly (Assembly)
- Keyboard in 32 bit MASM (Assembly)
- Is my machine 32 bit machine?? (C)
Other Threads in the Assembly Forum
- Previous Thread: Flags used to test conditional jumps...
- Next Thread: Help with End of Line character
| Thread Tools | Search this Thread |





