B
Buriedcode
Guest
Salve,
Sto progettando un controller PWM per PIC, ho spiegato i miei algoritmo in un altro argomento, tuttavia, richiede che ho messo il contenuto di 3 registri in ordine di grandezza.Inoltre, per tenere traccia di registro che il contenuto proviene da un ulteriore 3 registri che hanno un valore che rappresenta il suo registro da .... hope
you're ancora con me
<img src="images/smiles/icon_biggrin.gif" alt="Molto Felice" border="0" />Così, per esempio, dire che ho 3 registri, chiamati A, B e C. Ho messo a caso, un numero a 8 bit in ognuno.Ho bisogno di avere 6 registri in uscita ..... io li chiamano:
'piccolo', 'medio' e 'grande'.Inoltre, per tenere traccia whats sul contenuto a cui appartiene registro (A, B o C), gli altri 3 registri in uscita sono 'smlreg' 'midreg' e 'lrgreg'.Dire, il contenuto della 'A' la registrazione, è il più piccolo di tutti e 3, che contiene il valore decimale'23 '.Vorrei mettere
di 23 'nel' piccolo 'registrare e mettere a'1' nel 'smlreg' registro.Forse il contenuto di 'C' è il valore medio, quindi vorrei mettere il contenuto di esso nel 'mezzo' registrare e mettere'3 'in' midreg 'registro.(quindi,
i contenuti di 'B' andare nella 'grande' reg ', con'2' in 'lrgreg' registro.
Ora, mi rendo conto che la sua realtà complessa, e di qualsiasi livello superiore lingue potrebbe farlo in picche (PICbasic, C ecc.) Ma vorrei fare presente in assemblea.
Ho letto un po 'su' condizionato 'assemblea, e ho visto il codice scritto in forma:
SE tempreg> 0x7F
[Fate qualcosa]
Elseif tempreg <0x26
[Fate qualcos'altro]
ELSE
[lasciare tutto da sola]
ENDIF
Ora, io sono sicuri di quello che posso fare con questo?E 'per' operazioni di bit '(come il controllo di Porta 7 bit, e le bandiere) o può essere utilizzato per comparare il contenuto dei registri?(come se temp1> temp2).L'unico contesto che ho visto questo calcolo è utilizzato ritardi.
Ora, io
sono ancora abbastanza nuovo per il montaggio, e posso solo supporre che si tratta di una sorta di 'macro' MPASM che usi, e l'output di codice (hex) sarebbe in realtà prendere più di 1 ciclo di istruzione 'SE', perché il compilatore avrebbe sostituirla con istruzioni che eseguono esattamente ciò che voglio.
Sarebbe il mio algoritmo complesso molto più facile dal momento che ho potuto solo:
SE A> B
movf A, W
movwf HIGHEST
movf B, W
movwf LOWEST
Elseif B <A
movf B, W
movwf HIGHEST
movf A, W
movwf LOWEST
Elseif A = B
si ottiene l'idea ....
<img src="images/smiles/icon_smile.gif" alt="Sorriso" border="0" />Se qualcuno mi potrebbe aiutare con questo algoritmo, o se mi può spiegare in realtà uso 'IF-THEN-ELSE' sui registri e il loro contenuto, Le sarei grato.Se no, allora mi dovrete scrivere il tutto in puro asm, che, francamente, io non vediamo l'ora di
<img src="images/smiles/icon_sad.gif" alt="Triste" border="0" />
Grazie,
BuriedCode.
Sto progettando un controller PWM per PIC, ho spiegato i miei algoritmo in un altro argomento, tuttavia, richiede che ho messo il contenuto di 3 registri in ordine di grandezza.Inoltre, per tenere traccia di registro che il contenuto proviene da un ulteriore 3 registri che hanno un valore che rappresenta il suo registro da .... hope
you're ancora con me
<img src="images/smiles/icon_biggrin.gif" alt="Molto Felice" border="0" />Così, per esempio, dire che ho 3 registri, chiamati A, B e C. Ho messo a caso, un numero a 8 bit in ognuno.Ho bisogno di avere 6 registri in uscita ..... io li chiamano:
'piccolo', 'medio' e 'grande'.Inoltre, per tenere traccia whats sul contenuto a cui appartiene registro (A, B o C), gli altri 3 registri in uscita sono 'smlreg' 'midreg' e 'lrgreg'.Dire, il contenuto della 'A' la registrazione, è il più piccolo di tutti e 3, che contiene il valore decimale'23 '.Vorrei mettere
di 23 'nel' piccolo 'registrare e mettere a'1' nel 'smlreg' registro.Forse il contenuto di 'C' è il valore medio, quindi vorrei mettere il contenuto di esso nel 'mezzo' registrare e mettere'3 'in' midreg 'registro.(quindi,
i contenuti di 'B' andare nella 'grande' reg ', con'2' in 'lrgreg' registro.
Ora, mi rendo conto che la sua realtà complessa, e di qualsiasi livello superiore lingue potrebbe farlo in picche (PICbasic, C ecc.) Ma vorrei fare presente in assemblea.
Ho letto un po 'su' condizionato 'assemblea, e ho visto il codice scritto in forma:
SE tempreg> 0x7F
[Fate qualcosa]
Elseif tempreg <0x26
[Fate qualcos'altro]
ELSE
[lasciare tutto da sola]
ENDIF
Ora, io sono sicuri di quello che posso fare con questo?E 'per' operazioni di bit '(come il controllo di Porta 7 bit, e le bandiere) o può essere utilizzato per comparare il contenuto dei registri?(come se temp1> temp2).L'unico contesto che ho visto questo calcolo è utilizzato ritardi.
Ora, io
sono ancora abbastanza nuovo per il montaggio, e posso solo supporre che si tratta di una sorta di 'macro' MPASM che usi, e l'output di codice (hex) sarebbe in realtà prendere più di 1 ciclo di istruzione 'SE', perché il compilatore avrebbe sostituirla con istruzioni che eseguono esattamente ciò che voglio.
Sarebbe il mio algoritmo complesso molto più facile dal momento che ho potuto solo:
SE A> B
movf A, W
movwf HIGHEST
movf B, W
movwf LOWEST
Elseif B <A
movf B, W
movwf HIGHEST
movf A, W
movwf LOWEST
Elseif A = B
si ottiene l'idea ....
<img src="images/smiles/icon_smile.gif" alt="Sorriso" border="0" />Se qualcuno mi potrebbe aiutare con questo algoritmo, o se mi può spiegare in realtà uso 'IF-THEN-ELSE' sui registri e il loro contenuto, Le sarei grato.Se no, allora mi dovrete scrivere il tutto in puro asm, che, francamente, io non vediamo l'ora di
<img src="images/smiles/icon_sad.gif" alt="Triste" border="0" />
Grazie,
BuriedCode.