Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

64-bit long mode compatability with 32-bit instructions-GAS (Developers)

posted by RayeR(R) Homepage, CZ, 23.01.2014, 03:03

Well, about WoW64 I read on wiki and it's clear then that it does CPU mode switching so this means that 32b code cannot be executed natively and I do need branching for some cases. BTW can I manipulate AX or AH in long mode? Maybe yes for reg2reg moves but push/pop to stack is forbidden and valid only for 64b regs.
http://en.wikipedia.org/wiki/WoW64
Technically, WoW64 is implemented using three dynamic-link libraries (DLLs):
1. Wow64.dll, the core interface to the Windows NT kernel that translates between 32-bit and 64-bit calls, including pointer and call stack manipulations
2. Wow64win.dll, which provides the appropriate entry-points for 32-bit applications
3. Wow64cpu.dll, which takes care of switching the processor from 32-bit to 64-bit mode
...switches the processor hardware from its 64-bit mode to compatibility mode when it becomes necessary to execute a 32-bit thread, and then handles the switch back to 64-bit mode.

BTW when WoW64 switches CPU to 32b mode (or what else is "compatibility mode") then it should be possible to switch it to v86 mode and execute 16b code too?

---
DOS gives me freedom to unlimited HW access.

 

Complete thread:

Back to the forum
Board view  Mix view
15186 Postings in 1365 Threads, 250 registered users, 13 users online (0 registered, 13 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum