Вопросы, помеченные тегом «assembly»

Вопросы по языку ассемблера. Пометьте процессор и / или набор инструкций, который вы используете, а также ассемблер, допустимый набор должен быть таким: (сборка, x86, gnu) Обратите внимание, что вы должны использовать тег ".net-assembly" вместо этого для Языки сборки .NET и для байт-кода Java используйте вместо этого тег java-bytecode-asm.
avatar
MohAliBou
30 января 2022 в 01:30
100
1

Вычесть переменную из регистра? ошибка A2022: операнды инструкции должны быть одного размера

.data num1 word 0FEEDh .code main PROC mov ecx, 0E4C7FFFDh ;ecx = 0E4C7FFFD hex sub ecx, num1 ;;;;; error on this line Я хочу иметь возможность вычитать переменную num1 из регистра ecx, но эта попытка дает: ошибка A2022: операнды...
avatar
Dalex
9 августа 2021 в 00:01
147
2

Не удается получить доступ к 32-битной версии в защищенном режиме

Во время разработки небольшого ядра я столкнулся со странной проблемой при загрузке процессоров приложений с использованием APIC. Как указано в OSDev и Intel-Manual, процессор сначала переходит в реальный режим, и моя цель — заставить его работать в защищенном режиме....
avatar
Sep Roland
8 августа 2021 в 21:30
82
1

Как зациклиться на сегменте кода размером 64 КБ в программе, которая пришивает себя к собственному хвосту, до бесконечности?

Если последовательное выполнение инструкций проходит через смещение 65535, то 8086 выберет следующий байт инструкции со смещения 0 в том же сегменте кода. Следующая программа .COM использует этот факт и постоянно сшивает весь свой код (всего 32 байта) в свой хвост,...
avatar
ZTECH
8 августа 2021 в 20:30
142
2

как загрузить ядро ​​из загрузчика?

Я пытаюсь создать операционную систему. Я только что завершил загрузчик, однако у меня возникла проблема с загрузкой ядра. Boot.asm: section .boot bits 16 global boot boot: mov ax, 0x2401 int 0x15 mov ax, 0x3 int 0x10 mov [disk],dl mov ah,...
avatar
Inc.ace
8 августа 2021 в 15:27
286
1

CS: переопределить доступ к глобальным переменным в выводе IDA, например, mov eax, cs:x?

Я пишу простые программы, а затем анализирую их. Сегодня я написал это: #include <stdio.h> int x; int main(void){ printf("Enter X:\n"); scanf("%d",&x); printf("You enter %d...\n",x); return 0; } Скомпилировано в это: push ...
avatar
kabax
7 августа 2021 в 23:52
672
2

Вычислить общую сумму всех элементов в целочисленном массиве в MIPS

Мне нужна помощь в вычислении общей суммы всех элементов в массиве целых чисел. Кажется, петля не работает. Буду признателен, если вы не предложите решение, основанное на изменении ниже "Не изменяйте и не используйте НИЧЕГО ниже этой строки". Ожидаемый результат: Sum...
avatar
user16209862
7 августа 2021 в 23:46
100
1

Можно ли сделать программу на ассемблере, которая пишет себя вечно? [закрыто]

В принципе, может ли у вас быть ассемблерный код, который постоянно записывает новый код после конца последней строки, чтобы он мог продолжать работать по прямой линии вечно, несмотря на то, что начал с конечного количества кода? Циклы не допускаются.
avatar
user16567153
7 августа 2021 в 19:46
90
1

Преобразование строки цифр в целое число с помощью подпрограммы

Программа на языке ассемблера для чтения положительного целого числа (трех и более цифр) в виде строки и преобразования строки в фактическое значение целого числа. В частности, создайте подпрограмму для чтения числа. Рассматривайте это как строку, хотя она будет...
avatar
Matt_Ag
7 августа 2021 в 19:44
62
1

Я пишу HLA (сборка высокого уровня), чтобы найти наибольшее значение. И вернуться в регистр AH

Я пишу HLA (сборка высокого уровня), чтобы найти наибольшее значение. И верните в регистр AH. Мои результаты продолжают давать мне «-52» вместо наибольшего значения, в данном случае 20. Буду признателен за любой вклад, который поможет мне вернуться в нужное русло. //...
avatar
petitecanaille
7 августа 2021 в 11:28
44
0

Какой символ и переменная на самом деле представляют, когда я использую их в nasm? [дубликат]

Что означает строка: "d: db 'hey',0xa". Я знаю, что d — это символ, но что он означает, когда я использую его так: «mov eax, d»? Вводить значение или адрес в eax? Что означает этот символ, когда я его использую? Во-вторых, для записи вывода мы должны заполнить регистр...
avatar
MathematicsBeginner
7 августа 2021 в 11:12
28
0

Как сделать имя процедуры локальным в файле .lib (сделанном из файла .asm). Я использую визуальную студию 2019

Как уже упоминалось, я использую Visual Studio 2019. Я пытаюсь создать библиотеку Sorting.lib, которая содержит Mergesort. Мой MergeSort имеет две подпроцедуры: Core и Merge. Очевидно, я хочу, чтобы эти два были ЧАСТНЫМИ для других программ (например, main.asm),...
avatar
retrofusion
7 августа 2021 в 07:11
48
0

Стек значений с плавающей запятой на HLA

Я пытаюсь создать функцию, которая возвращает символьное значение на основе значения с плавающей запятой, например: |Процент | Письмо Оценка | | 90,0–100,0 А | | 80,0 - 89,9 Б | | 70,0 - 79,9 С | | 60,0 - 69,9 Д | | Ниже 59,9 F | Вот что у меня есть: program...
avatar
job bot
7 августа 2021 в 03:40
117
0

как заставить компьютер издавать звуковой сигнал при сборке в загрузчике [дубликат]

Я искал в Google, но ничего не нашел для сборочного загрузчика только для msdos и dos box. Мне нужно, чтобы динамик ПК издавал звуковой сигнал в сборке с определенной частотой и временем, а затем делал паузу и повторял. Примечание: я большой нуб в сборке
avatar
Jing Wen
6 августа 2021 в 17:33
123
1

Использование 'LENGTHOF' в масме dosbox

Я запускаю masm в среде dosbox. Используя masm.exe по следующей ссылке https://medium.com/@axayjha/getting-started-with-masm-8086-assembly-c625478265d8 Я пытаюсь прочитать длину массива, используя 'LENGTHOF'. Когда я пытаюсь собрать коды, появляется следующее....
avatar
ASM student
6 августа 2021 в 06:08
84
0

Получение ввода пользовательской строки и повторная печать в целочисленной форме. Сборка АТТ [дубликат]

В настоящее время я хочу получить информацию от пользователя. Этот ввод должен быть в строковой форме, но должен состоять из чисел, например 1234. Я не понимаю всего преобразования ASCII. У меня здесь есть пользовательский ввод, но я не понимаю преобразование из строки...
avatar
MikeS
6 августа 2021 в 05:30
74
0

Загрузчик - LBA28 в длинном режиме не работает

После входа в длинный режим из загрузчика копирование второго сектора в память с использованием LBA28 приводит к сбою ПК. Второй сектор успешно скопирован в памяти в 32-битном режиме. Сбой происходит при выполнении инструкции rep insw Есть ли отдельная инструкция...
avatar
krjdev
5 августа 2021 в 16:44
164
1

AVR - скрипт компоновщика GNU - Как получить адрес загрузки раздела .data

Я новичок в скриптах компоновщика GNU. Хотите создать чистое (без avr-libc) приложение для микроконтроллера AVR. На ранней стадии проекта мне не нужно было инициализировать раздел .data. Но сейчас мне это нужно. Мой текущий скрипт...
avatar
ChrisZZ
5 августа 2021 в 16:09
147
1

Недопустимое переопределение символа для встроенной сборки руки [дубликат]

Я пытаюсь реализовать преобразование RGB-изображения в изображение серого цвета, используя C++ и arm neon, особенно встроенную сборку. Я пишу хорошо работающую, но не такую ​​быструю версию со встроенной сборкой. Он компилируется нормально и работает нормально. Для...
avatar
amai
5 августа 2021 в 14:55
166
1

Отступ MIPS, когда имена глобальных переменных длиннее одной табуляции

Насколько мне известно, при записи в MIPS вы должны написать имя глобальной переменной, добавить двоеточие, затем табуляцию, чтобы закончить табуляцию, затем написать подробности переменной, например, с помощью табуляции из 8 символов, вы получите что-то вроде: ...