-
1. Data: 2009-02-01 14:41:01
Temat: Rok w asm
Od: "Czaq" <w...@o...pl>
Witam,
Może pytanie trochę NTG, ale wie ktoś jak się zapisuje rok w dacie większy
niż 2107 w asm (hex)?
Pozdrawiam
czaq
-
2. Data: 2009-02-01 14:47:29
Temat: Re: Rok w asm
Od: Waldemar Krzok <w...@z...fu-berlin.de>
Czaq wrote:
> Witam,
>
> Może pytanie trochę NTG, ale wie ktoś jak się zapisuje rok w dacie większy
> niż 2107 w asm (hex)?
a dlaczemu 2107? To jakaś magiczna data?
2107 to 83Bh, 2108 to 83Ch. Problem zaczyna sie dopiero od 65535, ale do
tego czasu 16 bitowe procesory chyba beda historia.
Waldek
-
3. Data: 2009-02-01 14:51:08
Temat: Re: Rok w asm
Od: "Czaq" <w...@o...pl>
Użytkownik "Waldemar Krzok" <w...@z...fu-berlin.de> napisał
> a dlaczemu 2107? To jakaś magiczna data?
> 2107 to 83Bh, 2108 to 83Ch. Problem zaczyna sie
> dopiero od 65535, ale do
> tego czasu 16 bitowe procesory chyba beda historia.
no właśnie, tak patrze i widzę, że Win XP nie pozwoli ustawić roku w
systemie wyższego niż ten 2107, więc jak to zapisać w asm? Chodzi mi o cały
zapis roku, miesiąca i dnia, da się zmieścić to jakiś w 16 bitach?
Pozdrawiam
czaq
-
4. Data: 2009-02-01 15:06:14
Temat: Re: Rok w asm
Od: Andrzej Kmicic <d...@p...onet.pl>
Czaq pisze:
>
> Użytkownik "Waldemar Krzok" <w...@z...fu-berlin.de> napisał
>
>> a dlaczemu 2107? To jakaś magiczna data?
>> 2107 to 83Bh, 2108 to 83Ch. Problem zaczyna sie
>> dopiero od 65535, ale do
>> tego czasu 16 bitowe procesory chyba beda historia.
>
> no właśnie, tak patrze i widzę, że Win XP nie pozwoli ustawić roku w
> systemie wyższego niż ten 2107, więc jak to zapisać w asm? Chodzi mi o
> cały zapis roku, miesiąca i dnia, da się zmieścić to jakiś w 16 bitach?
>
No kurcze chyba to proste, bez specjalnego pakowania
dzień zajmie 0-32 więc 5 bitów
miesiąc 0-16 wiec 4 bity
na lata zostaje Ci 7 bitów i
jak ci nie zależy na długowieczności masz te 128 lat jak w banku.
pozdr
Ak
-
5. Data: 2009-02-01 15:14:57
Temat: Re: Rok w asm
Od: "Czaq" <w...@o...pl>
Użytkownik "Andrzej Kmicic" <d...@p...onet.pl> napisał
> No kurcze chyba to proste, bez specjalnego pakowania
wiem, ale rozpatruje przypadki nietrywialne, a chyba że czegoś nie wiem -
dopiero się uczę.
> dzień zajmie 0-32 więc 5 bitów
> miesiąc 0-16 wiec 4 bity
> na lata zostaje Ci 7 bitów i
> jak ci nie zależy na długowieczności masz te 128 lat jak w banku.
no ok, ale jeśli dostałbym zadanie, że mam zapisać rok 5199, to jak mam to
zrobić?
Już konkretnei chodzi mi o całą datę na 16 bitach.
Podobny problem mam z zapisem czasu: jak zapisać 6.31.59?
Wiem, że sekundy zajmują 5 bajtów (nie wiem natomiast dlaczego), minuty 6
(tymbardziej nie wiem dlaczego:( przecież sekund jest tyle co minut - i tu i
tu 60) a godzina zajmuje 5 bajtów.
Znalazłem też wzór:
Time=hours*2048+minutes*32+sec/2
wszystko ok jak mam sekundy parzyste, a jak sa nieparzyste to co mam zrobic?
Ani liczba mniejsza ani wikesza nie pasuje.
-
6. Data: 2009-02-01 16:44:26
Temat: Re: Rok w asm
Od: "T.M.F." <t...@n...mp.pl>
>> dzień zajmie 0-32 więc 5 bitów
>> miesiąc 0-16 wiec 4 bity
>> na lata zostaje Ci 7 bitów i
>> jak ci nie zależy na długowieczności masz te 128 lat jak w banku.
>
> no ok, ale jeśli dostałbym zadanie, że mam zapisać rok 5199, to jak mam
> to zrobić?
A zdob to sobie jak chcesz. Myslisz, ze sa jakies odgorne wytyczne?
> Już konkretnei chodzi mi o całą datę na 16 bitach.
>
> Podobny problem mam z zapisem czasu: jak zapisać 6.31.59?
>
> Wiem, że sekundy zajmują 5 bajtów (nie wiem natomiast dlaczego), minuty
> 6 (tymbardziej nie wiem dlaczego:( przecież sekund jest tyle co minut -
> i tu i tu 60) a godzina zajmuje 5 bajtów.
Dlatego, ze w starych systemach Microsoftu zapisywalo sie tylko parzyste
sekundy, czyli rozdzielczosc wynosila 2s, co pozwalalo na zaoszczedzenie
jednego bita. BTW, rozrozniasz bity od bajtow?
> Znalazłem też wzór:
> Time=hours*2048+minutes*32+sec/2
>
> wszystko ok jak mam sekundy parzyste, a jak sa nieparzyste to co mam
> zrobic? Ani liczba mniejsza ani wikesza nie pasuje.
Nic, to jest ograniczenie stosowanego formatu zapisu. Jak ci to nie
pasuje to zapisuj po swojemu, w czym problem?
-
7. Data: 2009-02-01 16:46:46
Temat: Re: Rok w asm
Od: "Czaq" <w...@o...pl>
Użytkownik "T.M.F." <t...@n...mp.pl> napisał
> Jak ci to nie pasuje to zapisuj po swojemu, w czym problem?
w tym, że mam zapisać tak, jak podaje nauczyciel.
Podobne zresztą problemy napotkałem przy zabawach hexedytorem z plikami,
FATem itp.
Tam nie mogę zmieniać jak mi się podoba.
Tak, wiem, że 1 bajt=8 bitów, jakoś pokręciłem.
-
8. Data: 2009-02-01 17:27:06
Temat: Re: Rok w asm
Od: "T.M.F." <t...@n...mp.pl>
>> Jak ci to nie pasuje to zapisuj po swojemu, w czym problem?
>
> w tym, że mam zapisać tak, jak podaje nauczyciel.
>
> Podobne zresztą problemy napotkałem przy zabawach hexedytorem z plikami,
> FATem itp.
>
> Tam nie mogę zmieniać jak mi się podoba.
>
> Tak, wiem, że 1 bajt=8 bitów, jakoś pokręciłem.
Trzeba bylo od poczatku mowic, ze chodzi ci o zapis daty i czasu w FAT.
Tam jest ograniczenie rozdzielczosci czasu do 2s, wlasnie po to, zeby
czas dalo sie zapisac na 16-bitach. Gdybys chcial miec co do sekundy to
trzebaby poswiecic dodatkowy bit, co w tym przypadku przeklada sie na
caly dodatkowy bajt. Pewnie dlatego zrezygnowano z takiego pomyslu. W
efekcie jesli czas ma np. 57s to mozesz zapisac 56 albo 58, jak wolisz.
-
9. Data: 2009-02-01 17:33:06
Temat: Re: Rok w asm
Od: "Czaq" <w...@o...pl>
Użytkownik "T.M.F." <t...@n...mp.pl> napisał
> efekcie jesli czas ma np. 57s to mozesz zapisac 56 albo 58, jak wolisz.
i będzie to poprawne?
A jak z rokiem większym niż 2107?
-
10. Data: 2009-02-01 17:35:03
Temat: Re: Rok w asm
Od: "Czaq" <w...@o...pl>
Użytkownik "T.M.F." <t...@n...mp.pl> napisał
aha, i rozumiem więc, że windows nigdy nie pokaże we właściwościach
katalogu/pliku czasu gdzie sekundy będą nieparzyste?