Вопросы по теме '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 просмотров
schedule
12.11.2022
Поиск массива с помощью 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