selam arkadaşlar size assembly komutlarını gosteriyorum. ASSEMBLY KOMUTLARI Assembler Nedir ? Assembler, mikro denetleyicileri ve işlemcileri programlamak icin kullanılan assembly programlama dilini derleyen yada yazdığımız programı entegreye yuklenebilecek hale getiren yani heksadesimal yapan programdır. Gpasm , mpasm PIC mikro denetleyicileri icin yapılmış assembler programıdır. Assembly Nedir ? Makine dili olarakda gecen, en duşuk seviyedeki dildir. Pic ve benzeri entegreleri programlamak icin bu dil kullanılır.Ozel bir programı yoktur. Herhangi bir editorle yazılabilir. Cevrilecek dosya formatının salt metin dosyası olması gerekmektedir. Assembly Komutları : d = 0 ise sonuc W yazmacına d = 1 ise sonuc F yazmacına yazılır. k = 0 ile 255 arasında bir sayı. f = 0 ile 127 arasında bir sayı. Yazmac adresi tanımlar. b = 8 bitlik yazmac adresi. W = Working register. ADDLW : k sayısı ile W yazmacının iceriği toplanır. ornek: ADDLW k ADDWF : F yazmacının iceriği ile W yazmacının iceriği toplanır. ornek: ADDWF f , d ANDLW : k sayısı ile W yazmacının iceriğine mantık (lojik) “ve”uygulanır ve sonuc W yazmacının icerisine yazılır. ornek:ANDLW k ANDWF: F yazmacının iceriği ile W yazmacının iceriğine mantık (lojik) "ve” uygulanır. ornek:ANDWF f,d BCF : F yazmacının iceriğinin belirtilen bitini sıfır yapar. ornek:BCF f,b BSF : F yazmacının iceriğinin belirtilen bitini bir yapar. ornek:BSF f,b BTFSC : F yazmacının belirtilen biti 0 ise bir sonraki komut işlenmez. ornek:BTFSC f,b BTFSS : F yazmacın belirtilen biti 1 ise bir sonraki komut işlenmez. ornek:BTFSS f,b CALL : Onceden yazılan alt program cağrılır. ornek:CALL Alt_Program CLRF : F yazmacının iceriği temizlenir. ornek:CLRF f CLRW : W yazmacının iceriği temizlenir. ornek:CLRW CLRWDT : Watchdog timer iceriği temizlenir. ornek:CLRWDT COMF : F yazmacının iceriği terslenir. Sıfırlar bir, birler sıfır yapılır. ornek:COMF f ,d DECF : F yazmacının iceriği 1 azaltılır. ornekECF f,d DECFSZ: F yazmacının iceriği 1 azaltılır eğer değer sıfır olursa bir komut atlanır. ornekECFSZ f,d GOTO : Belirtilen adrese gidilir. ornek:GOTO Etiket INCF : F yazmacının iceriği 1 arttırılır. ornek:INCF f,d INCFSZ : F yazmacının iceriği 1 arttırılır eğer değer sıfır olursa bir komut atlanır. ornek:INCFSZ f,d IORLW: k sayısı ile W yazmacına mantık (lojik) "yada” uygulanır. Sonuc W yazmacına yazılır. ornek:IORLW k IORWF : F yazmacının iceriği ile W yazmacının iceriğine mantık (lojik) “yada” uygulanır. ornek:IORWF f,d MOVLW : k sayısı W yazmacına aktarılır. ornek:MOVLW k MOVWF : W yazmacının iceriği F yazmacına aktarılır. ornek:MOVWF f,d NOP : Bir saat cevrimi boyunca işlem yapılmaz. ornek:NOP RETFIE : Kesme programına geri donulur. ornek:RETFIE RETLW : Program akışı alt programdan ana programa doner. Ve k sayısı W yazmacına aktarılır. ornek:RETLW k RETURN : Alt programdan cıkılır. ornek:RETURN RLF : F yazmacındaki iceriği bir bit sola kaydırır. ornek:RLF f,d RRF : F yazmacındaki iceriği bir bit sağa kaydırır. ornek:RRF f,d SLEEP: PIC uyku koduna gecer ve cok az guc harcar. ornek:SLEEP SUBLW : k sayısından W yazmacındaki sayıyı cıkarır. ornek:SUBLW k SUBWF : F yazmacından W yazmacının iceriğini cıkarır. ornek:SUBWF f,d SWAPF : F yazmacının ust dort biti ile alt dort biti yer değiştirir. ornek:SWAPF ,d XORLW : W yazmacı ile k sayısına mantık XOR uygulanır ve sonucu W yazmacına yazar. ornek:XORLW k XORWF : W yazmacı ile F yazmacına mantık XOR uygulanır. ornek:XORWF f , d umarım faydalı olmuşumdur. başka isteğiniz varsa yardımcı olmaya calışırım. __________________