Показать сообщение отдельно

  #8  
Старый 21.01.2010, 01:53
diakon2
Познающий
Регистрация: 05.07.2008
Сообщений: 59
С нами: 9394487

Репутация: 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..
 
Ответить с цитированием