Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

21.01.2010, 01:52
|
|
Познающий
Регистрация: 05.07.2008
Сообщений: 59
Провел на форуме: 145373
Репутация:
5
|
|
Помогите, у меня возникла проблема!!!!!!! При компилировании , ввожу одинаковое количество симвалов в 1й 2й и 3й строчке , выдает пральный результат , а вот если во 2й строке больше симвалов чем в 1й и 3й ,то при компилировании выдает только первую строчку ,а вторую пустую (если в 1й и 3й одинаковые числа) , а если разные числа также выдет только 1ю , а во второй ересь (
my_strcpy.c
Код:
#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
Код:
.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
Последний раз редактировалось slesh; 21.01.2010 в 10:50..
|
|
|

21.01.2010, 07:35
|
|
Участник форума
Регистрация: 26.08.2009
Сообщений: 133
Провел на форуме: 193434
Репутация:
79
|
|
2diakon2
буфер ты затираешь какбэ )) поэтому и такой вывод =\
|
|
|

31.01.2010, 17:09
|
|
Постоянный
Регистрация: 12.05.2009
Сообщений: 395
Провел на форуме: 4761503
Репутация:
229
|
|
Что-то не могу найти информацию в интернете о том при каком условии происходит прыг jl
Прошу помощи
|
|
|

31.01.2010, 17:33
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
Что-то не могу найти информацию в интернете о том при каком условии происходит прыг jl
Прошу помощи
http://ref.x86asm.net/coder32.html
|
|
|

02.02.2010, 00:44
|
|
Познающий
Регистрация: 13.12.2009
Сообщений: 63
Провел на форуме: 483747
Репутация:
5
|
|
с ассемблером дела не имел. объясните какая цифра на что влият в размере формы, ее положения и т.д
Код:
DlgStatic 0,150,10,130,112,100
или где можно почитать(ГУГЛ НЕ ПРЕДЛАГАТЬ!)
|
|
|

02.02.2010, 00:55
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Для начала бы написал что за среда и какой именно асм.
Судя по виду это не FASM потому как там по другому чуть.
т.е. скорее всего masm32 ? юзаешь IDE или нет типа RAD ASM итд итп?
|
|
|

02.02.2010, 20:24
|
|
Новичок
Регистрация: 10.01.2010
Сообщений: 5
Провел на форуме: 31750
Репутация:
0
|
|
проблема с 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?
Последний раз редактировалось Actor; 02.02.2010 в 20:36..
|
|
|

02.02.2010, 20:58
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
GetStdHandle возвращет дискриптор ввода вывода.
-11 это STD_OUTPUT_HANDLE
какое значение - это не важно.
т.е. все значения кроме INVALID_HANDLE_VALUE считаются нормальными.
будут
Ты как прогу компилил? Под Win32 или под Консоль?
Нужно чтобы подконсоль компили. типа черное окошко
Последний раз редактировалось slesh; 02.02.2010 в 21:11..
|
|
|

02.02.2010, 22:18
|
|
Познающий
Регистрация: 13.12.2009
Сообщений: 63
Провел на форуме: 483747
Репутация:
5
|
|
среда виндовс.устанавливал масм32 версии 9. и ничего более 
мне просто нужно код подправить, сказали что его масмом компилить нужно
|
|
|

02.02.2010, 22:24
|
|
Новичок
Регистрация: 02.02.2010
Сообщений: 24
Провел на форуме: 72815
Репутация:
1
|
|
Насчет DlgStatic - первая ссылка в гугле - сайт Kaimi: http://kaimi.ru/2009/05/210/ и там есть комментарии 
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|