Как передать функции адрес массива??

Тема в разделе "WASM.BEGINNERS", создана пользователем sheef_ad, 14 апр 2010.

  1. sheef_ad

    sheef_ad New Member

    Публикаций:
    0
    Регистрация:
    21 дек 2009
    Сообщения:
    101
    Простите за совсем нубовский вопрос, но реально непонимаю.
    есть вот такое:
    Код (Text):
    1. ...
    2. addTree2 proc  h:DWORD
    3.  
    4.        mov eax,h[56]        
    5.  
    6. addTree2 endp
    7.  
    8. ...
    9. invoke addTree2,offset Dv1
    10. ...
    а массив Dv1 в функцию непередается. Как это сделать, что бы я внури функции мог брать любые элементы массива?
     
  2. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    быдлокодеры, они и на асме быдлокодеры.

    sheef_ad
    тебе еще рано использовать proc и invoke
     
  3. sheef_ad

    sheef_ad New Member

    Публикаций:
    0
    Регистрация:
    21 дек 2009
    Сообщения:
    101
    А тебе рано с людьми общаться с таким словарным запасом.
     
  4. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    пушами и колами...
     
  5. sheef_ad

    sheef_ad New Member

    Публикаций:
    0
    Регистрация:
    21 дек 2009
    Сообщения:
    101
    это понятно, примерный код можете показать?
     
  6. PowerASM

    PowerASM New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2010
    Сообщения:
    59
    push массив
    call функция
     
  7. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    вобщем-то проблема вот тут
    у ТСа видимо был глобальный массив, и этот код работал.
    потом ТС попробовал сделать тожесамое с тем что он передал в функцию, совершенно не понимая что этот mov означает

    отсюда вывод - high-level-like синтаксис - это хорошо, но только для тех кто понимает что оно делает,
    а для ТСа high-level-like синтаксис - это плохо.

    -----------

    sheef_ad
    какбэ тебе надо писать
    mov eax, dword ptr [h] ; или "mov eax, h" , но тебе так лучше не писать :)
    mov eax, [eax+56]

    потому что h - это уже переменная (аргумент функции), а не константа
     
  8. sheef_ad

    sheef_ad New Member

    Публикаций:
    0
    Регистрация:
    21 дек 2009
    Сообщения:
    101
    Вот за это спасибо. Именно такой ответ я и хотел услышать. Все заработало.

    п.с. А что такое ТС? Это какое-то тонкое ругательство в мой адрес?:)
     
  9. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    ТС - Топик Стартер, тот кто создал тему
     
  10. sheef_ad

    sheef_ad New Member

    Публикаций:
    0
    Регистрация:
    21 дек 2009
    Сообщения:
    101
    понятно. Я пробывал ваш вариант изначально, просто не добавил mov eax, [eax+56] потому и не работало, сейчас все ок.

    п.с. Я непрофисиональный кодер, и не стремлюсь им стать. Просто асм мне нужен для решения повседневных рабочих задач, поэтому прошу относится ко мне снисходительно пожалуйста.

    Еще раз спасибо.
     
  11. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    яишницу с помощью асма жарите?)
     
  12. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    Rel
    ..
    ..на проце

    но вообще заява
    клевая. аж заскреблось узнать чего же такого повседневно-рабочего ТС делает?
     
  13. sheef_ad

    sheef_ad New Member

    Публикаций:
    0
    Регистрация:
    21 дек 2009
    Сообщения:
    101
    Мало ли задач можно делать? Все, что можно как то автоматизировать, сразу же загоняется мною в прогу. Чего тут удивительного? Что мало таких людей? Разве что обычно пользуются чем то вроде делфи и пр... Мне нравится асм..
     
  14. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    sheef_ad
    то-то и оно, что пользуются тем чем проще, и чем умеют пользоваться.
    а асм - сложный для большинства повседневных задач.
    на нем только низкоуровневый системный код писать удобно

    та же арифметика и обработка строк - это чтото нереальное на асме %)
     
  15. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    sheef_ad
    делфи для повседневных задач.. ну разве только если знать только делфи.
    асм это вообще чтото с чемто для этой цели GoldFinch +100.

    хотя тут все зависит от круга этих повседневных задач. я, например, под такими понимаю что нибудь вроде- пройтись по диску С, удалить все .tmp и побзипать все встреченные гзипы. как это сделать на асме?

    так что колитесь, чего вы там повседневно творите на асме, не будучи и не желая разбираться с програмлением?
     
  16. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    небось повседневным гуру-кул-хацкингом занимается человек)))
     
  17. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    qqwe
    И в чем здесь проблема? Рекурсивный обход каталогов, удаление tmp и запуск архиватора для архивирования
     
  18. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    qqwe
    Скрипт же.
     
  19. sheef_ad

    sheef_ad New Member

    Публикаций:
    0
    Регистрация:
    21 дек 2009
    Сообщения:
    101
    В корне несогласен с вами! Я не базовом уровне знаю с и с# ну и php(то есть лучше, чем асм на нынешнем этапе), и вижу что асм лучше! Да, он в определенной степени трудоемкий, но зато очень простой. Простой в том смысле, что он состоит из маленьких "кирпичиков", каждая команда означает что то вполне определенное и узкое.

    По началу - да (особенно плавающая точка, с которой я еще неразобрался - так что ждите вопросов:)). Но потом асм так же с легкостью можно превратить в язык высокого уровня. Например я один раз написал функции конвертирования любых чисел в текстовый формат и наоборот, и потом просто переношу эти функции в новые проги.
    Хотя может специфика моих задач располагает к использыванию именно асма...Может быть... Может быть...
     
  20. sheef_ad

    sheef_ad New Member

    Публикаций:
    0
    Регистрация:
    21 дек 2009
    Сообщения:
    101
    Ну скажем так: есть большие обьемы данных (цифры в основном), которуе нужно по разному структуировать, анализировать и в удобном виде представлять.

    Кстати почему это я не желаю разбираться с програмированием? Просто я иду немножко "варварским" путем - для меня в первую очередь важна работоспособность кода, а оптимизация алгоритмов и пр. приходят "походу" дела, так сказать с опытом. Простой пример: я просто копирую урок Iczelion'а и просто модифицирую его - если все работает - хорошо, если нет - сначала дебагером, потом теорией, потом форумом и так приходит понимание (там, где его небыло).
    Страшно:))?
    На самом деле ето очень простой путь достичь результата (только результата!), потому как у меня нет лишних 5 лет жизни что бы в деталях изучать системное и прикладное программирование.