Bana bu kod hakkında yardım edebilir misiniz sayın hocalarım

Başlatan onurx5, 01 Ocak 2014, 18:47:47

onurx5

selamun aleyküm sayın hocalarım elimdeki bu asm kodunun karakterinin fazla olmasını istiyorum pic16f84a ada bu kodun karakterini bana çoğaltmada yardımcı olur musunuz karakteri maksimum kaç karakter olabilir bu kod bana bu bilgiyi de verirseniz sevinirim selametle şimdiden teşekkürler :?: selametle






; PIC0504.ASM; PIC16C84 ILE YAPILAN 7*16=112 LED LI KAYAN YAZI DEVRESI; 32 KARAKTER KULLANILABILIR   LIST    P = 16C84,  F = INHX8M, n = 66        PIC84   equ     H'03FF';==========================================================================;;       Register Definitions;;==========================================================================W                            EQU     H'0000'F                            EQU     H'0001';----- Register Files------------------------------------------------------INDF                         EQU     H'0000'TMR0                         EQU     H'0001'PCL                          EQU     H'0002'STATUS                       EQU     H'0003'FSR                          EQU     H'0004'PORTA                        EQU     H'0005'PORTB                        EQU     H'0006'EEDATA                       EQU     H'0008'EEADR                        EQU     H'0009'PCLATH                       EQU     H'000A'INTCON                       EQU     H'000B'OPTION_REG                   EQU     H'0081'TRISA                        EQU     H'0085'TRISB                        EQU     H'0086'EECON1                       EQU     H'0088'EECON2                       EQU     H'0089';----- STATUS Bits --------------------------------------------------------IRP                          EQU     H'0007'RP1                          EQU     H'0006'RP0                          EQU     H'0005'NOT_TO                       EQU     H'0004'NOT_PD                       EQU     H'0003'Z                            EQU     H'0002'DC                           EQU     H'0001'C                            EQU     H'0000';----- INTCON Bits --------------------------------------------------------GIE                          EQU     H'0007'EEIE                         EQU     H'0006'T0IE                         EQU     H'0005'INTE                         EQU     H'0004'RBIE                         EQU     H'0003'T0IF                         EQU     H'0002'INTF                         EQU     H'0001'RBIF                         EQU     H'0000';----- OPTION Bits --------------------------------------------------------NOT_RBPU                     EQU     H'0007'INTEDG                       EQU     H'0006'T0CS                         EQU     H'0005'T0SE                         EQU     H'0004'PSA                          EQU     H'0003'PS2                          EQU     H'0002'PS1                          EQU     H'0001'PS0                          EQU     H'0000';----- EECON1 Bits --------------------------------------------------------EEIF                         EQU     H'0004'WRERR                        EQU     H'0003'WREN                         EQU     H'0002'WR                           EQU     H'0001'RD                           EQU     H'0000';==========================================================================;;       RAM Definition;;==========================================================================        __MAXRAM H'AF'        __BADRAM H'07', H'30'-H'7F', H'87';==========================================================================;;       Configuration Bits;;==========================================================================_CP_ON                       EQU     H'3FEF'_CP_OFF                      EQU     H'3FFF'_PWRTE_ON                    EQU     H'3FFF'_PWRTE_OFF                   EQU     H'3FF7'_WDT_ON                      EQU     H'3FFF'_WDT_OFF                     EQU     H'3FFB'_LP_OSC                      EQU     H'3FFC'_XT_OSC                      EQU     H'3FFD'_HS_OSC                      EQU     H'3FFE'_RC_OSC                      EQU     H'3FFF';----------- USER REGISTERS ----------------------------------------------POINTER                      EQU     H'000C'HCOUNT                       equ     H'000D'LCOUNT              equ     H'000E'               TEMP1                        EQU     H'002B'TEMP2                        EQU     H'002C'TEMP3                        EQU     H'002D'ZAMAN                        equ     H'002E'DISP                         EQU     H'002F'msb             equ     0x29            ;general delay registerlsb             equ     0x2A            ;general delay registerFLCOUNT         equ     H'0027'         ;flas counterWAITC           equ     H'0026'         ;wait and runSPECIAL         equ     H'0025'          ;special function registerCOUNT1          equ     H'0022'         ;system timer counterCOUNT2          equ     H'0021'         ;system flas timer counterSYSFUNC         equ     H'0020'         ;system control registerLINE1           EQU     H'0010'LINE2           EQU     H'0011'LINE3           EQU     H'0012'LINE4           EQU     H'0013'LINE5           EQU     H'0014'LINE6           EQU     H'0015'LINE7           EQU     H'0016'LINE8           EQU     H'0017'LINE9           EQU     H'0018'LINE10          EQU     H'0019'LINE11          EQU     H'001A'LINE12          EQU     H'001B'LINE13          EQU     H'001C'LINE14          EQU     H'001D'LINE15          EQU     H'001E'LINE16          EQU     H'001F'SATIRLAR        EQU     H'0023';;;START        call    SETCPUPORTSTATUS        call    STEP_CLEARKAYANYAZI_1         MOVLW  H'0000'         MOVWF  SATIRLARKAYANYAZI_2        INCFSZ  SATIRLAR        GOTO    KAYANYAZI_3        GOTO    KAYANYAZI_4KAYANYAZI_3        goto    KAYANYAZI_5KAYANYAZI_4        goto    KAYANYAZI_1KAYANYAZI_5        MOVLW   H'00'        ADDWF   SATIRLAR,0        CALL    FINDSHOW        movwf   LINE1        MOVLW   H'01'        ADDWF   SATIRLAR,0        CALL    FINDSHOW        movwf   LINE2        MOVLW   H'02'        ADDWF   SATIRLAR,0        CALL    FINDSHOW        movwf   LINE3        MOVLW   H'03'        ADDWF   SATIRLAR,0        CALL    FINDSHOW        movwf   LINE4        MOVLW   H'04'        ADDWF   SATIRLAR,0        CALL    FINDSHOW        movwf   LINE5        MOVLW   H'05'        ADDWF   SATIRLAR,0        CALL    FINDSHOW        movwf   LINE6        MOVLW   H'06'        ADDWF   SATIRLAR,0        CALL    FINDSHOW        movwf   LINE7        MOVLW   H'07'        ADDWF   SATIRLAR,0        CALL    FINDSHOW        movwf   LINE8        MOVLW   H'08'        ADDWF   SATIRLAR,0        CALL    FINDSHOW        movwf   LINE9        MOVLW   H'09'        ADDWF   SATIRLAR,0        CALL    FINDSHOW        movwf   LINE10        MOVLW   H'0A'        ADDWF   SATIRLAR,0        CALL    FINDSHOW        movwf   LINE11        MOVLW   H'0B'        ADDWF   SATIRLAR,0        CALL    FINDSHOW        movwf   LINE12        MOVLW   H'0C'        ADDWF   SATIRLAR,0        CALL    FINDSHOW        movwf   LINE13        MOVLW   H'0D'        ADDWF   SATIRLAR,0        CALL    FINDSHOW        movwf   LINE14        MOVLW   H'0E'        ADDWF   SATIRLAR,0        CALL    FINDSHOW        movwf   LINE15        MOVLW   H'0F'        ADDWF   SATIRLAR,0        CALL    FINDSHOW        movwf   LINE16        MOVLW   D'15'        MOVWF   ZAMAN        CALL    STEP_DELAY        goto    KAYANYAZI_2;****************************************************************************;YAZILARINIZI ASAGIDAKI KOD'DA DEGISIKLIK YAPARAK HAZIRLAYINIZ;****************************************************************************FINDSHOW:showdata:        addwf   PCL,1        retlw   B'00000000'     ;1        retlw   B'00000000'     ;2        retlw   B'00000000'     ;3        retlw   B'00000000'     ;4        retlw   B'00000000'     ;5        retlw   B'00000000'     ;6        retlw   B'00000000'     ;7        retlw   B'00000000'     ;8        retlw   B'00000000'     ;9        retlw   B'00000000'     ;10        retlw   B'00000000'     ;11        retlw   B'00000000'     ;12        retlw   B'00000000'     ;13        retlw   B'00000000'     ;14        retlw   B'00000000'     ;15        retlw   B'00000000'     ;16        retlw   B'00000000'     ;17        retlw   B'00000000'     ;18        retlw   B'00000000'     ;19        retlw   B'00000000'     ;20        retlw   B'00000000'     ;21        retlw   B'00000000'     ;22        retlw   B'00000000'     ;23        retlw   B'00000000'     ;24        retlw   B'00000000'     ;25        retlw   B'00000000'     ;26        retlw   B'00000000'     ;27        retlw   B'00000000'     ;28        retlw   B'00000000'     ;29        retlw   B'00000000'     ;30        retlw   B'00000000'     ;31        retlw   B'00000000'     ;32        retlw   B'00000000'     ;33        retlw   B'00000000'     ;34        retlw   B'00000000'     ;35        retlw   B'00000000'     ;36        retlw   B'00000000'     ;37        retlw   B'00000000'     ;38        retlw   B'00000000'     ;39        retlw   B'00000000'     ;40        retlw   B'00000000'     ;41        retlw   B'00000000'     ;42        retlw   B'00000000'     ;43        retlw   B'00000000'     ;44        retlw   B'00000000'     ;45        retlw   B'00000000'     ;46        retlw   B'00000000'     ;47        retlw   B'00000000'     ;48        retlw   B'00000000'     ;49        retlw   B'00000000'     ;50        retlw   B'00000000'     ;51        retlw   B'00000000'     ;52        retlw   B'00000000'     ;53        retlw   B'00000000'     ;54        retlw   B'00000000'     ;55        retlw   B'00000000'     ;56        retlw   B'00000000'     ;57        retlw   B'00000000'     ;58        retlw   B'00000000'     ;59        retlw   B'00000000'     ;60        retlw   B'00000000'     ;61        retlw   B'00000000'     ;62        retlw   B'00000000'     ;63        retlw   B'00000000'     ;64        retlw   B'00000000'     ;65        retlw   B'00000000'     ;66        retlw   B'00000000'     ;67        retlw   B'00000000'     ;68        retlw   B'00000000'     ;69        retlw   B'00000000'     ;70        retlw   B'00000000'     ;71        retlw   B'00000000'     ;72        retlw   B'00000000'     ;73        retlw   B'00000000'     ;74        retlw   B'00000000'     ;75        retlw   B'00000000'     ;76        retlw   B'00000000'     ;77        retlw   B'00000000'     ;78        retlw   B'00000000'     ;79        retlw   B'00000000'     ;80        retlw   B'00000000'     ;81        retlw   B'00000000'     ;82        retlw   B'00000000'     ;83        retlw   B'00000000'     ;84        retlw   B'00000000'     ;85        retlw   B'00000000'     ;86        retlw   B'00000000'     ;87        retlw   B'00000000'     ;88        retlw   B'00000000'     ;89        retlw   B'00000000'     ;90        retlw   B'00000000'     ;91        retlw   B'00000000'     ;92        retlw   B'00000000'     ;93        retlw   B'00000000'     ;94        retlw   B'00000000'     ;95        retlw   B'00000000'     ;96        retlw   B'00000000'     ;97        retlw   B'00000000'     ;98        retlw   B'00000000'     ;99        retlw   B'00000000'     ;100        retlw   B'00000000'     ;101        retlw   B'00000000'     ;102        retlw   B'00000000'     ;103        retlw   B'00000000'     ;104        retlw   B'00000000'     ;105        retlw   B'00000000'     ;106        retlw   B'00000000'     ;107        retlw   B'00000000'     ;108        retlw   B'00000000'     ;109        retlw   B'00000000'     ;110        retlw   B'00000000'     ;111        retlw   B'00000000'     ;112        retlw   B'00000000'     ;113        retlw   B'00000000'     ;114        retlw   B'00000000'     ;115        retlw   B'00000000'     ;116        retlw   B'00000000'     ;117        retlw   B'00000000'     ;118        retlw   B'00000000'     ;119        retlw   B'00000000'     ;120        retlw   B'00000000'     ;121        retlw   B'00000000'     ;122        retlw   B'00000000'     ;123        retlw   B'00000000'     ;124        retlw   B'00000000'     ;125        retlw   B'00000000'     ;126        retlw   B'00000000'     ;127        retlw   B'00000000'     ;128        retlw   B'00000000'     ;129        retlw   B'00000000'     ;130        retlw   B'00000000'     ;131        retlw   B'00000000'     ;132        retlw   B'00000000'     ;133        retlw   B'00000000'     ;134        retlw   B'00000000'     ;135        retlw   B'00000000'     ;136        retlw   B'00000000'     ;137        retlw   B'00000000'     ;138        retlw   B'00000000'     ;139        retlw   B'00000000'     ;140        retlw   B'00000000'     ;141        retlw   B'00000000'     ;142        retlw   B'00000000'     ;143        retlw   B'00000000'     ;144        retlw   B'00000000'     ;145        retlw   B'00000000'     ;146        retlw   B'00000000'     ;147        retlw   B'00000000'     ;148        retlw   B'00000000'     ;149        retlw   B'00000000'     ;150        retlw   B'00000000'     ;151        retlw   B'00000000'     ;152        retlw   B'00000000'     ;153        retlw   B'00000000'     ;154        retlw   B'00000000'     ;155        retlw   B'00000000'     ;156        retlw   B'00000000'     ;157        retlw   B'00000000'     ;158        retlw   B'00000000'     ;159        retlw   B'00000000'     ;160        retlw   B'00000000'     ;161        retlw   B'00000000'     ;162        retlw   B'00000000'     ;163        retlw   B'00000000'     ;164        retlw   B'00000000'     ;165        retlw   B'00000000'     ;166        retlw   B'00000000'     ;167        retlw   B'00000000'     ;168        retlw   B'00000000'     ;169        retlw   B'00000000'     ;170        retlw   B'00000000'     ;171        retlw   B'00000000'     ;172        retlw   B'00000000'     ;173        retlw   B'00000000'     ;174        retlw   B'00000000'     ;175        retlw   B'00000000'     ;176        retlw   B'00000000'     ;177        retlw   B'00000000'     ;178        retlw   B'00000000'     ;179        retlw   B'00000000'     ;180        retlw   B'00000000'     ;181        retlw   B'00000000'     ;182        retlw   B'00000000'     ;183        retlw   B'00000000'     ;184        retlw   B'00000000'     ;185        retlw   B'00000000'     ;186        retlw   B'00000000'     ;187        retlw   B'00000000'     ;188        retlw   B'00000000'     ;189        retlw   B'00000000'     ;190        retlw   B'00000000'     ;191        retlw   B'00000000'     ;192        retlw   B'00000000'     ;193        retlw   B'00000000'     ;194        retlw   B'00000000'     ;195        retlw   B'00000000'     ;196        retlw   B'00000000'     ;197        retlw   B'00000000'     ;198        retlw   B'00000000'     ;199        retlw   B'00000000'     ;200        retlw   B'00000000'     ;201        retlw   B'00000000'     ;202        retlw   B'00000000'     ;203        retlw   B'00000000'     ;204        retlw   B'00000000'     ;205        retlw   B'00000000'     ;206        retlw   B'00000000'     ;207        retlw   B'00000000'     ;208return;****************************************************************************STEP_CLEAR        movlw   B'00000000'        movwf   LINE1        movwf   LINE2        movwf   LINE3        movwf   LINE4        movwf   LINE5        movwf   LINE6        movwf   LINE7        movwf   LINE8        movwf   LINE9        movwf   LINE10        movwf   LINE11        movwf   LINE12        movwf   LINE13        movwf   LINE14        movwf   LINE15        movwf   LINE16        MOVLW   D'50'        MOVWF   ZAMAN        CALL    STEP_DELAYRETURN;****************************************************************************STEP_DELAY        clrwdt       ; call    DELAYSYS                        ;20 msec delay        CALL    RUNTIME        decfsz  ZAMAN        goto    STEP_DELAYreturn;****************************************************************************RUNTIMEWRITEDISP        ;test        ;call    delay20        ;test        clrwdt        movlw   D'0'        movwf   PORTA        movf    LINE1,0        movwf   PORTB        call    delay1        clrwdt        movlw   D'1'        movwf   PORTA        movf    LINE2,0        movwf   PORTB        call    delay1        clrwdt        movlw   D'2'        movwf   PORTA        movf    LINE3,0        movwf   PORTB        call    delay1        clrwdt        movlw   D'3'        movwf   PORTA        movf    LINE4,0        movwf   PORTB        call    delay1        clrwdt        movlw   D'4'        movwf   PORTA        movf    LINE5,0        movwf   PORTB        call    delay1        clrwdt        movlw   D'5'        movwf   PORTA        movf    LINE6,0        movwf   PORTB        call    delay1        clrwdt        movlw   D'6'        movwf   PORTA        movf    LINE7,0        movwf   PORTB        call    delay1        clrwdt        movlw   D'7'        movwf   PORTA        movf    LINE8,0        movwf   PORTB        call    delay1        clrwdt        movlw   D'8'        movwf   PORTA        movf    LINE9,0        movwf   PORTB        call    delay1        clrwdt        movlw   D'9'        movwf   PORTA        movf    LINE10,0        movwf   PORTB        call    delay1        clrwdt        movlw   D'10'        movwf   PORTA        movf    LINE11,0        movwf   PORTB        call    delay1        clrwdt        movlw   D'11'        movwf   PORTA        movf    LINE12,0        movwf   PORTB        call    delay1        clrwdt        movlw   D'12'        movwf   PORTA        movf    LINE13,0        movwf   PORTB        call    delay1        clrwdt        movlw   D'13'        movwf   PORTA        movf    LINE14,0        movwf   PORTB        call    delay1        clrwdt        movlw   D'14'        movwf   PORTA        movf    LINE15,0        movwf   PORTB        call    delay1        clrwdt        movlw   D'15'        movwf   PORTA        movf    LINE16,0        movwf   PORTB        call    delay1        movlw   H'00'        movwf   PORTB        RETURN;***************************************************************************SETCPUPORTSTATUS        bsf     STATUS,RP0        movlw   H'00'        movwf   TRISB           ;PORTB pins : O-O-O-O-O-O-O-O        movlw   B'00000000'        movwf   TRISA           ;PORTA pins : X-X-X-O-O-O-O-O        bcf     STATUS,RP0        movlw   H'00'           movwf   PORTA        movwf   PORTBRETURN;****************************************************************************;*-     Delay Routines                                                     -*;****************************************************************************vlong      movlw   0xff            ;200msec        movwf   msb        goto    d1DELAYSYS                        ;20 msec delay        movlw   .26        movwf   msb        CLRWDT        CALL    RUNTIME        goto    d1delay20                         ;20 msec delay        movlw   .26        movwf   msb        goto    d1delay16                         ;16 msec delay        movlw   .21        movwf   msb        goto    d1delay1                          ;750nsec delay        movlw   .1              movwf   msbd1      movlw   0xff        movwf   lsbd2      decfsz  lsb,F        goto    d2        decfsz  msb,F        goto    d1        return;****************************************************************************FINISH        goto    STARTend

ete

Programın içinde 208 karekterlik yer tanımlanmış. Sanırım bu 255 karektere çıkartılabilir. Yalnız hatırlatayım , karekter dataları verilmemiş!!  Bütün datalar sıfır. Sanırım bu dataları tanımlamakda  size düşüyor.

Ete

onurx5

ete hocam ben simülasyonu çalıştırdığımda 32 karakter geçiyor bunun sebebi nedir ?? Kodu bu aşağıdaki devredeki simülasyona göre karakteri artırıp benimle paylaşabilirsiniz şimdiden teşekkürler selametle ete hocam


aşağıdaki denediğim simülasyon

https://drive.google.com/file/d/0B857sH3uf8bmdEM4TXRIN1VBY0E/edit?usp=sharing

ete

Senin elindeki program ile simulasyonda kullandığın farklı olsa gerek.
Veridğin linkte yalnızca simulasyon dosyası var. Kullandığın hex dosyası olmadan bir şey anlaşılması mümkün değil.
Üstelik program ASM de yazılmış. Asm de değişiklik yapacak kadar iyi değilim. Bu nedenle benim işim değil bu.
Ete

onurx5

ete hocam buyurun 50 karakterlik hex dosyası canınız sağ olsun hocam anlayan hocalarımızdan biri yardımcı olsa çok minnettar kalırım selametle



https://drive.google.com/file/d/0B857sH3uf8bmcVBQR2N3ZHFVS00/edit?usp=sharing

onurx5

hocam birde elimde şöyle bir kod var ben bu kodun içinde nasıl değişiklik yapacağım bir bakarsanız selametle


kod:
https://drive.google.com/file/d/0B857sH3uf8bmRWQweThheTAyQjA/edit?usp=sharing

ete

Sana bir şey anlatmak zor sanırım. Daha açık anlatayım.
Senin ilk verdiğin ASM kodu ham bir programa ait. Bu programda karekter dataları yer almıyor ve karekter adedi ise 208 tane.

Birileri bunu kullanarak karekterleri tanımlamış ve 50 karekterlik bir mesaj oluşturmuş. Sonra programı derleyip HEX dosyasını elde etmiş. Bu da en son yolladığın hex dosyası.

programınbasicde yazılmış versiyonlarına bakarak mantık olarak şöyle fikir yürütebiliriz. Bir yazı gurubu hafıza yada epromdan okunarak ekrana verilip kaydırılır. Bu bakımdan eprom yada hafızadan okunurken mutlaka bir limit koymak lazım gelir. Sen 32 karekterlik bir iş yapıyorsan limitin 32 dir. 50 karekterlik yapıyorsan limitin 50 dir. Bu nednele limitlerin ASM kodu içinde nerede yazdığına bilen birisinin bakması gerek. Ben anlamam.

Ama senin asıl zorluğun bütün alfabe karekter datalarını bir şekilde oluşturman gerekiyor. Bunları yaptınmı?
Bu işi başkasından bekleme çünki saatlerce uğraşılması hatta belkide bir kaç gün uğraşılması gerekecek. Kimse uğraşmaz bununla. Oturup kendin yapacaksın bu işi. Yada çıkartabiliyorsan elindeki çalışan programlardan data çıkarmaya çalışacaksın. Ama çalışan programların ASM kodları yok ise biraz zor çıkartırsın bu dataları.

Verdiğin ikinci dosya bas uzantılı herhalde basic de yazılmış peki san ASM de çalışmıyormuydun? nedir bu işin aslı senden istenen nedir?

Ete

onurx5

hocam ben sadece bu asm kodunun ortasındaki datları değiştire biliyorum elimde harfler var elektro bilimde farhi hoca var onda kod istedim elime en son verdiğim programı verdi ben 32 karakteri ortadan kaldırmak istiyorum o sınır ortadan kalsın dönem ödevi olarak hocaya sunacağım 32 karakterlik bir devre üzerinde çalışıyorum ama maalesef pek kod işinden pek anlamıyorum sadece orta kısımda değişiklik yapabiliyorum fahri hocayla o günden buyana konuşmadım pek fazla rahatsız etmek istemiyorum yani pek soracağım kimse yok kodu nasıl değiştireceğim kafamın içinde tamamen büyük soru işareti var 2 dakikada değişir diye belki tahmin ederek konuyu açtım madem profesyonel bir şey lazım araştıracağım olmadı öyle kalacak proje selametle

ete

Ortada bir dönem ödevi meselesi var sanırım. Peki ödev sana ne şekilde verildi soruma cevap alamadım.
Bu iş bu şekilde olmaz. Ödev ASM kodu üzerinden verildi ise ASM kullanman gerekir. Yok hangisi olursa olsun bir kayan yazı yap denildi ise bu sitede var alası . Site içinde araştırma yaparsan bir kaç örnek bulursun.

Ete

onurx5

hocam benim şuanda uğraştığım devre tam istediğim gibi küçük ve kullanışlı bir devre tek sıkıntısı karakterlerinin az olması oyüzden çabalıyorum karakterlerini çoğaltıp dahi sunmak istiyorum devreyi ve ilerde kullana bilmek istiyorum

Powered by EzPortal