![]() |
hex-психопатология, межплатформенный вопрос
Привет спектрумистам!!! Столкнулся со следующими проблемами
1. Нет реально работающего компа, слегка нету полной документации ;) 2. Второе, И самое главное, сейчас сформулирую, значит так: все адреса в доках, числа в примерах и тд. записаны в 16-ной системе и..... ....В общем... у меня оооочень расплывчатый вопрос к кодерам. Вы можете например так же свободно ориентироватся в 16-системе, как в десятичной? И как это достигается-то? Все же в самом начале сталкивались с этой проблемой. В свободное время сижу вот, пугаю родных: "ашка, эфка... значится 16, неее, 15, ага 1111 1111, эээ..."... А можно как нибудь почеловечнее врубиться в предмет :rolleyes: ? |
В смысле, переводить числа я умею, если долго потеть над каждым числом с
*Т.е.* мне интересна психология кодера в этом отношении. Вот практический пример: читаю в доке - "$000000-$07FFFF chip-память $080000-$1FFFFF зарезервировано $200000-$9FFFFF место для FASTпамяти".. и так далее до "FFFFFF". А потом уточняется, что мол, "это еще узкий диапазон, на M68030 адреса занимают двойное слово, так что типа не расстраивайтесь".. А я и не расстраиваюсь, я просто выпадаю в осадок, это сколько кодить надо чтобы начать врубаться в адреса Z80 диапазона, я уж молчу про 32битные процы(((( |
Если постоянно или хотя бы часто "общаться" в hex, довольно быстро приходит привычка, и дальше всё просто :) . Наверно, психология тут такая же, как в случае с иностранными языками: практика, побольше практики :) .
|
Довольно быстро запоминается, что A=10, B=11, итд, а также все возможные значения умножения разряда на разряд...
|
Quote:
|
Да, как бы потом даже не переводишь, а реально мыслишь - типа - #4000 - это экран, и мне пох, какой у него десятичный адрес, все стандарные порты запоминаются... Это я в плане документации - какая разница в какой они кодировке написаны. Тем более в любой асм как правило встроен калькулятор - взял да посмотрел. А вообще никто не мешает же работаеть в dec?
|
Все это - дело привычки.
а потом - степени двойки запоминаются - и понять где примерно находится фдрес 6EF8 - не проблема. |
в 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. вотъ ^__^ |
Собсна аффтор просил ему рассказать как можно быстро врубится в эту машинную систему счисления. Думаю, что самое главное - НЕ ПАРИТСЯ. Вот Робус вообще всегда только в dec пишет и ничего, так что как тебе удобнее, так и делай. Вот =_=
|
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.