З чого почати вивчення асемблера

З того, що спочатку треба поставити мету: навіщо вам потрібен асемблер. Просто так його вчити безглуздо.

Якщо ви пишете на Сі/С++, то для налагодження вам потрібен буде асемблер. Ось коли зіткнетеся з цим, тоді вчіть. Або у вас з'явилося стійке бажання написати свою ОС, тоді просто по ходу можна все вивчати, починаючи із завантажувачів. Тут доведеться багато чому навчитися, витратити хоча б пару років, але досвід, отриманий у написанні ОС - дуже цінна штука для розробника.

Вивчити, щоб вивчити - це марно. Краще інший навик освойте який-небудь.

Від ОС нічого не залежить, асемблер залежить від процесора, його розрядності, архітектури.

Flatron: У досі свої переривання! Точно так само можна сказати, що в мові Сі у вінди своє WinAPI, а у юніксів свої POSIX-виклики. Тільки ось це все - API операційної системи, яка ніяк не відноситься до стандартів мови програмування і лише побічно відноситься до заліза.

Переривання ДОСа відносятьсялишедо ДОСу, це його API, так само, як WinAPI або COM у вінди. Ні процесор, ні асемблер тут не до того. Тому тут краще сказати "хочу вивчити ДОС", а не асемблер.