MASM - это Microsoft Macro Assembler.Это ассемблер.Он берет ваш код, предварительно обрабатывает его и преобразует в двоичный файл.Связывает его с исполняемым исполняемым файлом или файлом OBJect.
все процессоры Intel 32-битные и em64t-процессоры (80386 и выше) поддерживают режим совместимости 8086, называемый «реальный режим».Это означает, что все ПК по сей день обратно совместимы с, скажем, MS-DOS и всеми играми, которые раньше работали на IBM XT.Они будут работать на современных машинах, но очень быстро, поэтому они не будут воспроизводиться: -)
Все компьютеры по сей день загружаются с процессором в реальном режиме, а современные операционные системы переключают процессор на 32-битную / 64-битную "защищенный режим ".
По сути, в реальном режиме процессор знает, что он работает как 8086. Например, все операции выполняются в 16-битных регистрах, а память адресована парой сегмент: смещение.Адреса памяти являются адресами физической памяти, и у вас есть доступ к первым 1 МБ ОЗУ.Физический адрес рассчитывается по сегменту, сдвинутому влево на 4 бита + смещение.Таким образом, 8000h: 100h - это тот же адрес, что и 8010h: 0h, физический адрес в памяти - 80100h.
Некоторые современные машины имеют EFI вместо BIOS и загружаются в «защищенном режиме» с самого начала.MAC-машины такие.