Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Программирование (http://zx-pk.ru/forumdisplay.php?f=14)
-   -   Клинит башню от машинных систем счисления (http://zx-pk.ru/showthread.php?t=736)

Watt 3rd May 2005 04:55

hex-психопатология, межплатформенный вопрос
 
Привет спектрумистам!!! Столкнулся со следующими проблемами
1. Нет реально работающего компа, слегка нету полной документации ;)
2. Второе, И самое главное, сейчас сформулирую, значит так:
все адреса в доках, числа в примерах и тд. записаны в 16-ной системе и..... ....В общем... у меня оооочень расплывчатый вопрос к кодерам.
Вы можете например так же свободно ориентироватся в 16-системе, как в десятичной? И как это достигается-то? Все же в самом начале сталкивались с этой проблемой. В свободное время сижу вот, пугаю родных: "ашка, эфка... значится 16, неее, 15, ага 1111 1111, эээ..."...
А можно как нибудь почеловечнее врубиться в предмет :rolleyes: ?

Watt 3rd May 2005 06:08

В смысле, переводить числа я умею, если долго потеть над каждым числом с
*Т.е.* мне интересна психология кодера в этом отношении.
Вот практический пример: читаю в доке - "$000000-$07FFFF chip-память
$080000-$1FFFFF зарезервировано $200000-$9FFFFF место для FASTпамяти".. и так далее до "FFFFFF". А потом уточняется, что мол, "это еще узкий диапазон, на M68030 адреса занимают двойное слово, так что типа не расстраивайтесь"..

А я и не расстраиваюсь, я просто выпадаю в осадок, это сколько кодить надо чтобы начать врубаться в адреса Z80 диапазона, я уж молчу про 32битные процы((((

Wlodek 3rd May 2005 07:22

Если постоянно или хотя бы часто "общаться" в hex, довольно быстро приходит привычка, и дальше всё просто :) . Наверно, психология тут такая же, как в случае с иностранными языками: практика, побольше практики :) .

Shiru 3rd May 2005 09:57

Довольно быстро запоминается, что A=10, B=11, итд, а также все возможные значения умножения разряда на разряд...

CHRV 3rd May 2005 12:12

Quote:

Originally Posted by Shiru
Довольно быстро запоминается, что A=10, B=11, итд, а также все возможные значения умножения разряда на разряд...

Главное запомнить что в километре 1024 метра, а в минуте 64 секунды и все будет хорошо! :)

Shadow Maker 3rd May 2005 12:14

Да, как бы потом даже не переводишь, а реально мыслишь - типа - #4000 - это экран, и мне пох, какой у него десятичный адрес, все стандарные порты запоминаются... Это я в плане документации - какая разница в какой они кодировке написаны. Тем более в любой асм как правило встроен калькулятор - взял да посмотрел. А вообще никто не мешает же работаеть в dec?

SfS 3rd May 2005 12:23

Все это - дело привычки.

а потом - степени двойки запоминаются - и понять где примерно находится фдрес 6EF8 - не проблема.

siril 3rd May 2005 12:47

в Hex работать проще в частности и потому, что многие адреса выровнены по степени двойки, и проще запомнить #4000, а не 16384 (адрес начала спектрумовского экрана, уже упоминался выше).

И #4000 * #4 = #10000 выглядит понятнее чем 16384 *4 = 65536.

а 65536 - 1 = 65535 соответсвует #10000 - #1 = #FFFF.

Вобщем, видно что с машиной проще разговривать на "машинном" - то есть в Hex - цифры получаются красивей и "ровней".

Часто приходится умножать в уме не на 10 или 100, как в обычной жизни, а на 16 или 256, тогда гораздо проще выглядят выкладки типа:

#15F * #10 = #15F0 чем 351 *16 = 5616 или
#15F * #100 = #15F00 чем 351 *256 = 89856.

вотъ ^__^

Shadow Maker 3rd May 2005 12:57

Собсна аффтор просил ему рассказать как можно быстро врубится в эту машинную систему счисления. Думаю, что самое главное - НЕ ПАРИТСЯ. Вот Робус вообще всегда только в dec пишет и ничего, так что как тебе удобнее, так и делай. Вот =_=

char 3rd May 2005 13:00

Shadow Maker good сказал ;)

реально помнишь 4 адреса в памяти
#0000 пзу
#4000 (16384) экран +например #1800 атрибуты +#0300 буфер принтера и пошли переменные
#8000 (32768) серединка памяти
#c000 (49152) меняемые странички памяти

ну и по мелочам
#6000 (24576) стандартное начало программ
#7FFD (32765 если OUT'ишь из бейсика) порт переключения страничек
#FE (254) порт бордюра, клавиатуры, и магнитофона

и практически фсе ;)
например если по #FDFD делаешь приход прерывания, то уже понимаешь, что это "где-то там, в высоте, за #C000, под самым ПЗУ" :)

в общем, ничего страшного.


All times are GMT +4. The time now is 21:30.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.