Вопросы по теме 'x86-16'

Язык ассемблера 8086
У меня проблема со сборкой 8086. Я не знаю, как использовать 2D-массив. Когда я использую вот так mov ar[cx][dx] , я получаю сообщение об ошибке, и когда я хочу использовать SI и DI в массиве, он также возвращает ошибку.
3517 просмотров
schedule 21.05.2023

Вычисление АБСОЛЮТНОГО АДРЕСА/значений реестра на ассемблере (Intel 8086)
Я знаю, что АБСОЛЮТНЫЙ АДРЕС следующей инструкции расположен как 50000 (шестнадцатеричный), и я знаю, что шестнадцатеричное значение, которое должно быть в регистре IP, равно 4000 (шестнадцатеричное). Мой вопрос... Почему это так работает? У меня...
3350 просмотров
schedule 24.06.2022

Странное поведение переменных (Intel 8086)
Изменить: ответил на мой собственный вопрос. Смотри ниже. -_- У меня есть переменная, определенная в сегменте .data следующим образом: retVal DW 0100h ;stores hex fraction of the intermediate value. Starts at 1.00 Это значение, которое...
292 просмотров
schedule 10.04.2024

Как создается физический адрес в 8086?
В архитектуре 8086 объем памяти составляет 1 МиБ и разделен на логические сегменты размером до 64 КБ каждый. т.е. он имеет 20 адресных строк, поэтому используется следующий метод: Регистр сегмента данных сдвигается влево на 4 бита, а...
12450 просмотров
schedule 15.03.2023

Есть ли компилятор C, ориентированный на 8086?
У меня есть эмулятор процессора 8086. Он эмулирует только 8086 инструкций. Сейчас я ищу компилятор C для этого эмулятора. Есть ли компилятор C, который может это сделать? Кроме того, для меня не важно иметь пригодную для использования libc и...
12121 просмотров
schedule 18.02.2023

2D-массив в сборке
Я определил в разделе данных массив 2d и два массива 1d (один для суммы столбца и один для суммы строки) и написал функцию, которая суммирует массив 2d в массив 1d. Я использую как eax, так и ebx в качестве индексов для массива 2d, но моя программа...
17797 просмотров
schedule 23.07.2022

Доступ IN/OUT к адресам выше 2^16?
Как я могу загрузить/сохранить данные на периферию, адрес которой больше 2 16 с инструкциями IN/OUT. Когда я использую инструкцию IN/OUT, скажем, OUT DX, AL , я знаю, что сегментный регистр DX не используется, поэтому я могу получить доступ только...
1686 просмотров
schedule 26.12.2022

Процедура обслуживания прерывания 8086
Я не смог найти подходящий ресурс в процедуре обслуживания прерываний 8086. Я хочу знать, как 8086 обрабатывает различные прерывания. Пожалуйста, помогите мне.
1438 просмотров
schedule 04.12.2022

int 13h ah=08h Что я делаю не так?
хорошо, так что это мой код .. mov ah,08h mov dl,80h ;have Tried for 81h,82h.... int 13h mov ah,0Eh int 10h ; printing the value in al. int 10h выводит на экран символ ascii после загрузки результатом всегда является «символ...
2806 просмотров

Поиск массива с помощью Assembly 8086
Я пытаюсь сделать задание для класса, и я довольно застрял здесь. Что мне нужно сделать, так это найти в массиве двойных слов указанное значение двойного слова. Вот что у меня есть сейчас: ; DriverSub assembly language program: SUB adds two...
5062 просмотров
schedule 05.03.2024

Сборка 8086 (TASM): отображение значения символа ASCII в виде HEX
** Отредактировано для уточнения и "чистого" кода. Я пытаюсь принять символ с клавиатуры (любой символ) и преобразовать его значение ASCII в шестнадцатеричное, а затем отобразить его. Я знаю, как преобразовать базу 10 в шестнадцатеричную, но...
43235 просмотров
schedule 25.09.2022

Базовая программа сборки
Я хочу написать свою первую программу на ассемблере. Я сделал несколько программ на бумаге, но это мой первый раз с компилятором. Я использую ideone . Моя программа очень проста, Перевести A = 5 - A на Ассемблер NEG A ADD A, 5 Теперь я...
1749 просмотров
schedule 10.04.2023

Преобразование из нижнего регистра в верхний регистр
Я пытаюсь преобразовать из нижнего регистра в верхний регистр. Я знаю, что это легко сделать, SUB AL, 20H Но мне дали другое решение, которое, AND AL, 0DFH Пожалуйста, помогите мне понять это. Спасибо
13133 просмотров
schedule 29.07.2022

Режим регистровой адресации против режима прямой адресации
Я столкнулся с этим вопросом в контрольной работе. В нем говорилось, какой из данных режимов адресации быстрее? Почему? Зарегистрировать режим адресации Режим прямой адресации Теперь, по моему мнению, режим адресации регистров должен...
11956 просмотров
schedule 11.06.2023

сборка x86 Использование значения стека в качестве указателя?
Интересно, как мне передать аргумент указателя в процедуру? Мне нужно создать функцию с двумя аргументами: массив слов размер массива Функция получает массив, равный размеру массива, и суммирует столбец. Вот что я закодировал:...
1905 просмотров
schedule 22.05.2023

Загрузка ПК: регистр dl и номер диска
Где-то в инете читал, что перед переходом на 0x7c00 BIOS загружает в %dl "номер диска" загружаемого устройства. Но что это за «номер диска»? Каждому устройству, подключенному к компьютеру, BIOS присваивает номер? Если да, то как я могу узнать,...
3195 просмотров
schedule 09.01.2023

16-разрядные режимы адресации NASM x86
У меня возникли проблемы с указанием адреса и записью в моем случае переменной размером в байтах. Это дает мне ошибку «ошибка: неверный эффективный адрес»: mov byte[AX], byte 0x0 После некоторого следа и ошибки я протестировал то же самое,...
2060 просмотров
schedule 17.12.2022

умножьте два 32-битных числа, чтобы получить 64-битное число на 8086 (32x32 = ›64-битное с 16-битным умножением)
Как я могу умножить две 32-битные цифры в сборке или одну 32-битную другую 16-битную, кто-нибудь знает алгоритм? data1 dw 32bit data2 dw 32bit mov ax,data2 Mul data1
2586 просмотров
schedule 03.05.2022

Сборка 8086 - как сложить 2 байта, сумма которых будет больше байта
Итак, вопрос простой. Если у меня есть 2 случайных байта, скажем, 150 (a [0]) и 215 (b [0]), и я хочу их добавить. очевидно, их сумма не поместится в байт, поэтому, если я добавлю их, я получу переполнение. Я попытался сохранить один из байтов в al...
7541 просмотров
schedule 16.09.2022

Запись символов ASCII в видеопамять в сборке с TASM на 8086
Мне нужно написать программу для записи символов ASCII в видеопамять. .model tiny .stack .data .code main: mov ax, 0b800h mov ds, ax mov aL, 'x' mov es, bx mov es:[1], aL mov ah, 4ch int 21h end main Этот код пока инертен; он...
2026 просмотров
schedule 07.01.2024