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

Для вопросов программирования и/или микроархитектуры о 16-разрядных процессорах Intel x86, включая 8088, 8086 и более поздние чипы, работающие в 16-разрядном режиме.
16

Какова цель инструкции LEA?

Для меня это просто похоже на фанки MOV. Какова его цель и когда я должен ее использовать?
01 нояб. '09 в 20:57
6

Как мне разобрать необработанный 16-битный машинный код x86?

Я бы хотел разобрать MBR (первые 512 байт) загрузочного диска x86, который у меня есть. Я скопировал MBR в файл, используя dd if=/dev/my-device of=mbr bs=512 count=1 Любые предложения для утилиты Linux, которые могут дизассемблировать файл mbr?
15 нояб. '09 в 9:36
7

В чем разница между MOV и LEA?

Я хотел бы знать, какая разница между этими инструкциями: MOV AX, [TABLE-ADDR] и LEA AX, [TABLE-ADDR]
09 нояб. '09 в 8:32
6

Какие близкие, дальние и огромные указатели?

Может ли кто-нибудь объяснить мне эти указатели подходящим примером... и когда эти указатели используются?
26 авг. '10 в 13:36
8

Разница между SHL и SAL в 80x86

Я научился работать с ассемблером 80x86, поэтому в режиме бит-сдвига я столкнулся с проблемой использования SAL и SHL. Я подразумеваю разницу между строками кода следующим образом: MOV X, 0AAH SAL X, 4 MOV X, 0AAH SHL X, 4 Когда мы должны использ...
04 дек. '11 в 5:04
7

Сколько способов установить регистр в ноль?

Мне любопытно, как много способов установить регистр в ноль в сборке x86. Использование одной инструкции. Кто-то сказал мне, что ему удалось найти по меньшей мере 10 способов сделать это. Я могу подумать: xor ax,ax mov ax, 0 and ax, 0
28 янв. '11 в 15:30
1

Пока, Do While, For loops in Assembly Language (emu8086)

Я хочу преобразовать простые циклы в языки высокого уровня в язык ассемблера (для emu8086), скажем, у меня есть этот код: for(int x = 0; x<=3; x++) { //Do something! } или int x=1; do{ //Do something! } while(x==1) или while(x==1...
23 февр. '15 в 1:07
4

Самый эффективный способ установки Register на 1 или (-1)

Сейчас я собираю курс сборки, и парень, который проверяет наши домашние задания, является очень педантичным уловкой оптимизации старой школы. Например, он вычитает 10%, если видит: mov ax, 0 вместо: xor ax,ax даже если он используется только о...
13 мая '10 в 12:53
4

8086 - почему мы не можем переместить немедленные данные в регистр сегментов?

В программировании сборки 8086 мы можем загружать данные только в регистр сегментов, сначала загружая его в регистр общего назначения, а затем мы должны перенести его из этого общего регистра в регистр сегментов. Почему мы не можем загрузить его нап...
29 сент. '13 в 5:13
6

Какова цель регистров CS и IP в сборке Intel 8086?

Итак, как говорится в вопросе, какова цель регистров CS и IP в Intel 8086 Я нашел это объяснение: Сегмент кода (CS) - это 16-разрядный регистр, содержащий адрес сегмента 64 КБ с процессором инструкции. Процессор использует сегмент CS для всех обра...
21 июл. '13 в 21:32
1

Загрузочный загрузчик не переходит в код ядра

Я пишу небольшую операционную систему - для практики. Я начал с загрузчика. Я хочу создать небольшую систему команд, которая работает в реальном режиме 16 бит (на данный момент). Я создал загрузчик, который сбрасывает диск, а затем загружает сектор...
21 сент. '15 в 18:06
2

Есть ли компилятор C, который нацелен на 8086?

У меня есть эмулятор процессора 8086. Он эмулирует только 8086 инструкций. Я ищу теперь для компилятора C для таргетинга на этот эмулятор. Есть ли там компилятор C, который может это сделать? Кроме того, наличие полезного libc и такого не важно для ...
20 дек. '10 в 19:19
10

Поиск 16-разрядного компилятора x86

Я работаю над проектом встроенных систем и столкнулся с проблемой компилятора, который программно встроен в Paradigm С++ IDE. Я хотел бы иметь возможность автоматизировать строительство. Процессор - AMD186ES. Я не работаю с ОС - просто безболезненны...
22 окт. '08 в 22:29
9

Режим реального режима BIOS и защищенный режим

Я делаю эксперимент с ОС. До сих пор весь мой код использовал прерывание BIOS реального режима для управления жестким диском и гибкими дисками. Но как только мой код включил режим защиты CPU, вся процедура обслуживания прерываний BIOS в реальном режи...
02 сент. '10 в 3:14
4

Как сказать GCC для генерации 16-битного кода для реального режима

Я пишу функцию реального режима, которая должна быть нормальной функцией с стековыми кадрами и так, но она должна использовать% sp вместо% esp. Есть ли способ сделать это?
27 сент. '13 в 16:22