Я только начал использовать язык ассемблера (хотелось изучать что-то новое) и натолкнулся на несколько вопросов (пока), что все учебники, которые я просматривал, не отвечают или слишком стары, чтобы знаю.
1) Я пробовал несколько поисков (возможно, я просто не знаю правильных ключевых слов), но я не могу найти обновленный список графических режимов для изменения разрешения экрана и т. Д. Лучшее, что я нашел это: Учебник по ассемблеру , и я вряд ли думаю, что 640x480 - это лучшее разрешение на ассемблере. Кто-нибудь знает о более обновленном учебнике, который я могу использовать?
Редактировать: Прерывание 10 ч старое и не вполне поддерживает более 640x480
2) Можно ли "переместить" значение из переменной в другую переменную без предварительного перемещения в регистр? Пример:
jmp start
n1 dw 0
n2 dw 0
res dw 0
start:
mov n1,5
mov n2,6
mov res,n1
add res,n2
...etc...
Редактировать: это невозможно. Вы не можете перейти из памяти в память без использования регистров.
3) Переходя к вопросу 1, есть ли способ определить, какой графический режим использует пользователь в настоящее время, чтобы я мог изменить его и вернуть обратно после этого? (Я предполагаю, что есть, но не уверен, как это сделать.)
Редактировать: нужно запросить у ОС настройки графики.