flat assembler
Message board for the users of flat assembler.
![]() Goto page Previous 1, 2 |
Author |
|
egos 27 May 2011, 18:31
Code: mov eax,FLAT_DATA_SEGMENT_SELECTOR mov ds,ax mov al,[1fffffffh] ![]() |
|||
![]() |
|
christiandy 28 May 2011, 05:54
neville wrote:
So the ds value refer to base address on GDT right? if we can jus mov al,[1fffffffh] it's like real mode right? |
|||
![]() |
|
Dex4u 28 May 2011, 16:22
vid wrote:
Remeber the base is usually zero, but the index is not, as you leave the first one zero. So your first index is 8h Code: gdt: dw 0x0000, 0x0000, 0x0000, 0x0000 ; left zero, not used sys_data: dw 0xFFFF, 0x0000, 0x9200, 0x00CF ; 8h sys_code: dw 0xFFFF, 0x0000, 0x9800, 0x00CF ;10h decimal (16) gdt_end: |
|||
![]() |
|
egos 28 May 2011, 22:37
Or typically 0x9A00 (readable/executable).
_________________ If you have seen bad English in my words, tell me what's wrong, please. |
|||
![]() |
|
christiandy 29 May 2011, 09:54
Thanks all, for replying very helping.
now I run on protected mode but i can't try it on DOS BOX. anw can someone explain me why multi tasking only run on protected mode? |
|||
![]() |
|
bitshifter 29 May 2011, 22:18
Multitasking can be done in 2 ways.
1) With hardware, using built-in functionality. 2) With software, using time-slice scheduling. In the near future we will have true mutitasking, where each cpu core could have its own task. |
|||
![]() |
|
Dex4u 29 May 2011, 22:57
bitshifter wrote:
I have been tell people this for years, when they go on about multi-tasking. I tell them your just sharing a bit of the cpu, that was done when processor's were very expensive. Wait until every task is given a core, then we will be multi-tasking. And thats the day my OS will be multi-tasking. |
|||
![]() |
|
christiandy 30 May 2011, 08:56
sorry I mean time slicing multitasking ( round robin algorithm cmiiw) why does protected mode can provide software multitasking
|
|||
![]() |
|
bitshifter 30 May 2011, 17:40
Basically software and hardware multitasking work the same way.
Starting with 16bit x80286 intel provides instructions to help do it. So since were talking about 32bit pmode MT lets try some tutorials... These were the ones i learned from, they are written in NASM but with little change can be ported to FASM. In this set there are examples of hardware and software MT under 32bit pmode. http://geezer.osdevbrasil.net/os/pm.zip If you get BOOTPROG you can use it as bootloader for this series. It works very nicely and saves a bunch of time having to write one. This is intended for FAT12 floppy or FAT16 hard disks only. http://alexfru.chat.ru/programming/bootprog.zip I can help make the two work under FASM if you cant do it yourself. Feel free to drop me a line... |
|||
![]() |
|
christiandy 31 May 2011, 04:50
Dear bitshifter,
thanks for helping. Can you please give me an example of multitasking like. running cli and update clock every 60 detik? |
|||
![]() |
|
Goto page Previous 1, 2 < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.