Вопросы по теме 'att'
Значение инструкции x86
Я сейчас просматриваю некоторый код на gdb и понятия не имею, что на самом деле делают эти две инструкции. Если бы кто-нибудь мог мне помочь, я был бы очень признателен.
add -0x2c(%ebp, %ebx, 4), %eax
cmp %eax, -0x28(%ebp, %ebx, 4)
964 просмотров
schedule
09.12.2022
Что делает этот ассемблерный код и почему он используется?
Синтаксис ATT.
Я заметил, что библиотечные процедуры в C часто используют следующий фрагмент ассемблерного кода:
call next
next:
popl %eax
Какое значение здесь хранится% eax и почему оно появляется?
Какова цель этого фрагмента?
411 просмотров
schedule
24.09.2022
Что означает 0x4 из инструкции по сборке cmp 0x4(%esi),%ebx?
Что означает 0x4 со следующей сборочной линии?
cmp 0x4(%esi),%ebx
je ...
Когда это сравнение возвращает равенство и выполняется переход, регистры имеют значения: %esi 0xe944d6d0 %ebx 0xe94ceccc
Извините, что задаю такой простой...
1896 просмотров
schedule
13.06.2023
К какому значению из памяти или регистра обращается каждый из операндов синтаксиса AT&T?
Предположим, что по указанным адресам памяти и регистрам хранятся следующие значения:
Address Value Register Value
0x100 0xFF %eax 0x100
0x104 0xAB %ecx 0x1
0x108 0x13...
5086 просмотров
schedule
21.11.2022
пытаюсь понять инструкцию по сборке: cltd на x86
нашел инструкцию по сборке
cltd
путем дизассемблирования кода на архитектуре Intel. Описание, которое я нашел, заключалось в том, что он очищает регистр% edx, но я не понимаю, что происходит .... кто-нибудь может объяснить, что именно делает...
8021 просмотров
schedule
11.02.2023
Общие сведения об установке флага кода условия в сборке
Если у меня есть следующая таблица:
Case 1: x: 42 y: -15 (y-x) = -57
Case 2: x: -17 y: -17 (y-x) = 0
Case 3: x: 0x7ffffffd y: -67 (y-x) = 2147483584
Case 4: x: 67 y:...
3801 просмотров
schedule
23.04.2022
CMP в x86 со скобками и адресом
У меня есть следующая строка на языке ассемблера x86, которую я не знаю, что она делает...
cmp %eax,0x80498d4(,%ebx,4)
Я знаю, что это сравнивает две половины оператора, но я не знаю, что делает в нем адрес и что делают круглые скобки....
5310 просмотров
schedule
07.01.2023
Ошибка сегментации шеллкода
Я начал изучать шеллкод в Linux. Я получаю ошибку сегментации при связывании ниже кода сборки. Можете ли вы помочь, почему я получаю эту ошибку. Заранее спасибо.
root@KaliLinux:~/Desktop# cat Untitled\ Document
1 .text
2
3 .globl...
399 просмотров
schedule
17.06.2022
Переходы от ассемблера к C-коду
Я новичок в этом, но я пытаюсь реконструировать ассемблерный код, чтобы выяснить, что он делает на C. Функция, на которую я смотрел, вызвала другую функцию (func4), и я представил ее, чтобы посмотреть. Буду признателен за любую помощь или совет о...
2570 просмотров
schedule
13.09.2022
Сборка - CMP не работает должным образом
Я новичок в коде сборки, и я работаю над кодом с gdb, который имеет это:
=> 0x080485ee <+132>: cmp %eax,0x80498d4(,%ebx,4)
0x080485f5 <+139>: je 0x80485fc <main+146>
0x080485f7 <+141>: call 0x8048540...
1297 просмотров
schedule
13.04.2022
Упакуйте битовые поля в 32-битный регистр, используя сборку x86
В данный момент я работаю с RNS на ассемблере x86 AT&T. Мне нужно поместить 5 остатков в один регистр, %eax. Часть кода:
.macro division number
mov $0, %ecx
loop_getremainders:
mov $0, %edx
mov number, %eax...
166 просмотров
schedule
14.05.2023
Несоответствие инструкции Cmp
Мне нужно написать функцию на ассемблере, чтобы завершить следующий код c.
int main(){
int hist[26]={0};
int i;
charHistogram("This is a string", hist);
for (i=0; i<26; i++ )
printf("%c:%d ", i+’a’, hist[i] );
printf("\n");
}
return 0;
}...
1966 просмотров
schedule
25.10.2023
Несоответствие типа операнда GAS Assembler для cmovz
Пытаюсь написать простую программу сборки. По какой-то причине условные ходы, кажется, выдают мне эту ошибку. Если я заменю их обычной инструкцией mov, она сработает. Что не так со следующим кодом?
.section .data
supported:
.asciz "AVX...
544 просмотров
schedule
15.08.2022
Преобразование из ascii в целое число в AT&T Assembly
Как я могу преобразовать из ascii в целое число?
data
asd:
.int 32
.text
.globl _start
_start:
movl $4, %eax
movl $1, %ebx
movl $1,(asd)
add $48,(asd)
movl $asd, %ecx
movl $4, %edx
int $0x80
# Exit...
3911 просмотров
schedule
30.01.2023
Рекурсивная подпрограмма факториала в ассемблере x64 приводит к переполнению стека
Я реализую рекурсивный алгоритм для вычисления факториала заданного числа в сборке x64. (Я использую синтаксис AT&T.)
Псевдокод выглядит так:
int factorial(int x){
if(x == 1){
return 1;
}else{
return x*factorial(x-1);...
5001 просмотров
schedule
15.05.2022
Сборка 32-битных двоичных файлов в 64-битной системе (набор инструментов GNU)
Я написал ассемблерный код, который успешно компилируется:
as power.s -o power.o
Однако это не удается, когда я пытаюсь связать объектный файл:
ld power.o -o power
Чтобы работать в 64-битной ОС (Ubuntu 14.04), я добавил .code32 в...
6881 просмотров
schedule
30.12.2022
как преобразовать 64-битное число в строку в сборке x86?
Я ищу способ преобразовать 64-битное число в строку (и, возможно, наоборот), используя 32-битную систему. Я не прошу код, просто прошу некоторые идеи.
1135 просмотров
schedule
20.12.2022
Руководство по коду операции для GNU GAS
Я пытался понять некоторый ассемблерный код для x86, написанный для сборки с использованием ассемблера GNU - GAS. Может кто подскажет реф. для поиска синтаксиса кодов операций/мнемоники в GAS.
925 просмотров
schedule
24.08.2023
Несоответствие типа встроенной сборки AT&T
Я изучаю ассемблер и не нашел ничего, что помогло бы мне в этом. Это вообще возможно? Я не могу заставить это работать.
Я хочу, чтобы этот код принимал значение «b», помещал его в %eax , а затем перемещал содержимое %eax в мой вывод и печатал...
573 просмотров
schedule
20.08.2022
Синтаксис Intel x86 - неоднозначный размер для mov, мусор после выражения?
Я работал с синтаксисом AT&T, но решил попробовать Intel. У меня есть такой код:
.text
.global _start
_start:
mov ebx, 0
mov eax, 1
int 80h
Что должно вернуть 0, верно? Так было с AT&T до того,...
4100 просмотров
schedule
11.08.2022