1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

Начало программирования.

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

  1. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    q_q
    ок, объявление инициализированных локальных переменных не в начале функции зло
    и вообще, код и данные нада разделять

    потомучто так нагляднее, читабельность кода больше
     
  2. GoldFinch

    GoldFinch New Member

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

    вот например у меня в дллке ниразу не используются даты, а там есть
    HH:mm:ss dddd, MMMM dd, yyyy MM/dd/yy PM AM December November October September August July June April March February January Dec Nov Oct Sep Aug Jul Jun May Apr Mar Feb Jan Saturday Friday Thursday Wednesday Tuesday Monday Sunday Sat Fri Thu Wed Tue Mon Sun GetProcessWindowStation GetUserObjectInformationA GetLastActivePopup GetActiveWindow MessageBoxA USER32.DLL ˜7р7SunMonTueWedThuFriSat JanFebMarAprMayJunJulAugSepOctNovDec
    спрашивается, что оно там делает?
     
  3. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.709
    GoldFinch
    > читабельность кода больше
    О как!
     
  4. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    amvoz
    var
    A: Integer =5;

    Вопрос на засыпку.
    HWND, HMODULE, HINST, THandle, HFILE, HICON, HBITMAP,
    HACCEL, HACCEL, HBRUSH, HCOLORSPACE, HDC, HGLRC, HDESK,
    HENHMETAFILE, HPALETTE, HPEN, HRGN, HRSRC, HSTR, HTASK,
    HWINSTA, и т.д.
    Все эти типы занимают 4 байта. Для чего они все придуманы, не проще ли вместо них использовать просто DWORD?
     
  5. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    640
    Кстати, да, зачем? Я не знаю.
     
  6. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    640
    Да там много чего ещё. Так не сделать в Pascal
    a=b=5;

    Где a и b бъявлены переменными соответствующеготипа. Там так можно только
    a=5; b=5
     
  7. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.474
    Адрес:
    Russia
    amvoz
    Это, конечно, жесть. Классики, наверное, не один километр золотых "Паркеров" исписали про великое предназначение и суровую необходимость строгой типизации, а воз и ныне там :-( Вот попробуй в Цэ++ присвоить хэндлу файла присвоить указатель на имя этого файла - глядишь, и придёт просветление. А то, что Керниган с Ричи на коленке слабали цацку, которая число от символа не отличает - так за то они в следующей жизни ещё получат свою долю раскалённых шампуров.
     
  8. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    640
    Неубедительно. Ругаться и я могу. Прикол-то в том, что я на Pascal кодил и считал типизацию за благо. Да, я считал это круто. Всё по полочкам разложено. Вот символ, вот число. А потом перешёл на С и понял, что ошибался и типизация- такая, по крайней мере с какой я столкнулся в Pascale мне вредит только. То есть мне есть что с чем сравнивать. Ну, может, я извращенец какой, не знаю.
    ...цацка цацкой, а Linux на ней написан.
     
  9. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.787
    amvoz
    это называется "привычка' ;)
     
  10. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    640
    Угу. Только что же я руками и ногами от этой привычки-то отнекивался? Но повторяю, может, я извращенец и не нравится мне когда всё по полочкам разложено.
     
  11. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Долго медитировал, разницы так и не увидел :)

    И винда на ней написана и что? То, что винда не написана, скажем на ассемблере, не значит, что ассемблер плох или в нем меньше возможностей.
    А приводить в пример линукс - сомнительно, т.к. не самый удачный продукт.

    Те типы которые я приводил, относятся и к паскалю и к си и к ассемблеру.

    Что тебе есть с чем сравнивать, когда ты не понимаешь даже основ???
     
  12. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.787
    народ, бегом учить Лисп! долой все эти еретические паскали, си и прочие явы!

    ps: это я к тому, что смысла в данном топике не вижу. все останутся при своем мнении, и никто никому ничего не докажет. если я неправ, продемонстрируйте мне это. спасибо.
     
  13. SII

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

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    amvoz
    Угу. Но заметьте, что в Си ещё можно сделать так:

    a = b == 5;

    Конструкция синтаксически верная и имеющая смысл. Однако представьте, что вместо неё случайно написано

    a = b = 5;

    Представили? А потом попробуйте найти такую ошибку в программе длинней тыщи строк. Ну а в Паскале, как, думаю, Вы знаете, подобную ошибку в принципе допустить невозможно: компилятор поймает.

    Только не надо про "дисциплинированность". От дисциплины зависит действительно многое, но отнюдь не всё. В том же примере пропустить один = можно совершенно случайно (клава заела, например). И даже очень внимательный и дисциплинированный программист может пропустить такую ошибку.

    K10
    Экий Вы недогадливый. На клаву меньше жать в Си приходится, чем в Паскале :)))
     
  14. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    640
    Ну, я пас тогда

    То, что цацкой нехоршо называть. Типа фигня несерьёзная. А Linux- обалденный продукт

    Может, и не понимаю (понятие ратяжимое довольно- "Понимать основы". Кстати) А сравниваю я 2 языка по определённым критериям и говорю- это мне нравится, а это нет, а кто не согласен, ну и ладно. Вот и всё.
     
  15. SII

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

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    K10
    Ну а что здесь сложного? Эти типы являются 4-байтовыми значениями в данной реализации Винды, но теоретически отнюдь не обязаны таковыми являться. Вот и выдумали разные имена типов. Другое дело, что на Си это больше фикция: все они совместимы по присваиванию. Ну а в Паскале совместимыми уже не будут, если не указывать явное приведение типов. И правильно, что не будут: HDC и HBRUSH, к примеру, обозначают совсем разные вещи, и если их смешать, ничего хорошего не будет.
     
  16. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    640
    Cам писал a== b вместо a=b и не раз и ещё напишу, но о-первых... Хотя да, про дисциплинированность не надо. Хорошо, этот аргумент вы не хотите слушать потому, что он убивает вас напоавл. Тогда другой аргумент- такие ошибки находятся на ять простым поиском по файлу. Попробуйте, у Вас получится.. Наконец, на клаву жать меньше приходится по факту. Мне это важно, а вам нет, на том и разойдёмся.
     
  17. Heineken

    Heineken New Member

    Публикаций:
    0
    Регистрация:
    22 ноя 2008
    Сообщения:
    10
    SII

    Спасибо за совет
     
  18. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    992
    ТИ что вообще???? ты такое в паскале писал??? пробывал компилировать?????
    лутше не пробуй!!!))) а то паскаль очень ругаться на тебя будет
    то что ты написал на паскале так будет:::
    A:integer;
    a:=5;
     
  19. SII

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

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Heineken
    Да не за что. Будут вопросы -- спрашивай, постараемся ответить :)

    amvoz
    А что, сей аргумент является оружием массового поражения? Меня он не убивает, просто я считаю его несостоятельным. Человеку свойственно ошибаться, как известно, в том числе ошибаться "механически".

    Извините, чушь. В одном и том же файле (не говоря уже о крупном проекте с десятками и сотнями исходных файлов) могут встречаться и конструкции вида a = b = c, и конструкции a = b == c. Так что поиск здесь абсолютно бесполезен.

    Ну, насчёт клавы точно: в Си жать приходится меньше, и я вполне признаю это достоинством данного языка. Но увы, с моей точки зрения, это его единственное достоинство, всё остальное -- недостатки.
     
  20. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    992
    И вообще....вы вопрос автора читали????