Assembly – вопросы и ответы

103
голоса
1
ответ
В целях обучения я пытаюсь написать любое целочисленное деление в MARIE. Это стандартный (надеюсь, правильный) код, который делит X на Y с остатком, но только с положительными целыми числами. LOAD ...
3 месяца назад Ernio
54
голоса
1
ответ
Я пытаюсь запустить TM4C123GX Launchpad в Assembly, чтобы периодически включать внешний светодиод, используя 16/32-бит Timer0A. Я выполнил инструкции в руководстве пользователя (TM4C123GH6PM), но п...
3 месяца назад Pablo
67
голосов
1
ответ
Я просматриваю документацию, и есть несколько псевдоопераций, за которыми я застрял, это DV , LIST и XXX . DV говорит, как DC но используется с EQM , я EQM с ним, но я не замечаю никакой разницы, я...
3 месяца назад Daniel Sega
78
голосов
1
ответ
Я извлек прошивку D-Link, которую я пытаюсь переделать. У меня нет предыдущего опыта работы с Mips. Я скачал Марс, чтобы узнать Мипса. Но теперь, когда я как бы получаю просто Mips, я бы хотел созд...
3 месяца назад lillypad
54
голоса
1
ответ
Ассемблер GNU предоставляет неожиданный операнд памяти при сборке синтаксического кода Intel. Я уменьшил свою ошибку до одной одиночной строки кода, и за последние три дня я пробовал все понять, по...
3 месяца назад HJLebbink
55
голосов
4
ответа
Я задал этот вопрос на одном из сайтов, посвященных интервью. Решение будет представлять собой код, написанный на ассемблере. Я не очень хорошо разбираюсь в сборке и просто задаюсь вопросом, как эт...
3 месяца назад dark_shadow
113
голосов
1
ответ
Я изучаю язык ассемблера для процессора x86, есть два вопроса, на которые я хотел бы обратить внимание, если я правильно ответил. Какое утверждение верно в отношении того, что произойдет при выполн...
3 месяца назад chloe.t
55
голосов
2
ответа
Я написал программу, которая открывает exe файлы. Я хочу, чтобы эта программа прочитала некоторые конкретные инструкции по сборке с их адресами в exe файле. например, JAM или Call. поэтому, какие ф...
3 месяца назад temp
66
голосов
2
ответа
Я хотел бы знать, есть ли опция, и если да, то как именно, чтобы писать сырые байты в файл без использования вызовов обработки файлов WIN32API, а в Windows. Я попытался использовать прямой подход, ...
3 месяца назад dalimama
78
голосов
1
ответ
Я пытаюсь вычислить выражение A * B + ( A + B ) / ( A - B ) , где A и B - целые числа, введенные пользователем. Я использую библиотеку ALong32 в ядре linux. %include "along32.inc" section .data msg...
3 месяца назад Tetramputechture
87
голосов
2
ответа
Я новичок в сборке, и у меня возникают проблемы с генерированием случайных чисел. Мой код прост: он генерирует 100 номеров в диапазоне 0-25 и сохраняет их в массиве. Проблема, которую я испытываю, ...
3 месяца назад Hamza Anis
-4
голоса
1
ответ
Есть ли способ запустить машинный код вместо Android OS на устройствах Android? Я хочу удалить Android Os и работать с процессором и другими устройствами напрямую. Какой компилятор я могу использов...
3 месяца назад Nariman
87
голосов
1
ответ
DB выделяет 1 байт. DW выделяет 2 байта. DD выделяет 4 байта. DQ выделяет 8 байтов. Поэтому я предполагаю, что: RESB 1 выделяет 1 байт. RESW 1 выделяет 2 байта. RESD 1 выделяет 4 байта. RESQ 1 выде...
3 месяца назад user8240761
54
голоса
1
ответ
Я пытаюсь написать подпрограмму strlen в MIPS. Функция работает, когда строка находится в памяти, но если строка является входом от пользователя, ответ всегда = (correct_value + 1). Например: Strin...
3 месяца назад user3342163
-6
голосов
1
ответ
в последнее время я начал писать о сборочных и компьютерных физических материалах, и когда я пришел к написанию ассемблерных кодов, я попытался связать первую программу, которую использовал книга, ...
3 месяца назад afr0ck
101
голос
4
ответа
Ну, они приносят (должны принести хотя бы) большое увеличение производительности, не так ли? Итак, я не видел никаких источников ядра Linux, но я бы хотел спросить: они каким-то образом используютс...
3 месяца назад Ben Usman
102
голоса
1
ответ
Рассмотрим простую факториальную функцию: static int factorial(int n) { if (n <= 0) return 1; return n * factorial(n - 1); } int main(int argc, char** argv) { return factorial(argc); } Компиляци...
3 месяца назад naslundx
93
голоса
1
ответ
В настоящее время я использую NASM для компиляции кода, но не существует инструмента для имитации кода. Пожалуйста, предложите любой простой в использовании инструмент для моделирования. Спасибо.
3 месяца назад fawad
102
голоса
1
ответ
В настоящее время я использую kdbg и обнаруживаю, что хотя я могу отлаживать код и видеть изменения регистра, как ожидалось, я не вижу, что текущая строка выделена в окне исходного кода:
3 месяца, 1 неделя назад imrichardcole
103
голоса
1
ответ
Я читал, что инструкция MOV не может иметь расположения памяти для обоих операндов. Вроде: MOV [0012H], [0016H] не разрешено. Почему так? И могут ли другие инструкции иметь ячейки памяти для обоих ...
3 месяца, 1 неделя назад batman
54
голоса
1
ответ
Я пытаюсь написать простой загрузчик в сборке x86, используя nasm. В нескольких местах кода я должен использовать эффективный адрес формы [es:di] . Код компилируется без ошибок, но во время выполне...
3 месяца, 1 неделя назад Lysergiks
56
голосов
1
ответ
предположим, что в masm я определил переменную в сегменте данных: .data AppName db "PE tutorial ",0 теперь в разделе кода я определил несколько куч: invoke GetProcessHeap mov hmyHeap,eax invoke Hea...
3 месяца, 1 неделя назад RF27
55
голосов
1
ответ
Я пишу свой первый TSR. Я знаю, что мне нужно использовать функцию 31H INT 21H. Когда я просмотрел его, я узнал, что значение в DX - это "размер памяти в параграфах". Я не знаю, как вычислить это, ...
3 месяца, 1 неделя назад Ayman Salah
95
голосов
1
ответ
Мне было очень сложно формулировать заголовок для этого вопроса, и я не думаю, что я сделал очень хорошо, поэтому, если у кого-то есть лучшая идея, кнопка редактирования принадлежит вам. Учитывая, ...
3 месяца, 1 неделя назад user4910881
95
голосов
2
ответа
Я скомпилировал этот код с помощью visual studio, double callVariadicDoubleFunc(double * doubles, unsigned int numDoubles,double(*TestFunc)(double,...)) { // sizeof(double) must be 8! if (numDouble...
3 месяца, 1 неделя назад Ali1S232
78
голосов
1
ответ
Я написал код: petla: mov ah,2 int 1ah mov[sekunda], dh mov ah, [sekunda] mov cl, 4 and ah, 11110000b shr ah, cl mov dl, ah add dl, '0' mov ah, 2 int 21h mov ah, [sekunda] and ah, 00001111b mov dl,...
3 месяца, 1 неделя назад user3763588
94
голоса
1
ответ
Создает ли LLVM байт-код ассемблера IEEE-694 или мне нужно изменить исходный код?
3 месяца, 1 неделя назад Academia
68
голосов
3
ответа
У меня есть кусок С++ кода (скомпилированный с г ++ под среде GNU/Linux), что загрузить указатель на функцию (как это делает, что не имеет значения), выдвигает некоторые аргументы в стек с некоторы...
3 месяца, 1 неделя назад Simone Margaritelli
54
голоса
1
ответ
Я использую TASM в DOSBox, Windows. Я узнаю о прерывании int 33h . В нормальном текстовом режиме я могу правильно определить положение мыши. Но когда я вхожу в графический режим ; 800x600 - 256 col...
3 месяца, 1 неделя назад Jhon Paul Jaspe
101
голос
1
ответ
У меня есть некоторый код ассемблера gnu для архитектуры x86_64, сгенерированный инструментом, и есть следующие инструкции: movq %rsp, %rbp leaq str(%rip), %rdi callq puts movl $0, %eax Я не могу н...
3 месяца, 1 неделя назад user10607
54
голоса
1
ответ
Я хотел бы начать конвертировать маленький проект nasm { synth.asm ,
3 месяца, 1 неделя назад BPL
109
голосов
1
ответ
section .data section .bss x1: resb 4 x2: resb 4 k: resb 4 n: resb 4 section .text global _fibonacci _fibonacci: mov [n], rdi mov rax, 0 mov [x1], rax mov rax, 1 mov [x2], rax mov rax, 0 mov [k], r...
3 месяца, 1 неделя назад user3645604
-4
голоса
1
ответ
Я пытаюсь получить смещение Ret-адреса во время простого переполнения буфера, используя циклический шаблон, созданный в gdb-peda. Я ожидал sigsegv при возврате к кадру вызываемого, но я получил его...
3 месяца, 1 неделя назад Luigi
-4
голоса
1
ответ
Bits 16 org 0x7C00 jmp Main ;In= si = string, ah = 0eh al = char, Out= character screen Print: lodsb cmp al, 0 je Done mov ah, 0eh int 10h jmp Print Done: ret Main: mov si, msg call Print cli hlt m...
3 месяца, 1 неделя назад gbattis
68
голосов
2
ответа
Это может показаться сумасшедшим, но мне кажется непонятным, есть ли интерфейс для программистов на сборку для написания кода для загрузки одного регистра на ядре 1 в регистр на ядре 2. Например, з...
3 месяца, 1 неделя назад Awaken
77
голосов
3
ответа
В чем разница между векторными и неэкранированными прерываниями? Я думал, что все прерывания должны быть векторными прерываниями... В конце концов, не все прерывания имеют номер вектора и, следоват...
3 месяца, 1 неделя назад rrazd
95
голосов
1
ответ
Я пишу следующую программу в NASM, чтобы практиковать смещение, адресацию, таблицы и т.д. t_addr: dw rout1-@, rout2-@ @ equ $ _start: mov esi, rout1 call esi call _start_reloc _start_reloc: pop ebp...
3 месяца, 1 неделя назад Fotinopoulos Giorgos
186
голосов
1
ответ
GCC 4.4.3 сгенерировал следующую сборку x86_64. Часть, которая меня смущает, - это mov %eax,%eax . Переместить регистр в себя? Почему? 23b6c: 31 c9 xor %ecx,%ecx ; the 0 value for shift 23b6e: 80 7...
3 месяца, 1 неделя назад Zan Lynx
55
голосов
3
ответа
Я пытаюсь запрограммировать функцию логарифма в Assembly, которая принимает два аргумента: базовое (32-разрядное целое число) и значение x (64-разрядная плавающая точка). Идея, которую я сейчас дол...
3 месяца, 1 неделя назад jadengore
66
голосов
1
ответ
Пожалуйста, кто-нибудь подскажет, как вызывать прерывание на ассемблере с помощью NASM на 32-битной архитектуре. Я пробую много раз, но результат не желателен. в Linux "ошибка дампа ядра", а в wind...
3 месяца, 1 неделя назад Umar Draz
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема