3.2 PIC16F84 Yazılımı PIC Assembly Assembler Nedir?

Benzer belgeler
B.Ç. / E.B. MİKROİŞLEMCİLER

DERS 7 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 örnek programlar Dallanma komutları Sonsuz döngü

Assembler program yazımında direkt olarak çizgi ile gösterilmemesine rağmen ekranınız ya da kağıdınız 4 ayrı sütunmuş gibi düşünülür.

PIC16F877A nın Genel Özellikleri

LCD (Liquid Crystal Display )

16F84 ü tanıt, PORTB çıkış MOVLW h FF MOWF PORTB

KOMUT AÇIKLAMALARI VE ÖRNEKLERİ

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu

Deney No Deney Adı Tarih. 3 Mikrodenetleyici Portlarının Giriş Olarak Kullanılması / /201...

W SAYAC SAYAC SAYAC. SAYAC= ise, d=0 W

PIC MİKRODENETLEYİCİLERİN HAFIZA YAPISI. Temel olarak bir PIC içerisinde de iki tür hafıza bulunur:

LCD (Liquid Crystal Display)

PIC TABANLI, 4 BASAMAKLI VE SER

BÖLÜM 3 3. PIC 16F8X KOMUTLARI 3.1.KULLANILAN SEMBOLLER: 3.2.KOMUTLAR VE KULLANIM ÖRNEKLERİ

PIC 16F84 VE TEK BUTONLA BĐR LED KONTROLÜ

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak

UYGULAMA 05_01 MİKRODENETLEYİCİLER 5.HAFTA UYGULAMA_05_01 UYGULAMA_05_01. Doç.Dr. SERDAR KÜÇÜK

Mikroişlemciler Ara Sınav---Sınav Süresi 90 Dk.

MİKRO DENETLEYİCİLER II DERS NOTLARI (VİZE KONULARI) Prof. Dr. Hakan Ündil Bahar-Vize

MİKRO DENETLEYİCİLER II DERS NOTLARI (Vize) Prof. Dr. Hakan Ündil Bahar

Bu yürütme, Prof. Dr. Hakan ÜNDİL (Bir haftalık derse ait ders notudur)

Program Kodları. void main() { trisb=0; portb=0; while(1) { portb.b5=1; delay_ms(1000); portb.b5=0; delay_ms(1000); } }

KONFİGÜRASYON BİTLERİ

5. BÖLÜM - DÖNGÜ (ÇEVRİM) ve Z BAYRAĞI

PIC Mikrodenetleyiciler. Hazırlayan:Öğr.Gör.Bülent ÇOBANOĞLU 1

MİKROİŞLEMCİ (MİKROPROSESÖR - CPU) NEDİR? Prof. Dr. Hakan ÜNDİL (Bir haftalık derse ait ders notudur)

MİKROİŞLEMCİ (Microprocessor) NEDİR?

PIC MİKROKONTROLÖR TABANLI MİNİ-KLAVYE TASARIMI

PROGRAMLAMAYA GİRİŞ DERS 2

1. PORTB ye bağlı 8 adet LED i ikili sayı sisteminde yukarı saydıracak programı

BSF STATUS,5 ;bank1 e geçiş CLRF TRISB ;TRISB= BCF STATUS,5 ;bank0 a geçiş

Hacettepe Robot Topluluğu

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

DEVRELENDİRİLMİŞ LOJİK

Sistem Gereksinimleri: Uygulama Gelistirme: PIC Mikroislemcisinin Programlanmasi: PIC Programlama Örnekleri -1

T.C. MİLLÎ EĞİTİM BAKANLIĞI DENİZCİLİK MİKRODENETLEYİCİ 2

ELEKTRİK-ELEKTRONİK TEKNOLOJİSİ

Internet Programming II

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

PIC UYGULAMALARI. Öğr.Gör.Bülent Çobanoğlu

MİKROİŞLEMCİLER VE MİKRO DENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan Ündil Bahar-Final

PIC MIKRODENETLEYICILER-3: GECĠKME ve KESME PROGRAMLARI

IŞIĞA YÖNELEN PANEL. Muhammet Emre Irmak. Mustafa Kemal Üniversitesi Mühendislik Fakültesi. Elektrik-Elektronik Mühendisliği Bölümü

Yrd.Doç. Dr. Bülent ÇOBANOĞLU. Sakarya Üniversitesi, Teknoloji Fakültesi

Komutların İşlem Süresi

8 Ledli Havada Kayan Yazı

ROBOT KOL BİTİRME PROJESİ DÖNEM İÇİ RAPORU

Algoritma ve Akış Diyagramları

Mikroişlemci: Merkezi işlem biriminin fonksiyonlarını tek bir yarı iletken tümleşik devrede birleştiren programlanabilir sayısal elektronik devre

ÖĞRENME FAALİYETİ-1 1. MİKRODENETLEYİCİ PROGRAMI YAZMA

MİKRODENETLEYİCİLER I DERS NOTLARI Güz-Final. 1. BÖLÜM GİRİŞ ve SAYI SİSTEMLERİ 1.1. Devrelendirilmiş Lojik

YILDIZ TEKNİK ÜNİVERSİTESİ ELEKTRİK - ELEKTRONİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ. EasyPic6 Deney Seti Kullanım Kılavuzu

Yrd. Doç.Dr. Bülent ÇOBANOĞLU. Hazırlayan:Yrd.Doç.Dr.Bülent ÇOBANOĞLU 1

MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-FİNAL KISMI

HSancak Nesne Tabanlı Programlama I Ders Notları

MIKROBILGISAYARLAR ve PIC PROGRAMLAMA TEST ÇALIŞMA SORULARI


BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

PIC'LERIN DIŞ GÖRÜNÜŞÜ...Hata! Yer işareti tanımlanmamış.

PASCAL PROGRAMLAMA DİLİ YAPISI

MİKRO DENETLEYİCİLER 1 DERS NOTLARI (Final) Prof. Dr. Hakan Ündil Güz

PIC ASSEMBLY VE MAKROLAR

# PIC enerjilendiğinde PORTB nin 0. biti 1 olacak #PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak

T.C. MİLLÎ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) ELEKTRİK ELEKTRONİK TEKNOLOJİSİ

MİKRODENETLEYİCİLER I DERS NOTLARI Prof. Dr. Hakan Ündil Güz (Vize sonuna kadar olan kısımdır.)

MİKRODENETLEYİCİLER 2 DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-Final Kısmı

Bilgisayar Programlama

BİLİŞİM TEKNOLOJİLERİ

ELEKTRİK-ELEKTRONİK TEKNOLOJİSİ

PİC BASİC PROFESSİONAL

Elbistan MYO Güz Dönemi Öğr.Gör. Murat KEÇECİOĞLU

MİKRODENETLEYİCİ GELİŞTİRME SETİ TASARIM VE UYGULAMALARI. öğrencilerine eğitimleri esnasında iş hayatında karşılaşabilecekleri kontrol işlemleri ve

Mikroişlemcili Sistemler ve Laboratuvarı 8.Hafta

DENEY-1. SABANCI ATL ÖĞRETMENLERİNDEN YAVUZ AYDIN ve UMUT MAYETİN'E VERDİKLERİ DESTEK İÇİN TEŞEKKÜR EDİYORUZ

Akış Kontrol Mekanizmaları

Hacettepe Robot Topluluğu

Hacettepe Robot Topluluğu

C PROGRAMLAMA D İ L İ

Üst düzey dillerden biri ile yazılmış olan bir programı, makine diline çeviren programa derleyici denir. C++ da böyle bir derleyicidir.

PIC16F87X te ADC MODÜLÜNÜN KULLANIMI

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

BÖLÜM 1 ALT PROGRAMLAR 1.1.ALTPROGRAM NEDİR?

Algoritma ve Akış Diyagramları

PD103 BUTON LED UYGULAMA DEVRESİ UYGULAMA ÖRNEKLERİ MALZEME LİSTESİ

İÇİNDEKİLER 1. KLAVYE KLAVYE RB KLAVYE RBHIGH DİSPLAY... 31

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya

MİKRODENETLEYİCİLER II DERS NOTLARI Prof. Dr. Hakan ÜNDİL Bahar-FİNAL KISMI

<fn> FORMAT (a1,a2,a3,...) : format deyiminin satır numarasıdır READ, WRITE deyimleri ile verilir. : alan bildirim deyimleridir.

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

TUŞ TAKIMI (KEYPAD) UYGULAMALARI

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (

HSancak Nesne Tabanlı Programlama I Ders Notları

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar

FORMÜLLER VE FONKSİYONLAR

Hyper Terminal programı çalıştırıp Uygun COM portu ve iletişim parametrelerinin ayarları yapılıp bekletilmelidir.

ONDOKUZ MAYIS ÜNİVERSİTESİ

Transkript:

3.2 PIC16F84 Yazılımı 3.2.1 PIC Assembly 3.2.1.1 Assembler Nedir? Assembler,bir text editöründe assembly dili kurallarına göre yazılmış olan komutları pıc in anlayabileceği heksadesimal kodlara çeviren (derleyen) bir programdır.microchip firmasının hazırladığı MPASM bu işi yapan assembler programıdır.assembler e çoğu zaman compiler (derleyici) denilir. 3.2.1.2 PIC Assembly Dili Nedir? Assembly dili,bir PIC e yaptırılması istenen işlerin belirli kurallara göre yazılmış komutlar dizisidir.assembly dili komutları İngilizce dilindeki bazı kısaltmalardan meydana gelir.bu kısaltmalar genellikle bir komutun çalışmasını ifade eden cümlenin baş harflerinden oluşur.böylece elde edilen komut,bellekte tutulması kolay (mnemonic) bir hale getirilmiştir.örneğin; BTFSC (Bit Test F Skip if Clear) File registerdeki bit i test et,eğer sıfırsa bir sonraki komutu atla,anlamında kullanılan İngilizce cümlenin kısaltmasıdır. 3.2.1.3 PIC Assembly Dili Yazım Kuralları PIC assembly programlarının yazılması için kullanılan text editörlerinden daha önce bahsedilmişti.bu editörler arasında Windows altında çalışan NOTPAD veya DOS altında çalışan EDIT en uygunlarıdır.bunların dışında printer kontrol komutları içermeyen ve ASCII kodunda dosya üretebilen herhangi bir editör de kullanılabilir.mplab kullanıldığında ayrıca bir editör kullanılmasına gerek yoktur.çünkü MPLAB ın içinde hem bir text editörü hem de MPASM bulunmaktadır. MPASM assembler programının,yazılan komutları doğru olarak algılayıp,pic in anlayabileceği heksadesimal kodlara dönüştürebilmesi için şu bilgiler program içinde özel formatta yazılması gerekir; *Komutların hangi PIC16XX için yazıldığı, *Programın bellekteki hangi adresten başlayacağı, *Komutların ve etiketlerin neler olduğu, *Programın bitiş yeri.

Basit bir örnekle bu bilgilerin program içinde nasıl yazıldığını gösterirsek; Program ilk olarak PIC16F84 e B portunun 8 ucunu da çıkış olarak tanıtacak.daha sonra bu porttaki ilk dört bitini lojik 1,sonraki dört bitini de lojik 0 yapacak.son olarak program sonsuz bir döngüye girecektir.bu işlemleri yapacak olan programın akış diyagramı ve komutları aşağıdaki gibi olacaktır. Başla PortB nin tüm uçlarını Çıkış olarak tanıt PortB ye 0x0F yükle Döngü Son ;=============PICTEST1.ASM=========================== LIST P=16F84 ;----------------------------------------------------------------------------------------- ; Adres tanımlama bloğu STATUS EQU 0x03 PORTB EQU 0x06 TRISB EQU 0x86 ;------------------------------------------------------------------------------------------ ORG 0x00 ; programı 0x00 dan başlat

;------------------------------------------------------------------------------------------ ;Portların durumunu belirleme bloğu START CLRF PORTB ; portb nin içini sıfırla BSF STATUS,5 ; BANK1 e geç CLRF TRISB ;portb nin uçlarını output yap BCF STATUS,5 ;tekrar BANK0 geç ;------------------------------------------------------------------------------------------ ;Program bloğu MOVLW 0x0F ;W registerine 0x0F i yükle MOVWF PORTB ;W yi portb ye yükle ;------------------------------------------------------------------------------------------ ;Sonlandırma bloğu DONGU GOTO DONGU END ;===================================================== 3.2.1.3.1 Noktalı Virgül (;) Baş tarafına (;) konulan satır,assembler tarafından heksadesimal kodlara dönüştürülmez.bu satırlar programın geliştirilmesi esnasında hatırlatıcı açıklamaların yazılmasında kullanılır.örneğin CLRF ile başlayan satırda portb nin içini sıfırla cümlesi,clrf komutunun ne iş yapacağını açıklar.programın bölümlerini birbirinden ayırmak için (-------- veya =======) çizgileri kullanmak,programı görsel olarak daha okunur hale getirdiği gibi bu çizgiler arasına uyarılar ve açıklamalar da yazılabilir. 3.2.1.3.2 Girintiler ve Program Bölümleri Text editörlerinde birbirinden farklı uzunlukta girintiler veren TAB özelliği vardır.bu özellikten yararlanarak assembly komutları üç kolona bölünerek yazılır.bir assembly programı temel olarak dört bölüme ayrılır.bunlar:başlık,atama,program ve sonuç bölümleridir.

Assembler bildirileri Başlık LIST P=16F84 Bloğu Atama Bloğu Atama Etiket Komutu Hex adres Etiket Komut Sabit,etiket veya Heksadesimal adres ORG 0x00 Program START CLRF PORTB Bloğu MOVLW 0x0F Sonlandırma DONGU Bloğu GOTO DONGU END Assembler,yukarıda belirtildiği gibi komutların üç kolona bölünerek yazılmış olduğunu varsayar.belirtilen kolona yazılmayan bir komut olduğunda ise bunu da kabul eder.ancak,heksadesimal kodlara dönüştürme (compile) esnasında bu tip hataları bir uyarı (Warning) olarak belirtir.assembly komutları yazılırken kolonlar arasında verilen TAB uzunluğu önemli değildir.space tuşu ile verilen aralık da assembler tarafından TAB olarak algılanır. Yukarıda açıklamarla verilen program açıklamalar kaldırarak tekrar yazılırsa; LIST P=16F84 STATUS EQU 0x03

PORTB EQU 0x06 TRISB EQU 0x86 ORG 0x00 START CLRF PORTB BSF STATUS,5 CLRF TRISB BCF STATUS,5 MOVLW 0x0F MOVWF PORTB DONGU GOTO DONGU END 3.2.1.3.3 Başlık Programın en başındaki bilgilere başlık bölümü denilir. ;============PICTEST1.ASM=================== LIST P=16F84 ;------------------------------------------------------------------------- Başlık bölümünde program dosyasının adı ve hazırladığı tarih,istenirse hazırlayanın adı da yazılabilir.ilk satır,bir açıklama satırıdır ve assembler tarafından derlenmez LIST P=16F84 satırı,programın hangi PIC için yazıldığını belirtir.list bir compiler bildirisidir.yani compiler i yönlendiren bir komuttur ve tek kullanılış amacı ve yeri burasıdır. Başlık bölümünde ayrıca verdiğimiz örnekte kullanılmayan INCLUDE komutu da kullanılabilir.include komutu adresleri sabit olan STATUS:PORTA:PORTB,TRISA,TRISB gibi özel registerlerin atamalar bloğunda adreslerini her defasında belirtme zorunluluğunu ortadan kaldırmak için kullanılan bir compiler bildirisidir.

3.2.1.3.4 Etiketler PIC belleğindeki bir adresin atandığı,hatırlamayı kolaylaştıran kısaltmalardan meydana gelen sembolik isimlere etiket denilir.örneğin PORTB etiketi,pic16f84 ün file register belleğindeki B portunun bulunduğu adresi temsil eden etikettir.etiketler program içerisinde 1. kolona yazılır. EQU eşitleme ifadesidir.programın herhangi bir yerinde PORTB etiketi kullanıldığında,b portunun adresi olan 0x06 yazılmış gibi işlem görür. Birinci kolona yazılan ve adres atanmayan etiketler de kullanılabilir.start ve DONGU bu tip etiketlerdir.b u etiketler program akışını istenilen bir yere dallanmasını sağlamak amacıyla kullanılır.bu etiketleri adresleri bir özel register adresi gibi fiziksel bir adres değildir.bu şekilde tanımlanan bir etikete assembler otomatik olarak bir adres atar.bu adresi bizim bilmemiz gerekmez. Etiket tanımlanırken uyulması gereken kurallar şunlardır: *Etiketler 1. kolona yazılmalıdır. *Etiketler bir harfle veya alt çizgi(_) ile başlamalıdır. *Etiketler içerisinde Türkçe karakterler kullanılamaz. *Etiketler bir assembly komutundan oluşamaz. *Etiketlerin içerisinde alt çizgi,rakam,soru işareti bulunabilir. *Etiketler en fazla 31 karakter uzunluğunda olabilir. *Etiketlerde büyük/küçük harf duyarlılığı vardır. 3.2.1.3.5 Atama deyimi (EQU) EQU deyimi PIC16F84 ün belleğindeki bir heksadesimal adresi,belirlenen bir etikete atamak için kullanılır. PORTB EQU 0x06 Etiket Atama deyimi Heksadesimal Sayıyı ifade eder Heksadesimal adres

3.2.1.3.6 Sabitler PIC assembly dilinde heksadesimal sayılar birer sabittir.sabitler MOVLW ve bazı mantıksal ve aritmetik işlem komutlarında kullanılırlar. START MOVLW 0x02 Etiket Komut Sabit 3.2.1.3.7 ORG Deyimi ORG İngilizce deki origin kelimesinden gelmektedir.org deyimi iki amaç için kullanılır. *Program komutlarının hangi adresten itibaren başladığını gösterir. ORG 0x000 0x000 ilk program komutunun bellek adresi *PIC16F84 Interrupt alt programının başlangıç adresini belirlemede kullanılır. ORG 0x004 0x004 adresi.interrupt alt proramlarının başlangıç adresi. 3.2.1.3.8 Sonlandırma Bloğu PIC16F84 ün duraklama (halt) komutu yoktur.programı belirli bir yerde duraklatmak için bazen sonsuz döngü kullanılır.

DONGU GOTO END DONGU Sonsuz döngüde DONGU etiketine assembler otomatik olarak bir adres verir. GOTO DONGU komutu ise program akışını devemlı olarak aynı adrese gönderir.bu durumda program belirlenen adreste duraklatılmış olur. END deyimi ise program komutlarının sona erdiğini assembler e bildirir.her program sonunda END deyimi kesinlikle kullanılmalıdır.aksi halde program derlenirken dosya sonunun belirtilmediğini belirten bir hata mesajı verecektir. 3.2.1.3.9 Büyük ve Küçük Harflerin Kullanımı PIC assembler komutlarının büyük veya küçük harfle yazılması önemli değildir.istenirse büyük/küçük harf karışımı komutlarda kullanılabilir.ancak etiketler büyük/küçük harfe duyarlıdır. 3.2.1.4 PIC Assembly Komutlarının Yazılış Biçimi PIC16F84 ün toplam 35 tane komutu vardır.bu komutların yazılış biçimi üç grupta toplanılabilir. 1.Byte-yönlendirmeli komutlar. 2.Bit yönlendirmeli komutlar. 3.Sabit işleyen komutlar. 4.Kontrol komutları Komutların yazılış biçimlerini açıklarken bazı tanımlama harfleri kullanılacaktır. F=File register d=destination (gönderilen yer) d=0 W register d=1 file register k=sabit veya adres etiketi b=bit tanımlayıcı b=binary sayıları belirleyen harf (b 00001111 )

d=desimal sayıları belirleyen harf (d 16 ) 3.2.1.4.1 Byte-Yönlendirmeli Komutlar File Register Heksadesimal adres veya File registerin adı Komut f,d Destination (Gönderilecek yer ) Komutun çalışmasından sonra sonucun Nereye yazılacağını belirler. D=0 W register d=1 file register MOVF 0x03,0 ;0x03 adresindeki file registerin içeriğini W Registeri içerisine kopyalanır. MOVF STATUS.0 ;STATUS registerin içeriği W registere kopyalanır. MOVF STATUS,1 ;STATUS registerinin içeriği yine kendi içine yazılır. NOT: Byte-yönlendirmeli komutlarda destination (gönderilecek yer ) belirleyen d nin yazıldığı yere 0 veya 1 yazmak hatırlatıcı olmayabilir.mpasm bunu dikkate alarak 0 yerine W, 1 yerine f yazmaya izin verir.mpasm nin MS-DOS versiyonunda ise W ve f harflerinin otomatik olarak kullanılmasına izin verilmez.bu durumda her programın tanımlama bölümünde aşağıdaki eşitlikler yazılmalıdır. W EQU 0 F EQU 1 Bu eşitliklerden sonra komutlarda destination belirlemek için W ve f harfleri kullanılabilir.

3.2.1.4.2 Bit-Yönlendirmeli Komutlar Komut f, b File register Heksadesimal adres veya File registerin adı Bit tanımlayıcı 0-7 arasında heksadesimal sayı veya etiket (EQU komutu ile adresi tanımlanmış olması gerekir.) BCF 0x03,5 ;0x03 adresindeki registerin 5. bitini sıfırla BSF STATUS,BESBIT ;STATUS registerinin BESBIT etiketiyle Tanımlı olan bitini 1 yapar. (Tanımlama Bloğunda BESBIT EQU 5 yazılması gerekir.) 3.2.1.4.2 Sabit İşleyen Komutlar Sabit Heksadesimal 0x0C Binary b 00001100 Desimal d 10 Komut k MOWLW 0x02 ;W registerine 2F heksadesimal Sayısını yükler. ADDLW b 00101111 ;W registeri içerisindeki sayıya 00101111 binary sayısını ekler. 3.2.1.4.3 Kontrol Komutları Adres etiketi Komut k

GOTO DONGU ;Program akışı DONGU olarak belirlenen Etikete dallanır. CALL TIMER ;Program akışı TIMER etiketi ile belirlenen Adresteki alt programa dallanır. NOT:Program içerisinde yazılan etiketlere assembler otomatik olarak adres verir. 3.2.1.5 Sayı ve Karakterlerin Yazılış Biçimi PIC assembly komutlarında sayılar heksadesimal,binary veya desimal formda kullanılabilir. 3.2.1.5.1 Heksadesimal sayılar Heksadesimal sayılar 0x, 0 veya h harfleriyle başlamalıdır.örneğin,status registerine 03 adresini atamak için aşağıda gösterilen yazılış biçimleri kullanılabilir. STATUS EQU 0x03 EQU 3 EQU 03 EQU 03h EQU h 03 MOVLW komutu ile W registeri içerisine yüklenecek olan FF heksadesimal sabitler ise aşağıdaki gibi yazılabilir. MOVLW 0xFF h FF 3.2.1.5.2 Binary sayılar Binary sayılar b harfi ile başlamalıdır.örneğin 00001010 binary sayısını W registeri içerisine yüklemek için aşağıdaki gibi yazılmalıdır.

MOVLW b 00001010 3.2.1.5.3 Desimal sayılar Desimal sayıların başına d harfi konularak tırnak içerisinde yazılırlar.örneğin 15 desimal sayısını W registeri içerisine yüklemek için aşağıdaki gibi yazılmalıdır. MOVLW d 15 3.2.1.5.4 ASCII karakterler Genellikle RETLW komutu ile birlikte kullanılan ASCII karakterler tırnak içerisine alınarak aşağıdaki gibi yazılırlar. RETLW RETLW A T