2009-12-25

Сайн тэсвэр хатуужилтай болмоор юм байна даа

Сүртэй аймар тэсвэр хатуужил бишээ, юмыг өөр зүйлд сатаарахгүй хянамгай уншиж дадах хэрэгтэй юм байна. Саяхан хийсэн хэрэглээний програмыг (feeditor.com) хийхэд хэд хэдэн стандартын бичиг баримт, мөн төчнөөн RFC унших хэрэгтэй боллоо. Зарим нэгнээс нь ойлгож мэдсэнээ тоймлож блогтоо тавихыг бодноо.

Ассемблэр дээр програм бичих

Өчигдөр CodeWarrior татаж авлаа, үнэхээр лаг юмаа хэхэ. Ингээд доор сарыг аваад тухайн сар хэдэн хоногтойг A аккумляторт буцаадаг програс бичлээ. LCD цаг хийсэн лабораторт хэрэг болсон юм л даа. Илүү хурдан ажиллах кодны санаа байвал хуваалцаарай хүмүүсээ.
MY_EXTENDED_RAM: SECTION
YEAR        DS.w 1
MONTH       DS.b 1
DAY         DS.b 1

MyCode:     SECTION
main:
_Startup:
Entry: 
            LDD    #2006
            STD    YEAR
            LDAA   #4
            STAA   MONTH
            LDAA    #5
            STAA   DAY
            JSR   DAYBYMONTH
            SWI

DAYBYMONTH:             ; returns # of days in ACC A
            LDAB   MONTH    
            CMPB   #2      
            BEQ   TSTLEAP  
                       
            CMPB   #8       
            BGE   AUTUMN   
            LDAA   MONTH     
            ASRA 
            BCC     D30
            LDAA    #31      
            RTS
AUTUMN:     
            LDAA   MONTH     
            ASRA 
            BCS     D30
            LDAA    #31
            RTS
D30:        
            LDAA    #30
            RTS
TSTLEAP:
            LDD   YEAR
            LDX   #4
            IDIV
            TBNE   D,NOTLEAP
            LDAA   #29
            RTS
NOTLEAP:
            LDAA   #28
            RTS