объединить строки

Тема в разделе "WASM.BEGINNERS", создана пользователем integer, 17 мар 2008.

  1. integer

    integer New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2007
    Сообщения:
    62
    здравствуйте. подскажите пожалуйста, есть ли api функция чтобы объединить строки MsgBoxText1 и MsgBoxText2 ?
    Код (Text):
    1. .386
    2. .model flat, stdcall
    3. option casemap:none
    4. include windows.inc
    5. include kernel32.inc
    6. include user32.inc
    7. includelib user32.lib
    8. includelib kernel32.lib
    9.  
    10. .data
    11. MsgCaption  db "Caption",0
    12. MsgBoxText1 db "Hello, ",0
    13. MsgBoxText2 db "world !",0
    14.  
    15. .code
    16. start:
    17. invoke MessageBox, NULL, addr MsgBoxText1, addr MsgCaption, MB_OK
    18. invoke ExitProcess, NULL
    19. end start
     
  2. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    lstrcatA
     
  3. EvilPhreak

    EvilPhreak New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    154
    и strcat
     
  4. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    integer
    Для объединения строк не сложно и самому написать аналог lstrcatA
    Код (Text):
    1. .data
    2. MsgBoxText1 db "Hello, ",0
    3. MsgBoxText2 db "world !",0
    4. mesbox_text  db size_of_mesbox_text  dup (0)
    5.               . . .
    6. .code
    7.              . . .
    8.     mov edi,offset mesbox_text
    9.     mov ecx,size_of_mesbox_text  
    10.              mov esi,offset MsgBoxText1
    11.     call StringOut
    12.              mov esi,offset MsgBoxText2
    13.     call StringOut
    14.              . . .
    15. invoke MessageBox, NULL, addr msgbox_text, addr MsgCaption, MB_OK
    16.              . . .
    17. StringOut    proc
    18. a1: lodsb
    19.     test al,al; поиск конца строки
    20.     jz a2
    21.     stosb ;выводим пока не конец строки
    22.     loop a1
    23. a2: retn
    24. StringOut    endp
     
  5. integer

    integer New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2007
    Сообщения:
    62
    censored, EvilPhreak
    спасибо, это какраз то что я искал.
    Mikl__
    за пример аналога отдельная блаодарность, разобрался и понял как это все работает.