protected-mode

Can someone explain this directly assembled x86 JMP opcode?

大城市里の小女人 提交于 2019-12-12 10:35:41
问题 At school we have been using a bootstrap program to run stand-alone programs without an operating system. I have been studying this program and when protected mode is enabled there is a far jump executed by directly assembling the opcode and operands as data within the program. This was for the GNU assembler: /* this code immediately follows the setting of the PE flag in CR0 */ .byte 0x66, 0xEA .long TARGET_ADDRESS .word 0x0010 /* descriptor #2, GDT, RPL=0 */ First of all, why would one want

Switching to protected mode from DOS not using DPMI

一个人想着一个人 提交于 2019-12-11 05:19:40
问题 I learned x86-16 assembly and i want to learn to x86-32 assembly. I maked a simple 32-bit program but this code not work When program makes a far jump console displays 'JMP illegal descriptor 0' I use fasm and DOS Please show me what i'm doing bad Here's my code format MZ push cs pop ds mov eax,cs shl eax,4 mov [AdresSegmentuProgramu_32],eax ;Calculating real mode segment add eax,gdt_table mov [gdtr+2],eax use32 lgdt [gdtr] mov eax,[AdresSegmentuProgramu_32] add eax,pmode_entry mov

DeleteURLCacheEntry doesnot delete Temporary Internet files when Protected Mode is ON

♀尐吖头ヾ 提交于 2019-12-10 21:28:06
问题 I am using "deleteURLCacheEntry" Wininet API to delete temporary internet files on Win7/Vista IE 7/8 respectively. The API works perfectly fine when IE's protected mode is OFF. But it fails silently when the protected mode is ON. Can somebody advise me how to delete the temporary internet files programmatically when PROTECTED MODE is ON? I am basically using the program given in the following msdn link: http://support.microsoft.com/kb/815718 Thank you. 回答1: Actually, take a look at my two

BIOS Interrupts in protected mode

*爱你&永不变心* 提交于 2019-12-08 17:20:47
问题 I'm working on an operating system project, using isolinux (syslinux 4.5) as bootloader, loading my kernel with multiboot header organised at 0x200000. As I know the kernel is already in 32-bit protected mode. My question: Is there any easier way to get access to BIOS Interrupts? (Basically I want 0x10 :D) After loading, my kernel sets up its own GDT and IDT entries and further remaps IRQs. So, is it possible to jump into real mode just after the kernel is loaded and set up VGA/SVGA modes

Techniques to save files from ActiveX (protected mode IE)

微笑、不失礼 提交于 2019-12-08 11:52:38
问题 i have an ActiveX. ActiveX means: Internet Explorer native binary code running from a dll (.ocx) in Protected Mode The user would like to save some content. i would like to show a Save As dialog, then save to the location they said. Since the process hosting my ActiveX is running at a Low integrity level, the code cannot save to the user's requested location. Since the process hosting my ActiveX is running in Internet Explorer's Protected mode, the code cannot save to the user's requested

How to make a VESA linear frame buffer in real mode to use it after in protected mode?

*爱你&永不变心* 提交于 2019-12-08 05:31:50
问题 I want to create a small operating system, but in 32-bit mode with graphics with the full resolution of my screen (1366x768) and 24 bpp. For now, my code in nasm assembly calls the 0x4F02 VESA function in real mode with the value of 0xC118 (the second bit from left is 1 to create a linear frame buffer). After, I enter in 32-bit protected mode and I can only access the first 64Kb of the screen in 0xA0000, so the linear frame buffer hasn't been created. And I can't switch bank because it is in

int 13h in windows protected mode?

假装没事ソ 提交于 2019-12-07 20:41:16
问题 Could we use the Int 13h (direct disk read/write) in Windows operating systems or does the windows protected mode not allow us, and if so is there a work round? Thanks in advance. 回答1: No, The Windows sub-system, upon initialization during boot, would have reconfigured the BIOS interrupt handling for the kernel as the BIOS calls are 16bit, not protected mode and hence int 13h would be invalid. That is the reason why there are drivers which are written for 32bit protected mode which bypasses

Triple fault when jumping into protected mode

别说谁变了你拦得住时间么 提交于 2019-12-07 11:19:22
问题 I'm developing a boot loader, which will boot into a simple kernel after switching into protected mode. I used this paper as a tutorial, somewhere in chapter four or five. In theory it is supposed to start in 16-bit real mode, load the kernel into memory, switch to 32-bit protected mode and start executing the kernel code. However, when I switch into protected mode and far jump or jump to another segment, it triple faults. Here is the main boot sector code: [org 0x7c00] KERNEL_OFFSET equ

Does GRUB switch to protected mode?

牧云@^-^@ 提交于 2019-12-06 17:29:00
问题 I would like to ask if it is GRUB that switch the CPU to protected mode during boot up or is it the Linux kernel that does it. And also I would like to ask - is the kernel itself (vmlinuz) an ELF or is it plain binary format? Thanks. 回答1: GRUB does drop you in protected mode. The GRUB Multiboot Specification (version 0.6.96) Section 3.2 tells you this ‘CR0’ Bit 31 (PG) must be cleared. Bit 0 (PE) must be set. Other bits are all undefined. And CR0 Register mapping tells you that the system

int 13h in windows protected mode?

浪尽此生 提交于 2019-12-06 11:21:29
Could we use the Int 13h (direct disk read/write) in Windows operating systems or does the windows protected mode not allow us, and if so is there a work round? Thanks in advance. No, The Windows sub-system, upon initialization during boot, would have reconfigured the BIOS interrupt handling for the kernel as the BIOS calls are 16bit, not protected mode and hence int 13h would be invalid. That is the reason why there are drivers which are written for 32bit protected mode which bypasses the BIOS completely. Which begs the question - why are you trying to do that? Windows will kill your code on