LINUX.ORG.RU

С днём программиста!

 


1

1

Вот и настал 256-ой день в году (а в високосный год он выпадает на 12 сентября) — день программиста.

Хочется всем пожелать интересных проектов, хороших клиентов, понятного кода и роста зарплаты год от года!

>>> Подробности

★★★★★

Проверено: tailgunner ()
Последнее исправление: Wizard_ (всего исправлений: 1)
Ответ на: комментарий от WerNA

а этот год високосный?

    Function  LY:Byte; Assembler;
    { Определение високосности
      Вход:
        CX      - год;
        AL      - месяц.
      Результат:
        AL      - количество дней, которое необходимо прибавить к
                  длительности февраля или к числу дней, прошедших с
                  начала года до начала месяца, без учета високосности
                  (0 или 1). }
      Asm
        MOV     BL, 0
        CMP     AL, 3
        JB      @Exit
        MOV     AX, 400
        XCHG    AX, CX
        TEST    AL, 03h
        JNZ     @Exit
        XOR     DX, DX
        DIV     CX
        XCHG    AX, DX
        OR      AX, AX
        MOV     BL, 1
        JZ      @Exit
        MOV     DL, 100
        DIV     DL
        MOV     AL, AH
        OR      AL, AL
        JZ      @End
@Exit:  MOV     AL, BL
@End: End;
argv_0_ ★★
()
Ответ на: комментарий от WerNA
> cat yeartest.lisp
(if (eq (mod (parse-integer (car (cdr sb-ext:*posix-argv*))) 4) 0)
        (format t "Год високосный~C" #\linefeed)
        (format t "Год не является високосным~C" #\linefeed))
> sbcl --script yeartest.lisp 2015
Год не является високосным
> sbcl --script yeartest.lisp 2016
Год високосный
> sbcl --script yeartest.lisp 2017
Год не является високосным
saahriktu ★★★★★
()
Ответ на: комментарий от anonymous

Чот ты какой-то 16-битный уж больно...

Кхм... Тому коду четверть века без малого. :)

Слабо на AVX2 ;-) ?

Нет, но «бессмысленно чуть более, чем полностью».

argv_0_ ★★
()
Ответ на: комментарий от argv_0_

ждём уроки ассемблера. инти-инти интиресно.

anonymous
()
Ответ на: комментарий от Deleted

Ох уж эти нововведения...

> cat yeartest.lisp
(defun xnor (a b) (and (or (not a) b) (or a (not b))))

(defvar fflg nil)
(defvar hflg nil)
(defvar fhflg nil)
(defvar ynum (parse-integer (car (cdr sb-ext:*posix-argv*))))
(if (eq (mod ynum 4) 0) (setq fflg t) (setq fflg nil))
(if (eq (mod ynum 100) 0) (setq hflg t) (setq hflg nil))
(if (eq (mod ynum 400) 0) (setq fhflg t) (setq fhflg nil))
(if (eq (and fflg (xnor hflg fhflg)) t)
        (format t "Год високосный~C" #\linefeed)
        (format t "Год не является високосным~C" #\linefeed))
> sbcl --script yeartest.lisp 1900
Год не является високосным
> sbcl --script yeartest.lisp 2015
Год не является високосным
> sbcl --script yeartest.lisp 2016
Год високосный
> sbcl --script yeartest.lisp 2017
Год не является високосным

saahriktu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.