Thread View: pl.comp.lang.asm
8 messages
8 total messages
Started by Johnny
Wed, 13 Dec 2006 12:56
Model pamięci
Author: Johnny
Date: Wed, 13 Dec 2006 12:56
Date: Wed, 13 Dec 2006 12:56
20 lines
1202 bytes
1202 bytes
Fragment kodu: .model huge (...) ILOSC_CYFR = 0FFFFh (...) .data liczby dw ILOSC_CYFR dup(1) No i dostaję: "segment exceeds 64K limit: _DATA" Czy w tym modelu (huge) nie powinno nie być takiego limitu, nawet na pojedynczą zmienną? -- Pozdrawiam Johnny "Zauważyłem że ci wszyscy, którzy opowiadają się za aborcją, zdążyli się urodzić". R. Reagan
Re: Model pamięci
Author: Bernard
Date: Wed, 13 Dec 2006 18:10
Date: Wed, 13 Dec 2006 18:10
24 lines
1338 bytes
1338 bytes
Johnny wrote: > Fragment kodu: > > .model huge > (...) > ILOSC_CYFR = 0FFFFh Raczej LICZBA cyfr, a nie ilość... > (...) > .data > liczby dw ILOSC_CYFR dup(1) > > No i dostaję: "segment exceeds 64K limit: _DATA" To znaczy, że asembler działa poprawnie. > Czy w tym modelu (huge) nie powinno nie być takiego limitu, nawet na > pojedynczą zmienną? Nie powinno. Segment może mieć do 64K. A tak z ciekawości: w jakim celu piszesz tak dziwaczne programy pod DOSa, którego od 10 lat już nie ma?
Re: Model pamięci
Author: johnny
Date: Wed, 13 Dec 2006 21:15
Date: Wed, 13 Dec 2006 21:15
28 lines
1676 bytes
1676 bytes
Bernard napisał(a): > Johnny wrote: >> Fragment kodu: >> >> .model huge >> (...) >> ILOSC_CYFR = 0FFFFh > > Raczej LICZBA cyfr, a nie ilość... Kwestia nomenklatury. >> Czy w tym modelu (huge) nie powinno nie być takiego limitu, nawet na >> pojedynczą zmienną? > > Nie powinno. Segment może mieć do 64K. > > A tak z ciekawości: w jakim celu piszesz tak dziwaczne programy pod > DOSa, którego od 10 lat już nie ma? Przerabiam książkę i przerabiam wybrane ćwiczenia. A tam jest DOS i MASM lub TASM. Wiesz jak rozwiązać mój problem, czy tylko tak dla podtrzymania razgawora... ? -- Johnny
Re: Model pamięci
Author: Bernard
Date: Wed, 13 Dec 2006 22:51
Date: Wed, 13 Dec 2006 22:51
35 lines
2060 bytes
2060 bytes
johnny wrote: > Bernard napisał(a): >> Johnny wrote: >>> Fragment kodu: >>> >>> .model huge >>> (...) >>> ILOSC_CYFR = 0FFFFh >> Raczej LICZBA cyfr, a nie ilość... > > Kwestia nomenklatury. Nie. Kwestia stosowania poprawnych określeń. >>> Czy w tym modelu (huge) nie powinno nie być takiego limitu, nawet na >>> pojedynczą zmienną? >> Nie powinno. Segment może mieć do 64K. >> >> A tak z ciekawości: w jakim celu piszesz tak dziwaczne programy pod >> DOSa, którego od 10 lat już nie ma? > > Przerabiam książkę i przerabiam wybrane ćwiczenia. A tam jest DOS i MASM > lub TASM. Tak starej książki nie warto "przerabiać". Zapomnij o modelach pamięci, bo dzisiaj to już nieaktualne. Wprawki pod DOSa pisze się w postaci .COM (czyli model tiny), a we współczesnych systemach mamy 32-bitowe adresowanie. W obu przypadkach aplikacja "nie widzi" segmentów i nie musi się z nimi zmagać. > Wiesz jak rozwiązać mój problem, czy tylko tak dla podtrzymania > razgawora... ? A jaki masz problem? Jeśli problemem jest duża struktura danych, to pisz płaski, 32-bitowy kod pod Windows lub Linuxa.
Re: Model pamięci
Author: Bartek Dajewski
Date: Thu, 14 Dec 2006 00:29
Date: Thu, 14 Dec 2006 00:29
39 lines
2064 bytes
2064 bytes
Cześć. Użytkownik "johnny" <johnny_pozbadzsietego_@klub.chip.pl> napisał w wiadomości news:elpqi0$s8o$1@atlantis.news.tpi.pl... > Bernard napisał(a): > > Johnny wrote: [...] > >> ILOSC_CYFR = 0FFFFh > > > > Raczej LICZBA cyfr, a nie ilość... > > Kwestia nomenklatury. Niezupełnie. Bernard tylko zwraca uwagę, że słowo ilość stosujemy poprawnie tylko dla rzeczowników niepoliczalnych, a dla policzalnych - liczba. > >> Czy w tym modelu (huge) nie powinno nie być takiego limitu, nawet na > >> pojedynczą zmienną? W segmencie niezależnie od modelu obowiązuje limit 64K, ale w grupie segmentów już nie. Na przykład tak: duzy1 segment 'MOJA_GRUPA' abc label db 32768 dup (?) duzy1 ends duzy2 segment 'MOJA_GRUPA' db 32768 dup (?) duzy2 ends duzy3 segment 'MOJA_GRUPA' db 32768 dup (?) duzy3 ends itd... Jest przy tym trochę ręcznej dłubaniny, bo trzeba w źródle dzielić duże obszary na segmenty, ale da się. -- Pozdrawiam :-) Bartek
Re: Model pamięci
Author: Johnny
Date: Thu, 14 Dec 2006 07:12
Date: Thu, 14 Dec 2006 07:12
11 lines
1228 bytes
1228 bytes
Dzięki za obie odpowiedzi. Ilość niepoliczalne, liczba policzalne, ilość niepoliczalne, liczba ... ;-) -- Pozdrawiam Johnny "Zauważyłem że ci wszyscy, którzy opowiadają się za aborcją, zdążyli się urodzić". R. Reagan
Re: Model pamięci
Author: Wiktor S.
Date: Thu, 14 Dec 2006 22:51
Date: Thu, 14 Dec 2006 22:51
10 lines
1184 bytes
1184 bytes
Johnny wrote: > Dzięki za obie odpowiedzi. > > Ilość niepoliczalne, liczba policzalne, ilość niepoliczalne, liczba ... brednie. :-P -- Azarien
Re: Model pamięci
Author: Wiktor S.
Date: Thu, 14 Dec 2006 22:56
Date: Thu, 14 Dec 2006 22:56
21 lines
1933 bytes
1933 bytes
> Tak starej książki nie warto "przerabiać". Zapomnij o modelach > pamięci, bo dzisiaj to już nieaktualne. Wprawki pod DOSa pisze się w > postaci .COM (czyli model tiny), a we współczesnych systemach mamy > 32-bitowe adresowanie. W obu przypadkach aplikacja "nie widzi" > segmentów i nie musi się z nimi zmagać. >> Wiesz jak rozwiązać mój problem, czy tylko tak dla podtrzymania >> razgawora... ? > A jaki masz problem? Jeśli problemem jest duża struktura danych, to > pisz płaski, 32-bitowy kod pod Windows lub Linuxa. Hmm.. czyżby więc pisanie dużych programów 16-bitowych (a więc z segmentacją) można było zakwalifikować jako "lost art"? ;-) Heh, bo nawet jak trzeba pod DOS-em coś napisać, to się używa DPMI, 32 bitów, problemy znikają (kosztem paru nowych co prawda). -- Azarien
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads