Настройки графики x86 asm для разрешений выше 640x480?

Я только начал использовать язык ассемблера (хотелось изучать что-то новое), и натолкнулся на несколько вопросов (пока), что все учебники, которые я просматривал, не отвечают или слишком стары, чтобы знать.

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, есть ли способ определить, какой графический режим использует пользователь в данный момент, чтобы я мог изменить его и вернуть обратно? (Я предполагаю, что есть, но не уверен, как это сделать.)

Редактировать: нужно запросить ОС для настройки графики.

Ответы на вопрос(4)

Ваш ответ на вопрос