Haberler:

Foruma Resim Yükleme ve Boyut Sınırlaması ( ! )  https://bit.ly/2GMFb8H

Ana Menü

code crosses boundary?

Başlatan ilker_32, 22 Mart 2009, 22:22:17

ilker_32

Alıntı YapCompiler Warning Messages such as...

'...[102] code crosses boundary

are there to tell you (as if you really wanted to know) that your program code has exceeded one Page Boundary (at 2k) and has moved into another.

There will another message at 1000h (4k), and another at 1800h (6k) and again at 2000h (8k). When you write big programs you'll end up with quite a collection of them.

What's the meaning of this warning?

There are a number of Assembler instructions that only work correctly within a Page Boundary, this is just a reminder to you (as the programmer) that this has happened.

And what must I do?

Nothing. It's just a reminder. PIC Basic handles everything for you with two exceptions...

1. Use of the PIC Basic BRANCH Command.

If you have used this command, consider using it's bigger brother BRANCHL. See the PIC Basic manual for the salient differences.

2. You've got embedded ASSEMBLER within your Basic Code.

Then this reminder is for you to check whether incrementing across a Page Boundary will affect usage of Page Select Registers PA0 & PA1 or PCLATH. If you are performing forward jumps, your code may not land where you expect it to.

Where can I find more information about these messages?

In your installation directory of your MeLabs compiler, you will find a file called PM.TXT. Open it up and have a look. This is the manual for the PM Assembler. All the messages, Warnings and Errors are listed inside by number.

Hands-up everybody that's seen Error 300? That's the excuse you've got for keeping an 'emergency' crate of Beer in the fridge...

İyi günler,

Yukarıda bahsettiğim uyarı mesajını PIC16F628'de almazken 16F877'de alıyorum. Kodlar aynı kodlardır. Bunun sebebi nedir? Ve birde bu uyarı mesajı PBP'de View/Editor options adresine giderek kapatacağımı söylemişler orada bu seçeneği bulamıyorum.

Uyarının ne anlatmak istediğini biliyorum. Zaten uyarı hakkında detaylı bilgi için "PM.txt" içine bakın demiş.

tyildizak

Alıntı yapılan: "ilker_32"
Alıntı Yap
And what must I do?

Nothing. It's just a reminder.  

problem yok, ilk program sayfasını geçtiğinizi bildiriyor sadece(2k word)

16f628'de bu uyarıyı vermemesi ilginç, derlemeden sonra sol altta derlenen word sayısı belirtiliyor,  16f628'de 2k'yı geçmiyor olmalı her nasılsa..

Tagli

Belki de PBP, mevcut hafızaya göre programı farklı derliyordur. Bazı durumlarda aynı işi yapan bir kodu program hafızasında daha fazla yer kaplayacak ama daha hızlı ve verimli çalışacak şekilde yazmak mümkündür. 16F877'de hafızayı bol bulunca kodu daha fazla yer kaplayacak şekilde derlemiş olabilir.

Tabi bunları bir şeye dayanarak söylemiyorum. Sadece okuyunca aklıma ilk gelen ihtimal buydu, paylaşayım dedim...
Gökçe Tağlıoğlu

agora_meyhanesi42

Wiew/Editor Options önüne gelen pencerede en alttaki seçenegi aktif et "Disable 'Code crosses boundary' ASM Warning"
Yüksel Türk ! Senin için yükselmenin hududu yoktur...

ilker_32

Sağolun sizleri iyi anlıyorum.