hej
jestem tutaj nowy wiec przede wszystkim witam spolecznosc
a teraz biznes :-) czyli kilka pytan o asma a moze w sumie bardziej o podstawy dzialania kompow:
-
w systemach 16-bit mozna zaadresowac maks 1 mb pamieci: segmentowy rejestr (tak to sie chyba zwie) moze miec maks 216 wartosci (65536) * 16 (bo tyle jest bajtow w kazdym segmencie, ktora sie nie powtarza w innych segmentach czyli 1 mb. A jak to wyglada w systemach 32 bit i 64 bit? Czy segmenty sa poprzesuwane odpowiednio o 32 i 64 bity? czytalem gdzies ze systemy 32 bit maja adresowalne 232 bajty pamieci, ale skad to 232? wg analogii z 16-bit powinno byc 232 * 16(lub 32 jesli segmenty sa przesuwane co 32 bajty)?
-
co to XMS i EMS? w czym one pomagaja?
-
pamiec konwencjonalna miala ok 640kb, ale odjac od tego nalezy jakies przerwania i pamiec biosa itp prawda? czyli wychodzi jej ostatecznie duzo mnie?
-
jesli programy maja dostepne tylko pierwsze 640kb pamieci, to znaczy ze ich kod i dane musza sie znajdowac w tych granicach? czy jak uruchomie wiele programow, to kod kolejnego moze jakos nadpisac kod poprzedniego, jesli juz sie nie mieszcza? to samo z danymi, czy mozna nadpisac dane innego programu (potencjalnie kod ktory ma sie wykonac?)
-
asembler pod windows - czy moge sie swobodnie odnosic do kazdego adresowalnego bajta pamieci i swodobnie pisac sobie co mi sie tam podoba?
za wszelkie odpowiedzi dziekuje
jesli nie macie nic przeciwko, to zeby nie zakladac nowego tematu moglbym pisac tutaj kolejne pytania? bo na pewno beda bo mam zamiar to lyknac chociaz w teorii a pewnie wiele nie bede wiedziec
pozdrawiam