marți, 30 octombrie 2012

Constante. Logica booleana. Masca

Valori Constante.

    Constantă vom numi un identificator (nume) asociat cu o valoare care nu poate fi modificată în timpul execuției programului. Utilizînd o constantă în locul unei şi aceleiași valori specificate în repetate rânduri, se va obține o simplificare a manipulării și menținerii programului. Mai mult decât atât, dând un nume explicit identificatorului de constantă, valorile definite ca constante vor da o claritate în elaborarea programului și o ușurință în menținerea lui.
    Utilizarea constantelor sporește nivelul de siguranță și reduce riscul de a introuce erori în program.
Dispare necesitatea de a ține minte valori concrete deoarece o denumire se memorizează mai bine. Erorile numelui  se verifică de obicei de compilator automat (în afara de cazurile în care se greșește cu un nume existent de constantă). Totodată introduce o ușurință de a introduce modificări în program, deoarece constanta este definită în program o singură dată, iar modificarea ei va afecta întreg programul în locurile în unde a fost utilizată.

Definirea constantelor

    Valorile constante se definesc o singură dată și iși păstrează valoarea pe întreg procesul de execuție a programului. În limbajul ASM pentru definirea valorilor constante vom avea două directive specializate:

  Directiva .EQU va defini un nume unei valori constante.

   .EQU SIZE = 10
   .EQU PIN7 = 7

  Directiva .DEF va defini un nume suplementar pentru un registru de uz general: 

   .DEF temp = R16

duminică, 28 octombrie 2012

Acces direct la memoria SRAM, Variabile, Operatii cu Variabilele


    Variabilă vom  numi un obiect ce conţine date care pot varia.
    Pentru limbajul ASM o variabilă vom numi o zonă de memorie alocată acestei variabile accesibile după un nume. Numele de variabilă este o eticheta în segmentul de date care reprezintă de fapt adresa către zona de memorie alocată variabilei. Spre deosebire de limbajele de nivel înalt, în ASM nu există tip al variabilei. O variabilă este caracterizată doar de numele acesteia, eticheta, şi volumul de memorie alocat acestei variabile.

    Declararea Variabilei.

    O variabilă se va declara în segmentul de date .DSEG şi va reprezenta o etichetă urmată de o directivă de preprocesare .BYTE care permite rezervarea unei zone de memorie pentru variabila dată.

 .DSEG            ; variabilele for fi declarate in 
                  ; segmentul de date
 var1 : .BYTE 1   ; declaratia variabilei var1 si rezervarea 
                  ; a 1 byte pentru aceasta variabila.
 var1 : .BYTE 2   ; declaratia variabilei var2 si rezervarea 
                  ; a 2 byte pentru aceasta variabila.


luni, 8 octombrie 2012

Realizarea construcţiilor algoritmice de bază: condiţii, selecţie multiplă, cicluri.


  Programarea în limbajul ASM (și nu numai în ASM) se reduce executarea condiționată sau necondiționată a unor instrucțiuni.
    Pentru executarea necondiționată vom avea asa numiții algoritmi seriali, care sunt compuși dintr-o serie de operații de transfer și prelucrare.

    Execuția condiționată presupune execuția unui set de instrucțiuni de transfer sau prelucrare în dependența de o condiție.

    Prin "set de instrucțiuni" vom avea în vedere de la nici o comandă până la secvențe complexe de program.