Podminka v ASM – Assembler – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Podminka v ASM – Assembler – Fórum – Programujte.comPodminka v ASM – Assembler – Fórum – Programujte.com

 

Mutagen0
Super člen
9. 1. 2012   #1
-
0
-

Zdravim.

Chcel bych se zeptat jak by se resila podminka v ASM na porovnani zadane hodnoty s promennou? (Jedna se o PIC ale bohuzel nevim jaky cislo)

Pokud by byla promenna mensi rozsvitila by se LED0 a pokud vetsi tak LED7.

Poradite prosim? Díky moc

Nahlásit jako SPAM
IP: 89.190.90.–
KIIV
~ Moderátor
+43
God of flame
9. 1. 2012   #2
-
0
-

obvykle nahrajes promennou do w a pak od ni odectes tu hodnotu co chces...

pak muzes rozlisit  mensi nez nula, nula,  vetsi nez nula...

pic maj jen vetveni ze zadas "kdyz je tendle flag 0 tak preskoc nasledujici instrukci" kde muze byt goto nebo podprocedura... (nesmis zapomenout ze ma omezene zanoreni maximalne do 4 urovni)

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Mutagen0
Super člen
9. 1. 2012   #3
-
0
-

#2 KIIV
Jo dik za ujasneni v teorii ale jak by to vypadalo v praxi ? nemohl bys me to nejak ukazat?

Ja jen ze vim jak bych to resil v C pro PIC ale v ASM vubec a ani prikazy nejak nevim jaky bych mel pouzit (ale jak rozeznam jestli je mensi nez nula nebo vetsi nez nula?)

Sem v tom zacatecnik tak ne nejak moc odborne delame s tim ve skole doma nemam jak protoze nemam vyvojovej kit

Nahlásit jako SPAM
IP: 89.190.90.–
KIIV
~ Moderátor
+43
God of flame
9. 1. 2012   #4
-
0
-

projdi si instrukcni sadu... co to umi co to dela, co to ovlivnuje.. pak se da pohnout

presun promenne do w registru:    movf adresa, w

odecitani:  sublw  (akorat to odecita w od konstanty.. tak nezapomenout)

a na porovnani pak BTFSC nebo BTFSS  ... musis zjistit jaky flagy sou nastaveny po odecitani kdyz je to vetsi/mensi a porovnat

preskakuje to jen nasledujici instrukci tak s tim pocitat

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
KIIV
~ Moderátor
+43
God of flame
9. 1. 2012   #5
-
0
-

pripadne se da i opacne..  movlw -> nahrani konstanty do w,  subwf  registr, w ;  odecteni w od registru a ulozit vysledek do w ... a tak dale

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Mutagen0
Super člen
9. 1. 2012   #6
-
0
-

Jo dík za ujasneni ... Sice porad to trochu nechapu ale co sem tak pochopil tak odecist konstatnu o promenny a pak porovnat jestli je vetsi nebo ne ...

Nahlásit jako SPAM
IP: 89.190.90.–
KIIV
~ Moderátor
+43
God of flame
9. 1. 2012   #7
-
0
-

proste tydle pocetni operace po sobe nechavaj nastaveny flagy (registr status) takze musis akorat otestovat ty spravny a podle nich pak preskakat neco...

Nahlásit jako SPAM
IP: 94.112.32.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Kolemjdoucí
~ Anonymní uživatel
71 příspěvků
8. 4. 2012   #8
-
0
-

Pokud se tu bavíte o MPLABu (případně o MPASM), tak zná klasické IF-ELSE-ENDIF (ano, skutečně i ten "assembleří" překladač). Jak jednoduché...

Nahlásit jako SPAM
IP: 213.192.34.–
host
~ Anonymní uživatel
17 příspěvků
11. 6. 2012   #9
-
0
-

asembler H8S:

mov.l #hodnota ER1

mov.l #hodnota ER2

cmp.l ER1,ER2

bne - skoc kdyz se nerovnaji - navesti

beq - skoc kdyz se rovnaji - navesti

bls - kdyz je mensi nebo roven

.... prikazy podmineneho skoku jsou taky v instrukčním souboru

Nahlásit jako SPAM
IP: 88.102.250.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 19 hostů

Podobná vlákna

Asm v C++ — založil Sir_E

Násobení v ASM — založil AIPHEE

Asm 8086: OUT DX,AX — založil Mircosoft

ASM v gcc a C99:? — založil Jonáš

Asm - tlink - pomoc — založil Jaroslav

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý