Уважаемые читатели, прошу прощения за то, что долго не писал. Несколько лет прошло =/. Много раз садился за продолжение, и каждый раз что-то тормозило.
Кроме того, признаю ошибку: слишком много "бутербродов" затолкал в прошлую главу про системы счислений. Обещаю, это была самая мутная и сложная статья. Дальше буду разбивать материал на "канопе". Знаете, такие мини-бутербродики, которые целиком в рот помещаются, легко жуются и проглатываются, а в результате ещё больше хочется есть.
Итак, про что там было...
Страхи первых дней - "отпустят ли с острова живым, и когда это произойдёт" - резко поменяли знак.
Теперь тяжелая мысль о досрочном отчислении приходила к Юнге всё чаще и чаще. За вычетом этой мелочи остров напоминал тот самый Парадиз.
И вот, как по заказу, Куратор сообщил очередную новость.
- Поздравляю! Всем, кто сейчас сидит в классе, больше не грозит отчисление из школы до конца обучения. Мало того, каждый из вас может самостоятельно решить, готов ли он перейти на следующую ступень.
Все молча ожидали пояснений, но Куратор только осмотрел учеников и быстро вышел из класса.
Юнга побежал к пляжу, расспросить своего Учителя.
- Всё очень просто. Если ты готов покинуть остров, перейти на следующую ступень обучения, откуси от плода с самого большого дерева в нашем саду. В Школе это что-то вроде символа зрелости.
- Да, да, вторая ступень обучения проходит в другом месте. И начнётся только тогда, когда ты сам будешь считать себя готовым.
Не то чтобы Юнга расстроился, но и обрадовать такой поворот не мог. Зачем? Зачем покидать это чудесное место, чтобы перейти на следующий уровень? Почему надо жертвовать лучшим, да ещё и по собственному желанию? Даже если там будет хорошо, лучше, чем здесь, быть не может.
- Нет! Моё яблоко ещё не созрело!
А строгая колонна "мучеников науки" решила по-другому. Они не разделяли восторгов относительно пляжа, океана, заката, уютного мерцания звёзд, и уж тем более их не радовала идея целыми днями загорать. Каждый хотел новых высот познания, новых тем, новых результатов. Плоды были невкусные, так что по всему саду валялись не то чтобы огрызки, а всего лишь надкусанные яблоки.
Когда посредине дня в небе появилась маленькая яркая звёздочка, все вдруг осознали, что сегодня из новичков на острове останется только семь отщепенцев и фактически весь класс переходит дальше. Долгие объятья и обмен подарками задержали вылет корабля. Никто не питал особых иллюзий о быстром воссоединении класса. В глазах уходящих остров был необходимостью, но они ясно видели болезненную привязанность к этому месту у остающихся.
- Юнга, мы можем сделать перерыв на пару дней, но если ты хочешь, можно продолжить обучение.
- Что бы тебе хотелось узнать? Выбирай из списка любую тему.
Ёлки! Честно говоря, за эти годы Ассемблер почти забыл, не то что prax14 =). Хорошо, что сразу сделал заметки для себя.
Полагаю, дальше разбирать код построчно нет необходимости, большая часть примера prax14 доступна для вас, а если что-то непонятно, отладчик разъяснит лучше меня.
В ближайших статьях, разумеется, будут рассмотрены все новые моменты. А именно:
Что касается команды movzx, так она делает почти то же, что и mov, только mov работает исключительно когда приёмник по разрядности равен источнику, а movzx подразумевает, что приёмник всегда больше источника. Старшие разряды приёмника добиваются нулями (для чисел со знаком есть movsx).
Допустим:
movzx EAX,BL movzx EAX,BH movzx EAX,BX
В то время как:
mov EAX,EBX
Если этого объяснения мало, полное описание ищите в справочниках.
Других новшеств мною в prax14 замечено не было. Может, забыл что-то важное, тогда напомните мне, пожалуйста, в гостевую или на мыло.
Скорее всего, здесь речь пойдёт о переходе на x64.
Расскажу об основных 64-битных регистрах архитектуры AMD (Intel в этом вопросе догоняет и подстраивается). Попробуем написать нулевой 64-битный пример. Соответственно, нам понадобятся новый пакет языка Ассемблер с поддержкой x64, новый отладчик и, разумеется, Windows x64. С другой стороны, может быть, получится переложить на 64 бита уроки с самого первого дня нулевого витка, тогда концепция изменится. В любом случае, тема для меня совершенно новая, инструментов нет, знания на нуле, так что не ждите главу в ближайшее время, а смело читайте дальше.
Bitfry