Дата православной и католической пасхи.

Тема в разделе "WASM.A&O", создана пользователем Intro, 17 окт 2023.

Метки:
  1. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    603
    Я уже выкладывал код этой программы. Но там были некоторые баги, в этой версии правильно вычисляется разница дат по старому и новому стилю. Скажем в 10000 году православную пасху будут праздновать в 18.06, это лето. А католическую в 16.04 и по старому стилю это будет 3 февраля. Вот какой вот не точный юлианский календарь, сейчас разница 13 суток после 2100 будет уже 14 суток.
     

    Вложения:

    Application нравится это.
  2. alex_dz

    alex_dz Active Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    458
    почему в вашем коде много где используется тип sdword? (signed dword)
    даже для argc
    main proc C argc:sdword
    очень интересно
     
  3. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    603
    alex_dz, там мало sdword, в некоторых местах забыл указать. Это для совместимости с С/С++, если указано sdword значит это int или long.
     
  4. alex_dz

    alex_dz Active Member

    Публикаций:
    0
    Регистрация:
    26 июл 2006
    Сообщения:
    458
    здесь поподробней пож-та
     
  5. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    603
    alex_dz, а зачем в С/С++ контролируют похожие типы, типа int и unsigned int? Для того чтобы не допустить заведомо бессмысленных операций, собственно для этого С и создавался. Высокоуровневый ассемблер тоже контролирует типы, но слабо, программист сам должен за этим следить, если у нас sdword, значит операции умножения и деления надо использовать imul и idiv, а если dword то mul и div, и так же условные переходы.
    Ещё UASM можно задавать тип указателя в параметрах функции, если у нас date:ptr SDate, то присвоив date регистру надо ассоциировать с этим классом, и использовать свойства класса/структуры.

    Я вот скачал исходники FASM, значит смотрю код, и пришёл в тихий УЖАС, хоспаде как это можно поддерживать, я вообще не понял что этот код делает, вообще. Ну как работает отдельная команда мне понятно, но что делает этот код в целом, непонятно от слова вообще. Если с Томашом случиться автобус, то очень мало кто сможет поддерживать проект, да думаю скорей всего никто. Он весь проект держит в голове, а просто выдаёт с компилированный МОЗГОМ асм код, причём там нет даже комментариев, ну почти нет, да ещё ЯП которым он пользуется - неизвестный, этот ЯП весь в его голове. Конечно, для многих ассемблер это бейсик, не просто бейсик, а старый бейсик, очень старый бейсик, в котором нет даже функций и есть номера строк, ну ладно, номеров строк нет, но переходы только по меткам, я на таком много лет назад кодил, бейсик Микрон, Партнёр 01.01. Но уже очень давно доказано что это очеееень плохой ЯП. А то что делает Томаш, хорошо для всяких вирусов, ну вредоносного кода для взлома всяких пентагонов, но только не для такого проекта как ассемблер.
     
    alex_dz нравится это.
  6. TrashGen

    TrashGen ТрещГен

    Публикаций:
    0
    Регистрация:
    15 мар 2011
    Сообщения:
    1.191
    Адрес:
    подполье
    Всё понятно, кроме того, кто будет праздновать пасху в десятитыщщном году и будет ли там пасхальный кролик?
     
  7. Intro

    Intro Active Member

    Публикаций:
    0
    Регистрация:
    29 авг 2009
    Сообщения:
    603
    TrashGen, вряд ли. Там разница между григорианским и юлианским календарём будет 73 суток, а сам григорианский где-то одни сутки ошибки будет. В прочим сохранится ли наша цивилизация к тому моменту?, но этот вопрос нашу программу совершено не интересует.