If you are not wiping out you are nog pushing enough...
ziet er uit als 16 bits code? dos omgeving... anyways:Op zaterdag 29 september 2001 17:56 schreef Pinda het volgende:
<snip, veel te veel ;)>
1
2
3
| mov ax, 0100h ; geheugen adres mov dl, [ax] ; wat op adres ds:ax staat in dl, 1 byte mov dx, [ax] ; wat op adres ds:ax staat in dx, 1 word |
volgens mij mag mov dx, [al] helemaal niet .. 8 bits adres makes no sense at all..
The problem is in the part of your brain that handles intelligence.
Stel dat het door je assembler komt, dan kun je daarna vast heerlijk debuggen.Op zaterdag 29 september 2001 18:02 schreef Sjonny het volgende:
volgens mij mag mov dx, [al] helemaal niet .. 8 bits adres makes no sense at all..
Vage asm gedoe ook
If you are not wiping out you are nog pushing enough...
Verwijderd
'protected mode' is tegenwoordig de standaard geloof ik.
Sjek je mail ik heb de oplossing. We moesten in create.c nog de sp aanpassen.
If you are not wiping out you are nog pushing enough...
Iets in de trent van: pak word van adres ds:ax, als ik me niet vergis.Op zaterdag 29 september 2001 17:56 schreef Pinda het volgende:
maar wat betekent: [ax] ?????
worddus wat betekent
code:
1 mov dx,[ax]
dus wat voor type krijg je std terug??? dus byte of word???
Is het zo dat als je zegt:
code:
1 mov dx,[ah]
je een byte krijgt
en bij
code:
1 mov dx,[ax]
een word ????
1
| mov dx,[ah] |
mag niet zomaar, zoals iemand al zei. Je kan geen byte in een word mikken. Dat zou dan bv. iets als dit moeten zijn:
1
| mov dl,[al] |
Maar dan nog vind ik het vaag. 't Is een beetje lang geleden dat ik met Assembly heb gewerkt. Mensen die m'n Gfxfx pakketjes kennen weten wel hoe lang geleden.
En oh, ps vergeten te zetten? 'kweenie wat je allemaal aan 't uitvogelen bent, maar vergeet ook niet het ds te zetten dan...
[ specs ] [ Tweaker gallery ]
Op het moment zijn we voor school aan het hacken in een operating System genaamd XINU.
Er is een functie contextswitch die de staat van het huidige proces opslaat en het nieuwe proces laad. Het is de bedoeling dat we deze functie herschrijven zodat deze niet alleen de bp, si, di en ps bewaard maar ook ax,bx,cx,dx en es.
En daar kwamen we wat dingen tegen die we niet goed konden verklaren en zijn zo bij het assembler programmeren beland (deze code is dus in assembler).
If you are not wiping out you are nog pushing enough...
Schrijf dat voortaan gewoon even voluit. [byte ptr ax] en [word ptr ax]. Is wel zo duidelijk.Op zaterdag 29 september 2001 17:56 schreef Pinda het volgende:
b[ax] -> waarde van adres pointed door ax als byte
w[ax] -> ,, ,, ,, ,, ,, ,, als word
Zoals al gezegd is... dat kan niet. Een adres is altijd 16 of 32 bits.Op zondag 30 september 2001 13:59 schreef Explore het volgende:
Dat zou dan bv. iets als dit moeten zijn:
code:
1 mov dl,[al]
Hmm, tijd dat dat OS het Task State Segment ontdekt denk ik.Op zondag 30 september 2001 14:17 schreef Pinda het volgende:
Er is een functie contextswitch die de staat van het huidige proces opslaat en het nieuwe proces laad. Het is de bedoeling dat we deze functie herschrijven zodat deze niet alleen de bp, si, di en ps bewaard maar ook ax,bx,cx,dx en es.
Kan me er wel iets bij voorstellen, maar hoe is het te gebruiken
If you are not wiping out you are nog pushing enough...
Is die opgave nog gelukt....?
Zit nu met hetzelfde probleem...zelfde vraag zelfs..;-)
Kun je me mischien een link geven oid naar jouwn oplossing,
zodat ik daarmee verder kan gaan.
BvD.
Wat niet kan is nog nooit gebeurd
De hint die ik je wel even kan geven (laat ik het niet té makkelijk maken) is dat je eens in create.c moet gaan kijken.
Ik herken trouwens je nick niet...
Mocht je er niet uitkomen, schiet me dan even aan op school. Dan kan ik je nog meer vertellen!!
If you are not wiping out you are nog pushing enough...
Je naam bij YABB komt me niet bekend voor.
In iedergeval bedankt zal het even bekijken..
Wat niet kan is nog nooit gebeurd
Zit in groep1 bij het project! Jij????
If you are not wiping out you are nog pushing enough...
[Je bedoeld neem ik aan advanced databases project ?]
Ik heb overigens ook een mailtje gestuurd via YABB site..
Ben er nog niet helemaal uit, maar dat komt vast wel..
Meuldijk is overigens weer beter.
Wat niet kan is nog nooit gebeurd
Meuldijk weer beter? Handig....
If you are not wiping out you are nog pushing enough...
Theorieles op vrijdag ?
Zie ik je dan wel
Wat niet kan is nog nooit gebeurd
Eventjes uitgaande van 32bits PMode:Op zondag 30 september 2001 17:05 schreef Pinda het volgende:
Task State Segment?? Om eerlijk te zijn zegt me dat niet zoveel! Wat is dit
Kan me er wel iets bij voorstellen, maar hoe is het te gebruiken
Het TTS (task state segment) is een structure met daarin al je opgeslagen registers (ax,bx etc.. alle ring[0..4] ss en sp) en bijbehorende data (io bitmap etc)
Wat je in feite doet, is een initiele TSS opbouwen met daarin al je gegevens (CS:EIP goedzetten, EAX.. registers op 0 zetten (of DEADBEEF), SS:ESP's vullen etc etc etc).
Voor dat TTS maak je een TSS-descriptor aan (net zoals je een code-descriptor hebt). Dat wordt bijvoorbeeld 0x100.
Met een simpele JMP of CALL instructie kun je naar die task toespringen. De processor vult automatisch de huidige TSS met zijn huidige gegevens waaronder CS:EIP. Op het moment dat je dus weer terug springt naar deze task, gaat je processor gewoon door met waar hij was gebleven..
makkelijk he, dat je dat allemaal niet zelf hoeft te doen
Yo dawg, I heard you like posts so I posted below your post so you can post again.
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Maar ik ken zo geen tot weinig (nee, ik ken er geen), user-programma's die gebruik maken van TSS... Ik ga er dus vanuit dat ze bezig zijn met een eigen OS of iets dergelijks.
bijna gelijk na beter lezen..
Yo dawg, I heard you like posts so I posted below your post so you can post again.
Wat niet kan is nog nooit gebeurd
Ik zal eens even verder kijken hiernaar!
If you are not wiping out you are nog pushing enough...
ja maar de TSS wordt alleen gebruikt in 32 bits protected mode, en ze zijn in 16 bit real mode bezigOp woensdag 03 oktober 2001 15:07 schreef JayTaph het volgende:
Der zijn wel meer dingen waar je rekening mee moet houden, oa dus ring0 (of trap gates et al).
Maar ik ken zo geen tot weinig (nee, ik ken er geen), user-programma's die gebruik maken van TSS... Ik ga er dus vanuit dat ze bezig zijn met een eigen OS of iets dergelijks.
edit:
bijna gelijk na beter lezen..
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
er bestaat ook een 16bit tss..Op woensdag 03 oktober 2001 20:55 schreef OiSyN het volgende:
[..]
ja maar de TSS wordt alleen gebruikt in 32 bits protected mode, en ze zijn in 16 bit real mode bezig
Yo dawg, I heard you like posts so I posted below your post so you can post again.
je hebt gelijk, vergeet dan maar even het bits-gedeelte (maar ksnap sowieso niet wat iemand wil met 16 bits protected modeOp woensdag 03 oktober 2001 21:29 schreef JayTaph het volgende:
[..]
er bestaat ook een 16bit tss..
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Ik snap eigenlijk nog steeds niet precies wat ze hiermee allemaal van plan zijn? Zijn ze nou het hele context-switching aan het aanpassen, uitpluizen of aan het bouwen?
Yo dawg, I heard you like posts so I posted below your post so you can post again.
Het komt erop neer dat je tijdens de contextswitch extra registers moet gaan opslaan, standaard worden ci en di opgeslagen (C vraagt er niet om het opslaan van meer registers dit schijnt het zelf te doen(/ regelen?)). De opdracht is dan ook om de registers ax bx cx dx en es op te slaan....
dit is een kwestie van deze registers op de stack zetten, stackpointer wisselen en de registers voor het nieuwe proces weer poppen.
Omdat we hier niet uitkwamen zijn Tuinhark en ik een hele zooi tutorials gaan uitpluizen, uiteindelijke bleek het dat onze fout niet in de Assembler code zat maar dat we tijdens de create van een proces even wat meer ruimte op de stack moesten reserveren. En klaar waren we
If you are not wiping out you are nog pushing enough...
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Het gaat hem er altijd om dat je wat hebt geleerd en dit gaat nu zeker op!!!
If you are not wiping out you are nog pushing enough...