Это сделать можно. Но лучше не нужно. Ибо обвязка (оболочка) по любому паскалевской будет. А сие означает, что далеко не полностью будет ясна "физика" этой программы. То есть, распределение памяти по адресам, подгружаемые оверлейные модули, адреса сегментов областей памяти (CS, SS, DS и ES), смена этих адресов... в результате будут трудности с отладкой.
Для написания программ на ассемблере хорошей идеей являются IDE для ассемблера (как это сказал Python, судя по НИК - линуксоид).
Полностью с нуля? Вообще, можно "покопать" в сторону микроядра L4, там очень много документации (правда на английском языке), поддерживаются различные архитектуры (правда, ARM на сколько я знаю уже не поддерживается).
А так, Эндрю Таненбаум "Современные операционные системы", Эндрю Таненбаум "Операционные системы: Разработка и реализациая", Макаров, Насыров "Написание собственной операционной системы" (достаточно примитивно, но понятно).
А вообще, есть достаточно неплохая подборка.
Как пример, можно поинтересоваться проектом "Хамелеон" - русской микроядерной операционной системой, на базе L4.
На счет исходников - лучше всего посмотреть исходный код FreeBSD, он достаточно прост и лаконичен, в отличии от Linux (слишком много "наворотов").
Сценарий - это программа, запускаемая внутри определенной программной системы и служащая для автоматизации действий этой системы по определенному сценарию.
Сценарии иногда называют скрипты.
Сценарий не имеет прямого доступа к ресурсам компьютера и действует через объекты другой системы, поэтому сценарий более безопасен чем обычная программа - сбой в сценарии не вызовет остановки всей системы или компьютера.
Сценарии позволяют легко писать программы для работы больших программных систем, работая в основном с объектами самой системы, - браузеров, офисных программ, командных интерпретаторов и т.д.
Пример:
Чтобы записать информацию в ячейку таблицы из файла .xls (для excel) надо запрограммировать обработку структуры файла, а если потребуется и новая версия, например .xlsx, то нужно будет программировать и обработку новой структуры файла, а для скрипта достаточно указать вкладку, номер строки и столбца ячейки, что гораздо удобнее и не требует таких усилий, как создание обычной программы.
При вызове скрипта все действия по модификации файла выполнит сама программа (в приведенном примере excel)
У этих языков совсем разное предназначение.
Язык PHP используется для создания сайтов, то есть управляющих сайтом скриптов.
А язык Ассемблер используется для клиентских программ, то есть находящихся на компьютере пользователя (скачиваемых). Ассемблер применяется редко, то есть тогда, когда более простым языкам программирования не хватает быстродействия. В ассемблере можно продумать каждую машинную команду, в результате чего придумать максимально быстрый алгоритм. Программировать на Ассемблере очень интересно, разрабатывая хитрые алгоритмы.
Попробуйте установить плагин firebug для firefox'a на компьютере того человека. На вкладке "Сеть" посмотрите, отправляется ли запрос на ваш сервер (на dmonitor/index.php) или проверьте по access_log'ам веб-сервера, приходит ли запрос от этого пользователя (по IP и useragent'у). Если не проходит - то проблема с javascript'ом.
Проверьте "Консоль ошибок" (Ctrl + Shift + J) на наличие проблем с JavaScript. Попробуйте пошагово пробежать по скрипту отладчиком из firebug'a. На вкладке "Сценарий" выберите скрипт dmonitor.js, установите brekpoint (точку останова) на строку с var dmXmlDoc = dmCreateXmlDoc();, кликните по объявлению, вас перебросит на окно отладки, кнопками f11 и f12 полностью выполните скрипт, как минимум убедитесь, что дело дошло до ajax-запроса к php-счетчику.
Пока что есть такие варианты:
- запросы к скрипту dmonitor/index.php режет фаервол/антивирус
- dmonitor.js скрипт не загружается (опять же может резаться фаерволом/антивирусом, adblock плагином)
- доступ к скрипту может быть заблокирован на прокси-сервере, через который обеспечивается доступ в интернет с этого компьютера
- яндекс успевает перенаправить пользователя раньше, чем будет отправлен запрос на ваш сервер к счетчику