real-mode Questions

1

Solved

I'm trying to get my head around programming real mode MS-DOS in C. Using some old books on game programming as a starting point. The source code in the book is written for Microsoft C, but I'm try...
Hargeisa asked 2/4, 2022 at 21:40

2

Solved

I just finished up a very bare-bones bootloader for my OS and now I'm trying to switch to protected mode and jump to the kernel. The kernel exists on the second sector (right after the bootloader)...
Bullough asked 1/5, 2016 at 16:10

1

Solved

As explained in the title, I need to make this code able to do the same things it do using just 16bit but adding .386 to the code so I can use 32bit registers. But when I add the .386 now my code i...
Gibe asked 26/6, 2020 at 21:11

2

In my MIT OS course (686) I have found some code that I don't understand. I'm trying to understand the instruction inb $0x64, %al in boot/boot.S. My understanding is that it's reading one byte fro...
Ameeameer asked 12/1, 2014 at 19:2

1

Solved

I learned to switch to protected mode with a simple DOS based bootloader. This loader loads kernel.bin into a buffer and copies the buffer to 100000h (kernel is 8KiB). Control is then transferred t...
Lavonia asked 19/2, 2019 at 18:15

1

Solved

I have the following lines of programm (written for 8086 Microprocessor): first SEGMENT BYTE a db 7 dup (?) first ENDS second SEGMENT WORD b dw 200 dup (?) second ENDS third SEGMENT PARA c d...
Ruminate asked 28/1, 2019 at 1:27

1

Solved

I know this code will actually write data to ds:[100h] mov [100h], ax But how can I write to linear address 100H directly without using any segment register for a segment base?
Coelenterate asked 4/10, 2018 at 14:51

10

Solved

mov al,10 add al,15 How do I print the value of 'al'?
Combined asked 17/12, 2009 at 14:24

2

I have one doubt regarding the size of segments in real mode as they can't be more than 64K but can be less than that. My question is how these segment size and base address is initialized? Like th...
Adagio asked 22/7, 2013 at 11:24

3

Solved

I am very new to C, it's my second high-level programming language after Java. I have gotten most of the basics down, but for whatever reason I am unable to write a single character to screen memor...
Landholder asked 1/12, 2017 at 7:23

1

Solved

Is there any way to list the BIOS drive indexes in real mode (E.g. 0x80, 0x81 ...)? I did not find any interrupt that is in charge of listing drive numbers!!
Heyde asked 26/8, 2017 at 1:8

6

Solved

I am reading about memory addressing. I read about segment offset and then about descriptor offset. I know how to calculate the exact addresses in real mode. All this is OK, but I am unable to unde...
Wreck asked 7/11, 2010 at 20:20

1

Solved

I am currently studying low level organization of operating systems. In order to achive that I am trying to understand how Linux kernel is loaded. A thing that I cannot comprehend is the transitio...
Thill asked 21/1, 2017 at 10:24

2

Solved

So at the moment i am copying a screenbuffer (screenbuffer db 64000 DUP(0)) to the video memory (which starts at 0a0000h) to clear the screen. But i was wondering if it is better to just setup the ...
Cittern asked 24/12, 2016 at 23:7

1

Everywhere it is explained as a thing which binds/associates registers with segments, but I want to understand what is bound exactly.
Quint asked 5/12, 2016 at 18:55

1

I've tried nearly every C compiler with every setting, and I have yet to find a C compiler that can compile C into Intel x86 code that is suitable for Real Mode kernel development. I don't ne...
Britanybritches asked 15/9, 2016 at 3:59

1

Solved

I'm new to operating system development and I'm curious about a problem I've run into while developing my own bootloader. My operating system is going to be written in assembly and will run in 16-b...
Anguiano asked 5/7, 2016 at 5:13

1

Solved

When running a boot-loader program on a modern-day x86 processor, the processor will be running in real-address mode. Will its instruction pipelining features be active in real mode, or not?
Forta asked 15/6, 2016 at 7:41

1

Solved

I have been writing kernel in C. I've been using the GCC cross-compiler, writing on a Windows system and targeting 16bit Real Mode. I don't have the C library available to write the kernel. I have ...
Genitals asked 20/5, 2016 at 19:45

1

Solved

I'm learning how to create real mode programs assembled and linked with: GCC Assembler version 2.25 Binutils version 2.25 GCC version 5.2.0 I use Intel syntax without prefixes specified with ...
Zahara asked 27/4, 2016 at 19:16

2

APM shutdown has been covered at X86 instructions to power off computer in real mode? How to reboot instead of shutting down the computer? Please quote and explain the relevant documentation / sta...
Kono asked 20/9, 2015 at 17:19

1

Solved

General Problem I've been developing a simple bootloader and have stumbled on a problem on some environments where instructions like these don't work: mov si, call_tbl ; SI=Call table pointer cal...
Ganesha asked 31/12, 2015 at 15:19

1

Solved

I'm trying to create a small operating system for x86 machines and started writing the code for a fairly minimal bootloader. The bootloader I created is quite simple, it loads a small second bootlo...
Ferrous asked 16/12, 2015 at 17:9

1

Solved

I am trying to learn assembly and to write a bootloader. The following code loads the contents of a floppy drive to memory and jumps to it (starts loading at address 0x1000). This code is supposed ...
Soapstone asked 4/12, 2015 at 16:30

1

Solved

I created simple code to load second sector from hard drive, and then write to whole screen, with spaces with red background. The problem is that always instead of spaces I got @ signs. This is the...
Boddie asked 12/11, 2015 at 21:31

© 2022 - 2024 — McMap. All rights reserved.