Вопросы по теме 'x86-16'
Сборка Intel 8086, возведение регистра в квадрат
В принципе, возвести в квадрат значение регистра несложно:
mov ax, [var]
mov cx, [var]
mul cx // square of answer is in DX:AX
Но я подумал -- курс, который я изучаю, Assembly для повышения эффективности очень высоко; разница даже на...
886 просмотров
schedule
23.10.2022
манипулирование 32-битными числами с 16-битными регистрами в 8086
Я пытаюсь написать программу, которая получает два 6-значных десятичных числа и показывает их сложение, но в 16-битном 8086 я определил числа как двойное слово и поместил LO в СЛОВО 1 и HO в слово 2. аналогично приведенному ниже коду, но я не знаю,...
5702 просмотров
schedule
01.06.2024
Как запрограммировать микропроцессор 8086?
Существуют миллионы руководств о том, как программировать микрокомпьютер 8086 на ассемблере, но ни в одном из них не объясняется, как получить программный файл в памяти? Я предполагаю, что мне нужно получить шестнадцатеричный файл в память, но как?...
2271 просмотров
schedule
06.09.2022
Проблемы с языком ассемблера IDIV
CX равно 14 AX равно 16
IDIV CX
Но почему-то в AL 37. Перед этой строкой нет ошибок. Где я сделал ошибку? Благодарю вас! p.s. пишу на Emu8086
194 просмотров
schedule
07.04.2024
Какой скелет кода следует использовать для сборки Intel 8086 DOS?
Изучив структуру Intel 8080, теперь я пытаюсь изучить Intel 8086 и то, как здесь устроены программы. На данный момент это довольно пугающе, даже глядя на базовые примеры, и, что еще хуже, я не могу понять разницу между двумя способами написания кода...
1934 просмотров
schedule
07.10.2023
Как я могу перезапустить свою программу (8086 TASM)
В конце моей программы у меня есть возможность перезапустить программу.
Чтобы выполнить эту опцию, мне нужно сбросить некоторые из моих переменных, чтобы не было никаких проблем.
Я хочу спросить, есть ли прерывание или функция (или что-то еще),...
1397 просмотров
schedule
12.01.2024
Как сравнить две строки на ассемблере?
Я новичок в сборке. Я хочу сравнить две строки, используя «cmps». Я прочитал несколько примеров, и я пишу это:
GETSTR MACRO STR
MOV AH,0AH
LEA DX,STR
INT 21H
ENDM
PRINTSTR MACRO STR
MOV AH,09H
LEA DX,STR
INT 21H
ENDM
EXTRA...
2125 просмотров
schedule
31.10.2022
Включите загрузчик для загрузки второго сектора USB
Я изучаю язык ассемблера. Я написал простой загрузчик. После проверки это не сработало. Вот мой код:
[bits 16]
[org 0x7c00]
jmp start
data:
wolf_wel_msg db 'Welcome to Bootloader!!!',0x0D,0x0A,0
wolf_kernel_load db 'Loading...
1689 просмотров
schedule
24.03.2024
Вывод значения REAL 4 в сборке
Я создаю программу сборки (intel 8086 masm32), которая содержит простое деление. И все работало, пока подразделение не произвело поплавок.
Потому что, когда вы загружаете число с плавающей запятой в регистр eax, оно просто возвращает огромное...
751 просмотров
schedule
11.11.2023
Есть ли способ использовать математические выражения в константах сборки gnu?
Каков правильный синтаксис сборки gnu для выполнения следующих действий:
.section .data2
.asciz "******* Output Data ********"
total_sectors_written: .word 0x0
max_buffer_sectors: .word ((0x9fc00 - $data_buffer) / 512) # <=== need help here...
1207 просмотров
schedule
09.08.2022
Сборка 8086 мыши второй вопрос ввода
Я работаю над проектом в школу. Мой проект - это калькулятор, который включает в себя некоторые элементарные действия. Я нарисовал растровое изображение и загружаю его на экран, как только я запрашиваю ввод, все работает нормально. Во второй раз,...
45 просмотров
schedule
09.12.2023
Отображение чисел с помощью DOS
Мне было поручено написать программу, которая отображает линейный адрес PSP моей программы. Я написал следующее:
ORG 256
mov dx,Msg
mov ah,09h ;DOS.WriteStringToStandardOutput
int 21h...
2658 просмотров
schedule
19.10.2022
Реализация инструкции MUL в сборке
Мне нужно умножить на числа, но без использования инструкции MUL в сборке 8086.
Например:
mov bx, 2
bx -> bx * 41; code instead this line
Любая помощь?
1854 просмотров
schedule
04.05.2024
Сумма диагональных чисел матрицы 8086 в сборе
Я хочу суммировать все диагональные элементы в свойстве ответа, но каждый текущий перемещаемый элемент в edx неверен, поскольку он перемещается не в тот, который я полагаю, это из-за 32-битной адресации. Отлаживал турбо отладчиком. Любая помощь...
752 просмотров
schedule
08.03.2024
переполнение в разделе сборки(8086)
Я не знаю, каково точное определение переполнения в подразделении. можете ли вы сначала объяснить это, а затем проинструктировать его на приведенном ниже примере?
например, в моей книге написано, что этот фрагмент кода приводит к переполнению. Я...
2243 просмотров
schedule
25.05.2024
Как установить правильный размер экрана
Я пытаюсь создать игру-лабиринт в emu8086. Сначала я хочу сделать экран дисплея белым в полноэкранном режиме, а затем распечатать координаты фона лабиринта черным цветом, но когда я делаю его в полноэкранном режиме, он становится пиксельным. Как...
521 просмотров
schedule
10.10.2023
DosBox как исправить атрибут персонажа?
Я написал свой ассемблерный код только для того, чтобы написать символ с синим фоном и белым передним планом. Он работает в эмуляторе emu8086, но когда я открываю его в DosBox, он не показывает цвет фона.
С Emu8086:
С DosBox:
mov...
277 просмотров
schedule
15.06.2024
Как хранить и использовать 32-битные значения в 16-битном режиме
Можно ли использовать регистры E*X в 16-битном режиме? Если нет, то как я должен хранить и использовать 32- и 64-битные значения (DWORDS и QWORDS). Я знаю об использовании ax и dx вместе для хранения 32-битного значения, но как мне адресовать память...
773 просмотров
schedule
14.03.2024
Как сохранить элементы массива по адресам памяти в 8086
Вот вопрос Пытаюсь написать программу на emu8086.Эта программа про операции с памятью и массивы. Операции передачи памяти должны выполняться в сегменте данных. И я должен хранить свои элементы по адресам памяти (например: от DS: [2000h] до DS:...
1928 просмотров
schedule
14.02.2024
[Книга Дунтеманна, 3-е издание]. Как 16-битный 8086 мог адресовать в 16 раз больше памяти, чем 8080?
Дунтеманн говорит, что 8086 может адресовать в 16 раз больше памяти, чем 8080 , и уточняет это как 16 * 64K = 1 МБ . Поэтому я предполагаю, что 16 бит за раз (16-битный процессор) * 64 КБ, потому что 16 адресных строк (2 ^ 16). Но, по этой логике...
195 просмотров
schedule
26.10.2022