8051 INSTRUCTION ( KOMUT ) SET
Komutlar'ın Carry,Overflow ve Aux.Carry Flag'larına etkisi:
KOMUT FLAG
C OV AC
ADD X X X C :Carry, Elde
ADDC X X X OV :Overflow, Taşıma
SUBB X X X AC :Auxiliary Carry, Yardımcı Elde
MUL 0 X
DIV 0 X
DA X
RRC X
RLC X
SETB C 1
CLR C 0
CPL C X
ANL C,bit X
ANL C,/bit X
ORL C,bit X
ORL C,/bit X
MOV C,bit X
CJNE X
Komutların yazılmasında kullanılan registerler ve adresleme çeşitleri ile ilgili açıklamalar :
Rn : Seçilen register banktaki R0,R1,R2,R3,R4,R5,R6,R7 Registerlerini gösterir.
Direct :8 bit'lik Internal data alanlarının adreslerini( 0-127 Data Memory, 127-255 SFR adreslerini )belirtir.
@Ri :R0 ve R1 registerlerini ifade eder. Internal Data Memory adreslerini indirect (dolaylı) olarak belirtir.
#data16 : 16 bit'lik sabit sayıyı belirtir.
addr16 : 16 bit'lik adres belirtir.LCALL va LJMP komutlarıyla kullanılır. 64 K'lık program memory adres alanında istenilen adrese sıçramayı sağlar.
addr11 : 11 bit'lik adres belirtir.ACALL ve AJMP komutlarıyla kullanlır. Sıçrama komutun kullanıldığı adresten itibaren en fazla 2K'lık bir alana sıçrama yapabilir.
rel : + ve - olarak (-128 den +127 )8 bitlik bağıl adreslemeyi belirtir. SJMP ve diğer şartlı sıçrama komutlary ile kullanılır.
bit :Internal Data Memory'daki veya SFR lerdeki direk adreslenebilen bit adresini belirler.
KOMUTLAR TANIMI :
ARITMETIK KOMUTLAR
ADD A,Rn ACC'ye Rn'yi ekle
ADD A,direct ACC'ye memory'i direk ekle
ADD A,@Rl ACC'ye dolaylı belirtilen memory'i ekle
ADD A,#data ACC'ye direk sabit ekle
ADDC A,Rn ACC'ye Rn'yi carry(elde) ile birlikte ekle
ADDC A,direct ACC'ye memory'i elde ile birlikte ekle
ADDC A@Ri ACC'ye dolaylı belirtilen memory'i elde ile birlikte ekle
ADDC A,#data ACC'ye direk sabiti elde ile birlikte ekle
SUBB A,Rn ACC'den Rn'yi eldeli çıkar
SUBB A,direct ACC'den memory'i eldeli çıkar
SUBB A, @Ri ACC'den dolaylı belirtilen memory'i eldeli çıkar
SUBB A,#data ACC'den direk sabit'i eldeli çıkar
INC A ACC 'yi 1 artırır
INC Rn Registeri 1 artır
INC direct Memory'i 1 artır
INC @Ri Dolaylı belirtilen memory'i 1 artır
DEC A ACC'yi 1 azalt
DEC Rn Registeri 1 azalt
DEC direct Memory'i bir azalt
DEC @Ri Dolaylı belirtilem memory'i 1 azalt
INC DPTR Data Pointer'i 1 artır
MULL AB ACC ve B'yi çarp
DIV AB ACC'yi B'ye böl
DA A ACC'yi decimal ayarla
LOGICAL KOMUTLAR :
ANL A,Rn Registeri ACC'ye AND'le
ANL A,direct Memory'i ACC'ye AND'le
ANL A, @Ri Dolaylı belirtilen memory'i ACC ye AND'le
ANL A, #data Sabit sayyyy ACC ye AND'le
ANL direct,A ACC'yi Memory'e AND'le
ANL direct,#data Sabit sayıyı memory'e AND'le
ORL Arn Registeri ACC'ye OR'la
ORL A,direct Memory'i ACC'ye OR'la
ORL A,@Ri Dolaylı belirtilen memory'i ACC'ye OR'la
ORL A,#data Sabit sayıyı ACC'ye OR'la
ORL direct,A ACC'yi Memory'e OR'la
ORL direct,#data Sabit sayıyı Memory'e OR'la
XRL A,Rn Registeri ACC'ye XOR'la
XRL A,direct Memory'i ACC'ye XOR'la
XRL A,@Ri Dolaylı belirtilen memory'i ACC'ye XOR'la
XRL A,#data Sabit sayıyı ACC'ye XOR'la
XRL direct,A ACC'yi Memory'e XOR'la
XRL direct,#data Sabit sayıyı Memory'e XOR'la
CLR A ACC'yi sıfırla
CPL A ACC'nin complementini al
RL A ACC'yi 1 bit sola kaydır
RLC A ACC'yi 1 bit sola kaydır ( carry ile birlikte )
RR A ACC'yi 1 bit sağa kaydır
RRC A ACC'yi 1 bit sağa kaydır ( carry ile birlikte )
SWAP A ACC'nin byte'larını yer değiştir
DATA TRANSFER KOMUTLARI :
MOV A,Rn Rn'yi ACC'ye taşı
MOV A,direct Memory'i ACC'ye taşı
MOV A,@Ri Dolayly belirtilen memory'i ACC'ye ta?y
MOV A#data Sabit sayıyı ACC'ye taşı
MOV Rn,A ACC'yi Rn'ye taşı
MOV Rn,direct Memory'i Rn'ye yükle
MOV Rn,#data Sabit sayıyı Rn'ye taşı
MOV direct,A ACC'yi memory'e taşı
MOV direct,Rn Rn'yi memory'e taşı
MOV direct,direct Memory'i memory'e taşı
MOV direct,#data Sabit sayıyı memory'e taşı
MOV @Ri,A ACC'yi dolaylı belirtilen memory'e taşı
MOV @Ri,direct Direk belirtilen memory'i dolaylı belirtilen memory'e taşı
MOV @Ri,#data Sabit sayyyy dolaylı belirtilen memory'e taşı
MOV DPRT,#data16 16 bit'lik sabit sayıyı DPRT'ye taşı
MOVC A,@A+DPRT (DPRT+A)'nın belirtildiğii adresteki dosyayı ACC'ye taşı
MOVC A,@A+PC PC+A'nyn belirttiği adresteki datayı ACC'ye taşı
MOVX A,@Ri Ri'nin belirttiği 8 bit'lik harici memory'deki değeri ACC'ye taşı
MOVX A,@DPRT DPRT'nin belirttiği 16 bit'lik harici memory'deki değeri ACC'ye taşı
MOVX @Ri,A ACC'ye Ri'nin belirttiği 8 bitlik harici memory'e taşı
MOVX @DPTR,A ACC'yi DPRT'nin belirttiği 16 bit'lik harici memory'e taşı
PUSH direct Memory'deki değeri stack'a yükle
POP direct SP'nin gösterdiği adres değerinden memory'e yükle
XCH A,Rn Register ile ACC'yi değiştir.
XCH A,direct Memory ile ACC'yi değiştir
XCH A,@Ri Dolaylı gösterilen memory ile ACC'yi değiştir
XCD A,@Ri Dolaylı gösterilen memory'nin düşük byte'nı ACC ile değiştir
BOOLEAN DEĞİŞKENLERİ İŞLEMLERi :
CLR C Carry'i sıfırla
CLR bit Bit'i sıfırla
SETB C Carry'i 1 yap
SETB bit Bit'i 1 yap
CPL C C'nin değilini (complementini al )
CPL bit Bit'in değilini al
ANL C,bit Bit'i Carry'e AND le
ANL C,/bit Bit'in değilini carry'e AND le
ORL C,bit Bit'i Carry'e OR la
ORL C,/bit Bit'in değilini carry'e OR la
MOV C,bit Bit'i carry'e taşı
MOV bit,C Carry'i bit'e taşı
JC rel Eğer carry=1 ise rel adresine sıçra
JNC rel Eğer carry=0 ise rel adresine sıçra
JB bit,rel Eğer bit=0 ise rel adresine sıçra
JBC bit,rel Eğer bit=1 ise rel adresine sıçra ve bit'i sıfırla
PROGRAM SIÇRAMALARI
ACALL addr11 Subroutin'i (alt rutin) çağır.(2 k'lık adres sahası içersinde )
LCALL addr16 Subroutin'i çağır(64k'lık adres sahası içinde)
RET Subrroutin'den dön
RET1 Interrupt'dan dön
AJMP addr11 addr11 adresine sıçra(2k'lık adres sahası içinde)
LJMP addr16 addr16 adresine syçra(64klık adres sahası içinde)
SJMP rel rel adresine sıçra
JMP @A+DPTR DPTR+A'nın gösterdiği adrese sıçra
JZ rel ACC=0 ise rel adresine sıçra
JNZ rel ACC=0 değilse rel adresine sıçra
CJNE A,direct,rel ACC ve memory'i karşılaştırır.Eğer eşit değilse rel adresine sıçra
CJNE A,#data,rel ACC ve sabit sayıyı karşılaştırır.Eğer eşit değilse rel adresine sıçra
CJNE Rn,#data,rel Register ile sabit sayı karşılaştırılır.Eğer eşit değillerse rel adresine sıçra
CJNE @Ri,#data,rel Dolayly gösterilen memory ile sabit sayıyı karşılaştırılır.Eğer eşit de?illerse rel adresine sıçra
DJNZ Rn,rel Register'i 1 azalt,eğer sıfır olmazsa rel adresine sıçra
DJNZ direct,rel Memory'i 1 azalt eğer sıfır olmazsa rel adresine sıçra
NOP işlem yapma ( no operation )
8051 INSTRUCTION ( KOMUT ) SET
8051 serisi
-
- Genel Yetkili Adayı
- Mesajlar: 188
- Kayıt: 11 Tem 2009 19:46
- İletişim:
Geçiş yap
- Yenidir Forum'a Hoş Geldiniz
- ↳ Forum Kuralları (FORUM RULES)
- ↳ Duyurular
- Yenidir Bilgisayar Dünyası
- ↳ Programlama Dilleri
- ↳ Visual Basic
- ↳ C Sharp(#)
- ↳ C
- ↳ C++
- ↳ Java
- ↳ Pascal
- ↳ Access
- ↳ SQL Server
- ↳ Web Tasarım
- ↳ ASP.Net
- ↳ PHP
- ↳ HTML
- ↳ Macromedia
- ↳ Flash
- ↳ Fireworks
- ↳ Dreamweaver
- ↳ Donanım
- ↳ İkinci El
- ↳ Güvenlik ve Kırıcılık
- ↳ Yararlı ve Yardımcı Yazılımlar
- ↳ Sorun giderme
- ↳ Oem Ürün Uyumluluğu ve Performans Yükseltme Yöntemleri
- ↳ İşletim sistemleri Tanıtım ve Kullanım Rehberi
- ↳ Linux
- ↳ Windows
- ↳ Bilgisayar Dünyasındaki Son Gelişmler ve Yenilikler
- ↳ Soru ve Cevap Alanı
- ↳ Bilgisayar
- ↳ Oem ürünler
- ↳ Yazılım
- Yenidir Teknoloji
- ↳ Genel Teknoloji
- ↳ Yenidir Elektrik-Elektronik
- ↳ Elektrik
- ↳ Elektronik
- ↳ Genel Elektronik
- ↳ Mikrodenetleyiciler(mikrokontroller)
- ↳ mcs51(8051)
- ↳ PIC
- ↳ Diğer
- ↳ Tasarım
- ↳ Genel
- ↳ Televizyon
- ↳ Vestel
- ↳ Beko
- ↳ Arçelik
- ↳ Philips
- ↳ Sony
- ↳ Grundig
- ↳ Telefunken
- ↳ Profilo
- ↳ Panasonic
- ↳ Samsung
- ↳ Diğer
- ↳ Digital Uydu Alıcıları (Satallite)
- ↳ Arçelik-Beko
- ↳ Next-NextStar
- ↳ Yumatu
- ↳ Yenidir Cep Telefonu ve Cep Bilgisayarı
- ↳ Cep Telefonu ve Cep Bilgisayarı
- ↳ Symbian
- ↳ Programlar
- ↳ Temalar ve Uygulamalar
- ↳ Symbian S60v5
- ↳ Symbian^3
- ↳ Yenidir Haber Merkezi
- ↳ Teknoloji Haberleri
- ↳ Güncel Haberler
- Yenidir Internet ve Ağ
- ↳ Site tanıtım
- ↳ Güvenlik
- ↳ Kullanışlı Web Site Hizmetleri
- ↳ Network Tipleri ve Kurulumları
- ↳ Modem Ayarlamaları
- ↳ TCP/İp - Dns
- Yenidir Bilgi ve Eğlence Dünyası
- ↳ Duvar Yazıları
- ↳ Hiç Duydunuz mu?
- ↳ Resim ve Animasyonlar
- ↳ Swf,Gif ve Diğerleri
- ↳ Karikatür
- ↳ Fıkra
- ↳ İgrenç Espriler
- ↳ Gariplik Ve Korku
- ↳ Değişik Şeyler
- ↳ Korku (+18)
- ↳ Nasıl Olur? Nasıl Yapılır?
- ↳ Hobi Dünyası
- ↳ Origami
- ↳ Hayatın İçinden
- ↳ Hikaye
- Yenidir Yaşam ve Sağlık
- ↳ Sağlıklı Yaşam Rehberi
- ↳ Emeklilik,Sosyal Güvence,Sigorta
- ↳ SSK
- ↳ Astronomi ve Fallar
- ↳ Kadınlara Özel Fallar
- ↳ Erkeklere Özel Fallar
- ↳ Yenidir Romantizim ve Güzel Sözler
- ↳ Şiirler
- ↳ Aşk Şiirleri
- ↳ Güzel Sözler
- Yenidir Eğitim-Öğretim
- ↳ Ödev Arşivi,Sunular,Konu Anlatımları
- ↳ Matematik
- ↳ Matematik
- ↳ Geometri
- ↳ Analitik Geometri
- ↳ Türkçe
- ↳ Türkçe
- ↳ Dil ve Anlatım
- ↳ Türk Edebiyatı
- ↳ Fen ve Teknoloji
- ↳ Fen Bilgisi
- ↳ Teknoloji Dersi
- ↳ Fizik
- ↳ Kimya
- ↳ Biyoloji
- ↳ Sosyal Bilgiler
- ↳ Sosyal Bilgiler
- ↳ Tarih
- ↳ Felsefe
- ↳ Din Kültürü ve Ahlak Bilgisi
- ↳ İnkilap
- ↳ Edebi Eserler
- ↳ 9.Sınıf(Lise 1) Dersleri
- ↳ Edebiyat
- ↳ Biyoloji
- ↳ Matematik
- ↳ Biyoloji
- ↳ Kitap Özetleri
- ↳ İngilizce
- ↳ Paket Programlama Dersleri
- ↳ Coğrafya
- ↳ Kayaçlar
- ↳ Dil ve Anlatım
- ↳ Türk Edebiyatı
- ↳ Tarih
- ↳ Psikoloji
- ↳ Duyurular
- Yenidir Spor
- ↳ Futbol
- ↳ Turkcell Süperlig
- ↳ Haberler
- ↳ Süper Lig Puan Durumu
- ↳ Süper lig Takımları
- ↳ Galatasaray
- ↳ Fenerbahçe
- ↳ Beşiktaş
- ↳ Trabzonspor
- ↳ Futbolcu Biyografileri
- ↳ Basketbol
- ↳ Diğer Spor Aktiviteleri
- ↳ Dövüş Sporları ve Body Building
- Yenidir Oyun
- ↳ Bigisayar Oyunları (Online)
- ↳ Silkroad Online
- ↳ World of Warcraft
- ↳ Metin2
- ↳ Metin2 Pvp serverleri
- ↳ Metin2 Hileleri
- ↳ Metin2 Oyun Sorunları ve Çözümleri
- ↳ Metin2 İpuçları
- ↳ Knight Online
- ↳ Hikaye
- ↳ Galaxy Online 2
- ↳ Sorularınız ve Çözümleri
- ↳ Oyun Hakkında İpuçları
- ↳ Birlik Tanıtımları
- ↳ Server 1 :Büyük Ayı
- ↳ Server 2 :Küçük Ayı
- ↳ Bilgisayar Oyunları ve Hileleri
- ↳ Playstation,Nintendo Wii,PSP,PSP Emulatör Oyunları
- ↳ Oyun İncelemeleri ve İlerleme Taktikleri
- ↳ Travian
- ↳ Metin2
- ↳ Knight Online
- ↳ Oyun Demoları ve Tanıtım Videoları
- ↳ Yenidir Forum Oyunları
- ↳ Hikaye
- Yenidir Müzik ve Video
- ↳ Türkçe Pop,Rock,Klasik
- ↳ En Yeniler
- ↳ Top 10
- ↳ Alternatif Müzik
- ↳ R&B
- ↳ Dans,Techno,House
- ↳ Metal Müzik
- ↳ Yabancı Kategori
- ↳ En Yeniler
- ↳ Top 10
- ↳ Rihanna
- Yenidir Alışveriş
- ↳ Kampanya ve Fırsatlar
- ↳ Tüketici Köşesi
- ↳ Tavsiyeler
- ↳ Tüketici Sorunları
- ↳ Tüketici şikayetleri
- ↳ Ürün tavsiyeleri
- Yenidir Tarih,Sanat
- ↳ Sanat
- ↳ Kültür
- Diğer
- ↳ Diğer
- ↳ Diğer
- ↳ Serbest Kürsü