Assembler. (eip). lea.
здрасьте, здрасьте люди добрые.
объясните синтаксис вот этого.
lea point(%rip), %rax
lea point, %rax
пожалуйста объясните в чем отличие между этими двумя инструкциями?
можно ли lea заменить mov?
здрасьте, здрасьте люди добрые.
объясните синтаксис вот этого.
lea point(%rip), %rax
lea point, %rax
пожалуйста объясните в чем отличие между этими двумя инструкциями?
можно ли lea заменить mov?
здрасьте здрасьте люди добрые
помогите разобраться.
информатику не проходил в школе, просто ее не было.
вот сейчас стал читать умные книжки по совету форума и столкнулся с тем, что не понимаю о чем толкуют авторы.
как я понимаю: байт, имее 8 ячеек. в восьми ячейках у нас может быть 256 состояний.
но нумеруются биты, с нуля. сначала идет два в нулевой степени, затем идет два в первой , два во-второй и тд. и тогда выходит что два в седьмой займет 8 ячеек. а два в седьмой -это 128. значит байт может хранить максимальное значение 128. в чем я неправ? пожалуйста объясните
здрасьте здрасте люди добрые
объясните кто знает, почему программа не вылетает с ошибкой а уходит в цикл
.section .bss
out:
.space 8
.section .data
frt: "%d"
.section .text
.global main
main:
lea out, %rsi
lea frt(%rip), %rdi
mov $0, %rax
call scanf
mov $0, %rax
mov out, %rsi
lea ft(%rip), %rdi // только тут заметил значение RIP, как надпись покойся с миром.
mov $0, %rax
call printf
mov $0, %rax
если добавить в конец ret, то что он снимет со стека? адрес следующей команды за scanf или за printf?
что тут произойдет? scanf положит на стек адрес следующей команды, а это будет mov $0, %rax. дальше все попорядку и когда дойдет до printf то на стек ляжет адрес команды следующей за printf.
а что потом? можете объяснить, как это все будет разматываться?
здрасте здрасте люди добрые
скажите пожалуйста посредством чего достигается инкапсуляция?
class exemple
{
int a=456; // как достигается то что поле'a' не видно полю 'b' ?
public:
int b=789;
friend func(exemple obj); // как работает дружественная функция?
как она видит поля private? заслуга компилятора в этом?
как это происходит? думаю что многие скажут, что вопрос непонятен им. Для них повторю еще раз.
пожалуйста объясните как дружественная функция видит приватные поля ? объяснение преподов об окошечках меня не устроило. Тем более что вы недавно сами критиковали подобные глупые способы объяснения, находя их дурацкими. Так объясните пожалуйста правильно. Покажите как надо.
Еще раз: каким образом дружественная функция видит приватные поля. Почему поля класса из private и public не видны друг другу? они расположены в одной обрасти памяти?
};
здрасьте здрасьте люди добрые
если можно объясните в чем будет отличие
Извините что текс не отформатирован, но отступы делаю по TAB, который тут не работает.
#include <iostream>
class foo
{
int v = 12345;
public:
void func();
};
void foo::func(){std::cout << " ";}
/////////////////////////////////////
class foo
{
void foo(){std::cout << " " ;}// будут ли коренные отличия в коде при описании методов класса вот такими способами?
Если будут, то какие?
};
Пожалуйста поймите, что я начинающий. Задаю вопрос Вам потому что надеюсь, что найдутся обитатели данного форума, кто хорошо понимает все тонкости этого языка.
здрасте, здрасте люди добрые!
пожалуйста объясните что такое модули в С++
чем они отличаются от заголовочных файлов?
я начинающий. услышал звон но не понимаю где он.
если нетрудно найдите время чтобы объяснить
здрасте, здрасте люди добрые!
есть процедура
.global proc
proc:
push %rbp
mov %rsp, %rbp
sub 64, %rbp
mov $777, -24(%rbp)
pop %rbp
mov %rbp, %rsp
ret
подскажите, как данные из стека, теперь выудить в программе на С++?
#include <iostream>
int main()
{
asm(
"call proc\n"
// в каждой новой программе под стек выделяется новая область в оперативной памяти, я так понимаю. подскажите пожалуйста, как теперь можно обратиться к тому стеку, что в процедуре proc?
через ss? как достать от туда 777?
очень надеюсь, что поможете
);
}
здрасьте , здрасьте люди добрые
помогите пожалуйста разобраться !
вот так я могу сделать на nasm
section .bss
sl resb 8
section .text
global start
start:
mov dword[sl], "111"
mov rax, 4
mov rbx, 1
mov rcx, sl
mov rdx, 8
int 0x80
mov rax, 1
int 0x80
это на nasm
а вот такое же я делал на Gas, но не помню как.
.section .bss
sl:
.space 8
.section .text
global main
main:
// как это написать на Gas чтобы вывести символьный массив?
mov $4, %rax
mov $1, %rbx
mov $ , %rcx
mov $8, %rdx
int $0x80
mov $1, %rax
int $0x80
р
наткнулся на тему, где одна девушка объясняла про find , какому-то форумчанину. я немного не догнал, но задавать там вопросы не стал. решил спросить здесь. потому что тут, как я думаю, знают , вернее должны знать об этом лучше.
#mkdir dr
#touch {A..z}
#pwd
/root
#find / -type f -regex [AB]
не найдет. но если сделать вот так
#find * -type f -regex [AB]
то заглянет даже в созданные мной каталоги. но этого нет в синтаксисе.
как это работает вообще?
find / -где будет искать? начиная с корня и включая все вложенное? тогда почему не видит созданную мною директорию?
привет
если есть у кого время и знания в теме настройки этого окружения, то дайте совет, как сделать свертывание и развертывание окон в левом углу вместо стандартного правого.
что для этого нужно установить?
| ← назад |