У тебя же 64x Windows, в ней нет эмулятора DOS, только wow64(эмулятор 32битной версии). Так что используй 32 битные аналоги регистров, ну и из под 64 винды ты не сможешь работать с прерываниями в силу защищенного режима.
В общем ты можешь написать "mov eax,ebx", но не "mov ax, bx". Приставка "е" от слова "extended"(расширенный от 16 бит), так же можешь работать с 64битными регистрами rdx,rax и т.п
В фасме для того, что бы компилятор понял целевую платформу достаточно написать use64 или use32 или же use16.
Сейчас туго с учебниками по асму, потому что их львиная доля описывает разработку под dos, что в наше время на современных схемах не столь актуально. Установи виртуальную машину, ограничения будут, но думаю что тебе ее хватит.
Цитата:
Купил учебник там софт под х32
Да, знаю я этот идиотизм- разработка под 32ую с 16битными дос-регистрами
здесь вроде не плохо поясняется по сабжу
link