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
TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
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
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)
#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
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
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é...
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
Zjistit počet nových příspěvků
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
































© 2003–2026 Programujte.com