int 20h и int 21h используются для вызова подпрограмм DOS. Их можно вызывать либо в виртуальном режиме, поддерживаемом 32-битной Windows, либо в реальном режиме , когда вы работаете с DOS в качестве реальной ОС и никогда не переходите в защищенный (32-битный) режим. Обратите внимание, что 64-разрядные процессоры отказались от поддержки виртуального режима, поэтому вы вообще не можете использовать его с 64-разрядным чипом.
Список их можно найти в Списке прерываний Ральфа Брауна , который представляет собой действительно исчерпывающее руководство по этому устаревшему интерфейсу.
В Linux и, возможно, в других * nixes есть интерфейс «syscall» в int 80h . Тем не менее, все они могут быть вызваны через соглашения о вызовах C, что лучше документировано. Проверьте дерево исходных текстов Linux на наличие номера -> сопоставление имен и выполните команду man syscall_name
для документирования справочной страницы эквивалентной функции C. Я предполагаю, что аргументы упорядочены одинаково для любого соглашения о вызовах. (Я проверил это для нескольких системных вызовов.)
Соглашение о вызовах int 80h (для * nix) задокументировано здесь: int80h.org