Ga Bit commando in 89s52

J

Js_Ong

Guest
Hi all,

Ik ben het schrijven van assembler programma met behulp van AT89S52.Wanneer kom mee naar JB P0.6, LOOP, de LOOP adres is te ver, het bereik van JB heeft de overschreden.deze oorzaak fout bij compilling de HEX-bestand.wat moet ik doen?

 
De JB gebruikt realtive adres bereik welk adres betekent dat de bestemming kan niet verder dan A127 bytes vanaf het oorspronkelijke instrution.

U kunt dit oplossen door gewoon te springen om een dummy adres vanwaar je kunt springen exexute een ander onvoorwaardelijk.Bijvoorbeeld:

JB P0.6, Dum_Loop; Dum_Loop in plaats van de veel Loop
---
---
---
JMP Spring, dit is gewoon overslaan dummy springen en je mag het niet nodig
Dum_Loop:
JMP Loop
Spring:
---
---
Loop:; de oorspronkelijke bestemming
---

 

Welcome to EDABoard.com

Sponsor

Back
Top