Всем добрый день, извините, если уже было, но интересует литература, которая наилучшим образом подходит для начала изучения ассемблера. Хотелось бы, чтоб книжки были актуальными. Прошу ответить тех, кто сам это все постигал по этим книгам...
Когда я изучал ассемблер (да и до сих пор изучаю по немногу) то Калашников был мне не понятен, я взял эту "книжку" -> Дневник чайника, часть первая (http://cracklab.ru/rar/dl/CRACKLAB.rU_8.rar) Потом стало более менее понятно как устроен ассемблер, и взял книгу Калашникова
если вообще не понимаешь в чем соль - вот эти статьи по порядку, я по ним учил http://wasm.ru/publist.php?list=22
люди помогите срочно! надо из строки вида "loginass" сделать строку вида "login" на дельфи. Вот код я писал но почему то делает только первый акк....
Код: Code: procedure TForm1.Button1Click(Sender: TObject); var i,count:integer; m2:string; begin count:=memo1.lines.count-1; //Минус один -> потому что отсчет начинается от нуля for i:=0 to count do //Отсчет начинается от нуля в строках мемо begin m2:=memo1.lines[i]; memo2.lines[i]:=copy(m2, 1, pos(':', m2)-1); //Копируем строку, первый параметр -> откуда копируем, второй -> с какого расположения символа начинаем копировать, третий -> сколько копируем //Ах да, чтобы копировать в memo2 в определенную строку в ней -> надо убедиться что она существует :), т.е. лучше копировать в memo1 end; end; И в следуйщий раз смотри куда постишь
Дано последовательность слов разделенных запятыми, в конце точка. Удалить из последовательности слова которые встречаются больше 1 раза. Помогите плиззз...
Помогите, у меня возникла проблема!!!!!!! При компилировании , ввожу одинаковое количество симвалов в 1й 2й и 3й строчке , выдает пральный результат , а вот если во 2й строке больше симвалов чем в 1й и 3й ,то при компилировании выдает только первую строчку ,а вторую пустую (если в 1й и 3й одинаковые числа) , а если разные числа также выдет только 1ю , а во второй ересь ( my_strcpy.c Code: #include <stdio.h> #include <stdlib.h> #include <string.h> extern char* mystrcpy(char* dest, char* src); int main(int argc, char** argv) { printf("%s\n",mystrcpy(argv[1],argv[2])); printf("%s\n",mystrcpy(argv[3],argv[2])); return 0; } my_strcpy.s Code: .intel_syntax noprefix .globl mystrcpy .type mystrcpy, @function mystrcpy: push ecx push edx mov ecx, [esp+12] mov edx, [esp+16] next: mov al,[edx] mov [ecx],al cmp al,0 jz done inc ecx inc edx jmp next done: mov eax, [esp+12] pop edx pop ecx ret
с ассемблером дела не имел. объясните какая цифра на что влият в размере формы, ее положения и т.д Code: DlgStatic 0,150,10,130,112,100 или где можно почитать(ГУГЛ НЕ ПРЕДЛАГАТЬ!)
Для начала бы написал что за среда и какой именно асм. Судя по виду это не FASM потому как там по другому чуть. т.е. скорее всего masm32 ? юзаешь IDE или нет типа RAD ASM итд итп?
проблема с WriteConsoleA установил masm32, отладчик OllyDbg и среду RadAsm. Для чтения выбрал книгу Крупника "Изучаем ассемблер". Возникла проблема с кодом: .386 .model flat, stdcall option casemap:none ExitProcess proto :dword GetStdHandle proto :dword WriteConsoleA proto :dword, :dword,\ :dword, :dword, :dword includelib \masm32\lib\kernel32.lib .data stdout dd ? msg db "My name is Vova", 0dh, 0ah cWritten dd ? .code start: invoke GetStdHandle, -11 mov stdout, eax invoke WriteConsoleA, stdout, ADDR msg, sizeof msg,\ ADDR cWriten, 0 invoke ExitProcess, 0 end start В теории, в консоли должен появиться текст "My name is Vova", но ничего нет. Прогнал ехе-шник в отладчике. Заметил вот что: при исполнении процедуры GetStdHandle значение регистра eax становиться равным 0, хотя в книжке сказано, что вроде должно быть 12 (или 0С). Пробовал сделать так: .data stdout dd 12 а часть кода, где вызывается GetStdHandle, удалил. Все равно нет резутатa. Вопрос: где ошибка? как ее исправить? или я неправильно понял назначение процедуры GetStdHandle?
GetStdHandle возвращет дискриптор ввода вывода. -11 это STD_OUTPUT_HANDLE какое значение - это не важно. т.е. все значения кроме INVALID_HANDLE_VALUE считаются нормальными. будут Ты как прогу компилил? Под Win32 или под Консоль? Нужно чтобы подконсоль компили. типа черное окошко
среда виндовс.устанавливал масм32 версии 9. и ничего более мне просто нужно код подправить, сказали что его масмом компилить нужно
Насчет DlgStatic - первая ссылка в гугле - сайт Kaimi: http://kaimi.ru/2009/05/210/ и там есть комментарии