Comments 77
Осталось сетевой стек запрограммировать (конечно, тоже в опкодах), и вуаля — идеальный компьютер для написания постов на Хабр, имунный к любым обновлениям ОС.
PS. Жена определённо права.
Думаю, сначала всё-таки драйвер swap на опкодах и, а потом уже и TCP/IP, а то в 640 килобайт даже хромовый тирекс не влезет
/конец ночному пятничному сарказму
Думаю, сначала всё-таки драйвер swap на опкодах и, а потом уже и TCP/IP, а то в 640 килобайт даже хромовый тирекс не влезетДействительно, стек от МС занимает около 350 КБ, оставляя памяти только на «Hello Habr».
Но необязательно. Есть расширители DOS, переводящие процессор в защищённый режим, Open Watcom, например, поддерживает парочку (правда, +700К Б к исполнимому файлу). Есть стеки экономичные, в Watcom поддерживается wattcp. smb толстоват, но можно и его впихнуть, зато самый маленький ftp сервер, который удалось найти добавляет всего 27 КБ.
Для пуристов есть Unreal mode процессора, предоставляющий 4 ГБ ОЗУ. 4 ГБ опкодов, ага. Программа unreal.com, переводящая процессор в этот замечательный режим весит 2,5 КБ ЕМНИП.
А где же образ докера?
Боюсь, Докер и хостовая система не вынесут такого насилия и ссыпятся с какой-нибудь страшной ошибкой типа Segmentation Fault
Думаю, razielvamp шутил)
Очень порадовала статья, давно не видел подобных статей аж ностальгия пробирает.
Автору огромный респект!!!
Вот целую рабочую неделю думал об этом и придумал: может оно и к лучшему? ©
Всё-таки, если бы не такое адовое легаси это потенциально породило бы кучу проблем:
- В смысле, больше четырех разделов на диске? Наш софт это не поддерживает! (Нет, расширенный раздел мы никогда и не поддерживали, ох уж мне эти проделки дьявола.)
- Что значит «Boot-сектор нельзя забэкапить на дискету»?! (Недавно показывал 3.5’’-дискету 18-летней знакомой, сказал, что это девайс для наблюдения затмений.)
- Алло, я подключил любимый NEC Multisync FP950Plus, у меня нет картинки… Алло?.. Ал...
- Возможно и не было этой заметки, потому что пришлось разбираться с 64-битными машкодами и исполняемым кодом для UEFI, а я слишком ленив, да и числа больше
F
считаю с трудом.
Да не омрачит карантин и изоляция сегодняшний день!
Берегите себя! Хочется еще что-нибудь почитать вашего авторства.
LXI SP,01FFH
CALL F803 (ввод с клавиатуры)
MOV C,A
CALL F809 (вывод на экран)
JMP 0003
31 FF 01 CD 03 F8 4F CD 09 F8 C3 03 00…
Дайте угадаю:
LXI SP,01FF
CALL F803
MOV C,A
CALL F809
JMP ..03
Судя по обращению к подпрограммам системного монитора — Микроша.
… приветствую товарища по несчастью...
Я Вас тоже приветствую, однако не считаю это несчастьем. Я пишу и под AVR и под STM32, и, бывает, под 8086, и все на ассемблере. При переходе между проектами и платформами некоторое время путаюсь в синтаксисе, но ненадолго.
Просто замечательно, что есть люди, стремящиеся понять: а как командовать железом? Вместо всех этих слоёв шелухи.
Видел где-то для распберри примеры, а вот для BB не нашел. Может, кто подскажет?
В универе как-то было несколько лабораторных работ, в которых требовалось написать несложные программы для эмулятора PDP-11, и делать это предлагалось сразу в опкодах. Но для себя в итоге решил что, проще будет написать корявенький компилятор ассемблерного кода под этот эмулятор, чем так страдать, набирая программы в опкодах.
r/m16/32 — сперва мозг ломается от такого описания операндов. Но со временем привыкаешь. И почему то легче всего воспринимаются MMX и SSE из всего остального в спецификации по ссылке.
Так, я решительно требую ответной статьи со всем вышеописанным :)
Автоматизация прожига дискеты необязательна — можно просто прокалывать иголкой дискету по бумажному шаблону — в сектор попасть таким образом не получится, но в несколько дорожек — вполне, тогда проверять номер дорожки с нечитабельным сектором.
Начиная с B800:0000 нечётные код символа, четные атрибут.
bits 16
org 7C00h
mov ax, 3
int 10h
mov ah, 07h
mov si, msg
xor di, di
push es
mov bx, 0B800h
mov es, bx
print:
lodsb
test al, al
jz exit
stosw
jmp print
exit:
pop es
msg: db "Hello habr", 0
times 510-($-$$) db 0
dw 0xaa55
Подозреваю что то такое в итоге получиться должно.
Добавить цикл, добавить inc ah и получится версия топикстартера, только без насилования биоса
Назад к истокам: рулим компьютером прямо из MBR