Emulator 8086, команда mov, не могу понять код - Assembler
Формулировка задачи:
Есть следующий простой код, который выводит в видеорежиме символ 'A'
Пытаюсь понять код, возникает много вопросов.
0B800 = 47104
01011111 = 95
15E = 350
1. Почему именно эти числа используются в коде? AX - регистр-аккумулятор (что означает аккумулятор в данном контексте не совсем ясно). Допустим, он просто используется для хранения числа, которое мы потом помещаем в регистр DS, указывающий на начальный адрес сегмента данных. Можно было поместить другое число, а не 0B800? Почему именно оно?
2. Как включается видеорежим? Как я понял, в данной программе CL и CH хранят символ и цвет символа для вывода на экране. 15E - позиция символа на экране. Потом значение CX помещается в память с адресом B800:15Eh. Как вдруг в BX оказалось 0B800, которое содержится только в AX и в DS?
Помогите прояснить, что творится в коде. Спасибо
ORG 100h MOV AX, 0B800h MOV DS, AX MOV CL, 'A' MOV CH, 01011111b MOV BX, 15Eh MOV [BX], CX RET
Решение задачи: «Emulator 8086, команда mov, не могу понять код»
textual
Листинг программы
MOV [DS:BX], CX
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д