assambly hex koduna çevirme bu programı çevirebilirmisiniz hex koduna

sinan44

Üye
Katılım
6 Tem 2011
Mesajlar
14
Puanları
1
LIST P=16F628A
INCLUDE "P16F628A.INC"
__CONFIG _WDT_OFF & _PWRTE_ON
CBLOCK H'20'
SAYAC ;SAYAC DEĞİŞKENİNİ BİR ADRESE ATA
ENDC
CLRF PORTB ;PORTB Yİ SIFIRLA
;GİRİŞ-ÇIKIŞ TANIMLAMALARI
BANKSEL TRISA ;BANK1 E GEÇİŞ YAP
MOVLW H'FF'
MOVWF TRISA ;PORTA NIN BÜTÜN PİNLERİNİ GİRİŞ YAP
CLRF TRISB ;PORTB NİN BÜTÜN PİNLERİNİ ÇIKIŞ YAP
BANKSEL PORTB ;TEKRAR BANK0 A GEÇ
CLRF PORTB ;PORTB Yİ SIFIRLA




R0 EQU RAM START + 000h
R1 EQU RAM START + 002h
R2 EQU RAM START + 004h
R3 EQU RAM START + 006h
R4 EQU RAM START + 008h
R5 EQU RAM START + 00Ah
R6 EQU RAM START + 00Ch
R7 EQU RAM START + 00Eh
R8 EQU RAM START + 010h
FLAGS EQU RAM START + 012h
GOP EQU RAM START + 013h
RM1 EQU RAM START + 014h
RM2 EQU RAM START + 015h
RR1 EQU RAM START + 016h
RR2 EQU RAM START + 017h
i EQU RAM START + 018h
PORTL EQU PORTB
PORTH EQU PORTA
TRISL EQU TRISB
TRISH EQU TRISA


#define a0 PORTA 0
#define a1 PORTA 2
#define m1 PORTB 0
#define m2 PORTB 1
#define PORTA 0 PORTA, 000h
#define PORTA 2 PORTA, 002h
#define PORTB 0 PORTB, 000h
#define PORTB 1 PORTB, 001h
#define PORTA 1 PORTA, 001h
INCLUDE "SES RO~1.MAC"
INCLUDE "PBPPIC14.LIB"


MOVE CB 007h, CMCON
MOVE CB 000h, PORTB
MOVE CB 000h, TRISA
MOVE CB 000h, TRISB
MOVE CB 000h, PORTA



MOVE CB 000h, i
PAUSE C 001F4h


LABEL L ana
CMPNE TCL PORTA 1, 001h, L00001
PAUSE C 005h
CMPEQ TCL PORTA 1, 001h, ileri
LABEL L L00001
CMPNE TCL PORTA 0, 001h, L00003
PAUSE C 001h
CMPEQ TCL PORTA 0, 001h, saga
LABEL L L00003
CMPNE TCL PORTA 2, 001h, L00005
PAUSE C 001h
CMPEQ TCL PORTA 2, 001h, sola
LABEL L L00005
LOW T m1
LOW T m2
GOTO L ana


LABEL L ileri
MOVE CB 001h, i
LABEL L L00007
CMPGT BCL i, 028h, L00008
HIGH T m1
HIGH T m2
PAUSE C 019h
NEXT BCL i, 001h, L00007
LABEL L L00008
MOVE CB 001h, i
LABEL L L00009
CMPGT BCL i, 008h, L00010
GOSUB L dur
NEXT BCL i, 001h, L00009
LABEL L L00010
GOTO L ana


LABEL L sola
MOVE CB 001h, i
LABEL L L00011
CMPGT BCL i, 014h, L00012
HIGH T m2
LOW T m1
PAUSE C 019h
NEXT BCL i, 001h, L00011
LABEL L L00012
MOVE CB 001h, i
LABEL L L00013
CMPGT BCL i, 008h, L00014
GOSUB L dur
NEXT BCL i, 001h, L00013
LABEL L L00014
GOTO L ana


LABEL L saga
MOVE CB 001h, i
LABEL L L00015
CMPGT BCL i, 014h, L00016
LOW T m2
HIGH T m1
PAUSE C 019h
NEXT BCL i, 001h, L00015
LABEL L L00016
MOVE CB 001h, i
LABEL L L00017
CMPGT BCL i, 008h, L00018
GOSUB L dur
NEXT BCL i, 001h, L00017
LABEL L L00018
GOTO L ana


LABEL L dur
MOVE CB 000h, TRISA
MOVE CB 000h, PORTB
LOW T m1
LOW T m2
PAUSE C 032h
RETURN


END
 
yarına kadar çevirmem lazım yardımcı olabilirmisiniz
 
ne için lazım ders notu filanmı
 
Kodu yazan pbp derleyicinin ürettiği asm kodunu kendi yazdığı asm koduna eklemeye çalışmış.

Bunu derlenebilir hale getirmeye çalışmak yerine oturup baştan doğru dürüst yazmak daha mantıklı olur.
 
INCLUDE "SES RO~1.MAC"
INCLUDE "PBPPIC14.LIB"
Bu dosyalar kodu yazan programcının haricen eklediği önceden yazdığı altprogramlar değilmi bunlar olmadan derleyemeyiz, benmi yanlış anlıyorum
 
Biri pic basic'in oluşturduğu mac dosyası, diğeri de yine pic basic kütüphane dosyası, alt program değiller.
 
ya bu benm bitirme projesinin olması gereken kodu fakat programlama hakkında fazla bilgim yok ve proje sese yönelen robot projesi
 
Bu program hakkında neler diyeceksiniz olur mu ki acaba
lıst p=16f628a
ınclude "p16f628a.ınc"
__confıg _ıntrc_osc_noclkout & _wdt_off & _pwrte_on & _mclre_off & _boden_off & _lvp_off & _data_cp_off & _cp_off
cblock h'20'
sayac
endc
movlw h'07
clrf portb ;portb yı sıfırla
;gırıs-çıkıs tanımlamaları
banksel trısa ;bank1 e geçıs yap
movlw h'ff'
movwf trısa ;porta nın bütün pınlerını gırıs yap
clrf trısb ;portb nın bütün pınlerını çıkıs yap
banksel portb ;tekrar bank0 a geç
clrf portb ;portb yı sıfırla


;ana program
dongu
btfsc porta,2
goto d1
btfsc porta,0
goto d1
btfsc porta,1
goto dur
goto d1


d1
btfss porta,2
goto d2
btfss porta,0
goto d2
btfss porta,1
goto duz
goto d2


d2
btfsc porta,2
goto d3
btfss porta,0
goto d3
btfss porta,1
goto sag
goto d3


d3
btfss porta,2
goto dongu
btfsc porta,0
goto dongu
btfsc porta,1
goto sag




duz
bsf portb,1 ;sag motoru çalıstır
bsf portb,0 ;sol motoru çalıstır
goto dongu
 
Biri pic basic'in oluşturduğu mac dosyası, diğeri de yine pic basic kütüphane dosyası, alt program değiller.
teşekkür ederim bende konu başlığında assembler yazınca programa assembler gözüyle baktım anlayamadım, kendimden şüphede ettim, tabi picbasic hiç bilmediğimden programın ne olduğunuda anlayamadım, ilerde belki bu dilleride öğrenirim hayırlısı.
 
Pic basic programı derlerken önce asm'ye çeviriyor, dikkat ederseniz asm dosyasındaki etiketler LABEL L L00001, LABEL L L00002 gibi isimler almış. Normalde bu program insan elinden çıkmış olsaydı okunabilirliği arttırmak için mutlaka daha anlaşılır etiket adlandırması yapılmış olurdu. Selamlar
 

Yeni mesajlar

Forum istatistikleri

Konular
128,180
Mesajlar
915,674
Kullanıcılar
449,946
Son üye
kerim2756

Yeni konular

Geri
Üst