Конечно наверное это не очень — ZXNet «code.zx»

Конечно наверное это не очень

ZXNet echo conference «code.zx»



from: Valery Grigoriev
to: All
date: 20 November 2005
Hello, GriV эффективно (в смысле затрат памяти) - использовать символьные имена для работы с п/п ПЗУ :D (я бы даже более сказал :D) однако имеет право на жизнь хотя бы потому, что такие функции никогда не перекроют друг друга. Hапример: call PrintChar А если взять безликий RST 16 defb 81 defb 12 то тому, кто будет писать такую п/п будет необходимо будет держать в руках справочник чтобы смотреть соответствие между вызываемой функцией и её байтами описателями (те самые defb) - такую работу должен выполнять не программист, а машина. Да и запомнить символьное имя PrintChar в любом случае проще. Кроме того, символьные имена хорошо жмутся (5 бит используют из 8, если даже взять спецсимволы то 6 бит из 8, или скажем обработать хаффманом), так что трёхсимвольное имя будет кушать практически столько же места сколько вызов через DefB. P.S. Под перекрытием я подразумеваю возможность вызова разных функций при том же синтаксисе - PrintChar либо не оттранслируется вообще, потому что нет такой функции, либо будет транслироваться замечательно. Rst Defb Defb при смене набора функций придётся отслеживать. Первый Defb отвечает за группу функций - если после обновления версии случилось так что группа расширилась за 256 значений функций, то придётся ещё один номер группы резервировать и это в свою очередь головняк и головняк