[ХЭЛП ]перевести из дельфи в масм

Тема в разделе "WASM.BEGINNERS", создана пользователем Greedy_Fly, 30 янв 2011.

  1. Greedy_Fly

    Greedy_Fly New Member

    Публикаций:
    0
    Регистрация:
    3 ноя 2009
    Сообщения:
    15
    Доброе утро, кто нибудь может перевести данную функцию в масм!?

    function Crypt(const p: String): String;
    var
    i: Integer;
    begin
    Result := '';
    for i := 1 to Length(p) do
    Result := Result + Chr(Ord(p)+10);
    end;
     
  2. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Перевод очень сильно зависит от того, чем именно является тип String: в разных версиях Дельфей он разный, плюс на него влияют параметры компиляции. Проще, наверное, посмотреть, во что эту функцию превратил сам компилятор.
     
  3. dr_godsl

    dr_godsl New Member

    Публикаций:
    0
    Регистрация:
    13 дек 2009
    Сообщения:
    60
    Код (Text):
    1. strlen proc pstr:dword
    2.     mov eax,pstr
    3. @@:
    4.     cmp dword ptr [eax],0
    5.     jz @f
    6.     inc eax
    7.     jmp @b
    8. @@:
    9.     sub eax,pstr
    10.     ret
    11. strlen endp
    12.  
    13. Crypt proc p:dword
    14.     invoke strlen,p
    15.     add eax,p
    16. @@:
    17.     cmp eax,p
    18.     jz @f  
    19.     dec eax
    20.     add byte ptr [eax],10
    21.     jmp @b
    22. @@:
    23.     ret
    24. Crypt endp
     
  4. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    и более короткий вариант и быстрый вариант
    Код (Text):
    1. Crypt proc p:dword
    2.  mov eax, p
    3.  jmp @@begin
    4. @@:
    5.  add byte ptr [eax], 10
    6.  inc eax
    7. @@begin:
    8.  cmp byte ptr [eax], 0
    9.  jnz @b
    10.  ret
    11. Crypt endp
     
  5. Greedy_Fly

    Greedy_Fly New Member

    Публикаций:
    0
    Регистрация:
    3 ноя 2009
    Сообщения:
    15
    Огромное спасибо всем!!!)