Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  

CATEGORII DOCUMENTE





AccessAdobe photoshopAlgoritmiAutocadBaze de dateC
C sharpCalculatoareCorel drawDot netExcelFox pro
FrontpageHardwareHtmlInternetJavaLinux
MatlabMs dosPascalPhpPower pointRetele calculatoare
SqlTutorialsWebdesignWindowsWordXml

PROIECT LAAP 'Limbaje de programare si automate programabile'

calculatoare

+ Font mai mare | - Font mai mic







DOCUMENTE SIMILARE

Trimite pe Messenger
SISTEMUL INFORMATIONAL
Planificarea unitatii centrale ( UC )
Delphi - vazut de aproape
Aplicatii de e-guvernare
Ce este thumbs.db, cum poate fi deschis si cum poate fi sters
Administrarea tabelelor Oracle9I
Introducere in VoIP
Perceptia umana si procesarea de imagini
Definitia si rolul sistemelor informatice integrate
TRANSMISIA DE DATE



PROIECT LAAP

'Limbaje de programare si automate programabile'

Specializarea: Automatica si informatica

          Proiect LAAP

Program 1)  Declararea si utilizarea segmentelor individuale.Utilizarea modulului de adresare indexat.

               Muta sirul sir1 la adresa simbolica sir1b si il afiseaza

               Muta sirul sir2 la adresa simbolica sir2b si il afiseaza

            dosseg

            .model small

            .stack

            assume cs:cod1

stiva1   segment public

                        db        200h dup(0)

stiva1   ends

stiva2   segment public

                        db        200h dup(0)

stiva2   ends

dat1     segment public

            sir1       db        'Universitatea Valahia',' '

            lgsir1    db        $-sir1

            sir1b     db        $-sir1 dup(0)

dat1     ends

dat2     segment public

            sir2       db        'Targoviste'

            lgsir2    db        $-sir2

            sir2b     db        $-sir2 dup(0)

dat2     ends

cod1    segment public

            assume ds:dat1,ss:stiva1

            muta1   proc

                        assume ds:dat1

                        mov si,0

                        mov cl,lgsir1 ; 21

            @1:      mov dh,sir1[si]

                        mov sir1b[si],dh

                        inc si

                        dec cl

                        jnz @1

                        ret

            muta1   endp

            muta2   proc

                        assume ds:dat2

                        mov si,0

                        mov cl,lgsir2

            @2:      mov dh,sir2[si]

                        mov sir2b[si],dh

                        inc si

                        dec cl

                        jnz @2

                        ret

            muta2   endp

            disp1    proc

                        assume ds:dat1

                        mov cl,lgsir1

                        mov si,0

                        mov ah,02h

            @3:      mov dl,sir1b[si]

                        int 21h

                        inc si

                        dec cl

                        jnz @3

                        ret

            disp1    endp

            disp2    proc

                        assume ds:dat2

                        mov cl,lgsir2

                        mov si,0

                        mov ah,02h

            @4:      mov dl,sir2b[si]

                        int 21h

                        inc si

                        dec cl

                        jnz @4

                        ret

            disp2    endp

start:                 assume ds:dat1

                        mov ax,dat1

                        mov ds,ax

                        mov ax,stiva1

                        mov ss,ax

                        call muta1

                        call disp1

                        assume ds:dat2

                        mov ax,dat2

                        mov ds,ax

                        mov ax,stiva2

                        mov ss,ax

                        call muta2

                        call disp2

                        mov ah,4ch

                        int 21h

cod1    ends

cod2    segment

                        mov ah,4ch

            int 21h

cod2    ends

                        assume cs:cod2

            end start

                       

           

Program 2)  Declararea si utilizarea segmentelor individuale. Utilizarea modului de adresare bazat-indexat.

               Muta sirul sir1 la adresa simbolica sir1b si il afiseaza

               Muta sirul sir2 la adresa simbolica sir2b si il afiseaza

            dosseg

            .model small

            .stack

            assume cs:cod1

stiva1   segment public 

                                    db        200h dup(0)

stiva1   ends

stiva2   segment public

                                    db        200h dup(0)

stiva2   ends

dat1     segment public

            sir1       db        'Universitatea Valahia',' '

            lgsir1    dw       $-sir1



            sir1b     dw       $-sir1 dup(0)

            ind1      dw       0

dat1     ends

dat2     segment public

            sir2       db        'Targoviste'

            lgsir2    dw       $-sir2

            sir2b     dw       $-sir2 dup(0)

            ind2      dw       0

dat2     ends

cod1    segment public

            assume ds:dat1,ss:stiva1

            muta1   proc

                        assume ds:dat1

                        mov bx,offset sir1

                        mov cx,lgsir1

                        mov si,0

            @1:      mov dx,[bx+si]

                        mov sir1b[bx+si],dx

                        inc si

                        cmp si,cx

                        jne @1

                        ret

            muta1   endp

            muta2   proc

                        assume ds:dat2

                        mov bx,offset sir2

                        mov cx,lgsir2

                        mov si,0

            @2:      mov dx,[bx+si]

                        mov sir2b[bx+si],dx

                        inc si

                        cmp si,cx

                        jne @2

                        ret

            muta2   endp

            disp1    proc

                        assume ds:dat1

                        mov cx,lgsir1

                        mov si,0

                        mov ah,02h

            @3:      mov dx,[bx+si]

                        int 21h

                        inc si

                        cmp si,cx

                        jne @3

                        ret

            disp1    endp

            disp2    proc

                        assume ds:dat2

                        mov cx,lgsir2

                        mov si,0

                        mov ah,02h

            @4:      mov dx,[bx+si]

                        int 21h

                        inc si

                        cmp si,cx

                        jne @4

                        ret

            disp2    endp

start:                 assume ds:dat1

                        mov ax,dat1

                        mov ds,ax

                        mov ax,stiva1

                        mov ss,ax

                        call muta1

                        call disp1

                        assume ds:dat2

                        mov ax,dat2

                        mov ds,ax

                        mov ax,stiva2

                        mov ss,ax

                        call muta2

                        call disp2

                        mov ah,4ch

            int 21h

cod1    ends

cod2    segment           

                        mov ah,4ch

            int 21h

cod2    ends

                        assume cs:cod2

            end start          

Program 3)

Afisarea pozitiilor spatiilor dintr-un sir de caractere

dosseg

            .model small

            .stack 100h     

            .data

sir         db        'Univ Valahia Tgv DB RO'

lg_sir    dw       $-sir

n10      dw       10

            .code

conv     proc

            mov dx,0         

            div n10            

            cmp ax,0         

            jz gata

            push dx                       

            call conv

            pop dx            

gata:     mov al,dl         

            add al,'0'

            mov ah,14

            int 10h

            ret

conv     endp

start:  mov ax,@data

            mov ds,ax

            mov si,-1

@1:     inc si

            cmp si,lg_sir

            je @2

            mov cl,sir[si]

            cmp cl,' '

            jne @1

            mov ax,si

            call conv

            cmp si,lg_sir

            je @2

            jne @1

@2:      mov ah,4ch

            int 21h

            end start

Program 4)

Program afisare numere zecimale  

            dosseg

            .model small

            .stack 100h      ;dimensiunea stivei = 100h

            .data

n10      dw       10

            .code

conv     proc

            mov dx,0          ;conversie 32 biti

            div n10             ;determina cat si rest

            cmp ax,0          ;cat = 0 ?

            jz gata

            push dx                        ;salvare rest in stiva

            call conv

            pop dx             ;refacere rest

gata:     mov al,dl          ;(dl)=rest impartire

            add al,'0'

            mov ah,14

            int 10h

            ret

conv     endp

start:     mov ax,@data  ;

            mov ds,ax         ;incarca adresa segmentului de date

            mov ax,26531  ;introduce numarul de afisat




            call conv          

            mov ah,4ch       ;incarca functia sistem de returnare a promperului DOS

            int 21h

            end start

Problema 5)

Rezolvarea  2x-1; pentru valorile 1,2,3,4,5

dosseg

            .model small

            .stack 100h

            .data

valx      db 1,2,3,4,5

lg_valx  dw $-valx

rez        db ?

            .code

start:     mov ax,@data

            mov ds,ax

            mov si,0

@1:      mov al,2

            mul valx[si]

            sub al,1

            mov rez[si],al

            inc si

            cmp si,lg_valx

            jne @1

            mov si,0

            mov ah,02h

@2:      mov dl,rez[si]

            add dl,30h

            int 21h

            inc si

            cmp si,lg_valx

            jne @2

            mov ah,4ch

            int 21h

            end start

Program 6) 

Procedura pentru ecuatia 2x -1 ; pentru valorile 1,2,3,4,5

dosseg

            .model small

            .data

            val db 1,2,3,4,5

            lg_val dw $-val

            rez db ?

            .code

afisare proc

            mov ah, 2

            mov si, 0

@3:      mov dl, rez[si]

            add dl, 30h

            int 21h

            mov dl, ' '

            int 21h

            inc si

            cmp si, lg_val

            jne @3

            ret

afisare endp

calcul  proc

            mov si, 0

@2:

            mov al, 2

            mul val[si]

            sub al, 1

            mov rez[si], al

            inc si

            cmp si, lg_val

            jne @2

            ret

calcul  endp

Problema 7) 

Factorial

            dosseg

            .model small

            .data

val  db    3

rez  db    ?

            .code

start:  mov ax,@data

            mov ds,ax

            mov cl,0

            mov al,1

@1:     inc cl

            mul cl

            cmp cl,val

            jne @1

            mov rez,al

            mov ah,02h

            mov dl,rez

            add dl,30h

            int 21h

            mov ah,4ch

            int 21h

            end start

Problema 8)

Afisarea primului character din sirul ‘ABC’

dosseg

            .model small

            .stack 100h     

            .data    

val        db        1

sir         db        'ABC'  

            .code

start:     mov ax,@data

            mov ds,ax

            mov bl,offset sir

            mov ah,02h

            mov dx,[bx]

            int 21h

            mov ah,4ch

            int 21h

            end start

Problema 9)

Afisarea celui de al 3- lea character din sirul ‘ABC’

            dosseg

            .model small

            .stack 100h     

            .data    

val        db        1

sir         db        'ABC'  

            .code

start:     mov ax,@data

            mov ds,ax

            mov bl,offset sir

            mov ah,02h

            mov dx,[bx+2]

            int 21h

            mov ah,4ch

            int 21h

            end start

Problema 10)

Permutarea circulara al unori valori de octetla dreapta a sirului de caractere ‘ABC’

dosseg

            .model small

            .stack 100h

            .data

sir         db 'ABC'

lg_sir    dw $-sir

            .code

start:     mov ax,@data

            mov ds,ax

            mov dl,sir+2

            mov al,sir+1

            mov sir+2,al

            mov al,sir

            mov sir+1,al

            mov sir,dl

            mov si,0

            mov ah,02h

@1:      mov dl,sir[si]

            int 21h

            inc si

            cmp si,lg_sir

            jne @1

            mov ah,4ch

            int 21h

            end start

Problema 11)

Afisarea unui sirului de caractere “Universitatea Valahia”



dosseg

            .model small

            .data

sir         db        'Universitatea Valahia'

lg_sir    dw       $-sir

            .code

start:     mov ax,@data

            mov ds,ax

            mov si,0

            mov ah,02h

@1:      mov dl,sir[si]

            int 21h

            inc si

            cmp si,lg_sir

            jne @1

            mov ah,4ch

            int 21h

            end start

Problema 12)

Rezolvarea problemei anterioara cu proceduri

dosseg

            .model small

            .data

sir         db        'Universitatea Valahia'

lg_sir    dw       $-sir

            .code

afsir      proc

            mov si,0

            mov ah,02h

@1:      mov dl,sir[si]

            int 21h

            inc si

            cmp si,lg_sir

            jne @1

            ret

afsir      endp

start:     mov ax,@data

            mov ds,ax

            call afsir

            mov ah,4ch

            int 21h

            end start

Problema 13)

Permutarea circulara al unori valori de octet la stanga a sirului de caractere ‘ABC’

dosseg

                        .model small

                        .data

sir db 'abc'

                        .code

start: mov ax, @data

            mov ds, ax

           

            mov dl, sir

           

            mov al, sir+1

            mov sir, al

            mov al, sir+2

            mov sir+1, al

           

            mov sir+2, dl

            mov si, 0

            mov ah, 02h

@1:      mov dl, sir[si]

            int 21h

            inc si

            cmp si, 3

            jne @1

            mov ah, 4ch

            int 21h

end start

                       

                       

Problema 14)

Lungimea sirului

dosseg

            .model small

            .stack 100h     

            .data    

val        db        1

sir         db        'ABCDEF'

lg_sir    dw       $-sir    

            .code

start:     mov ax,@data

            mov ds,ax

            mov cx,0

            mov bl,offset sir

            mov ah,02h

@1:      mov dx,[bx]

            int 21h

            inc cx

            cmp cx,lg_sir

            jne @1

            mov ah,4ch

            int 21h

            end start

Problema 15)

dosseg

            .model small

            .stack

            .data

numar   dw 070B4h

            .code

afis_AL proc

            push ax

            push cx

            mov cx, ax

            mov ah, 2   ; afisare prima cifra din AL

            mov dl, cl

            shr dl, 4

            cmp dl, 9

            jng @al_j1

            add dl, 7

@al_j1: add dl, 30h

            mov ah, 2

            int 21h    ; afisare a doua cifra din AL

            mov dl, cl

            shl dl, 4

            shr dl, 4

            cmp dl, 9

            jng @al_j2

            add dl, 7

@al_j2: add dl, 30h

            mov ah, 2

            int 21h

            pop cx

            pop ax

            ret

afis_AL endp

Problema 16)

Spatiul liber in octeti

          dosseg

            .model small

            .stack 100h     

            .data

lg_sir    dw       $-sir

n10      dw       10

            .code

conv     proc

            mov dx,0         

            div n10            

            cmp ax,0         

            jz gata

            push dx                       

            call conv

            pop dx            

gata:     mov al,dl         

            add al,'0'

            mov ah,14

            int 10h

            ret

conv     endp

start:  mov ax,@data

            mov ds,ax

            mov ah,36h

            mov dl,0

            int 21h

            call conv

            mov ah,4ch

            int 21h

            end start








Politica de confidentialitate

DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 821
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2019 . All rights reserved

Distribuie URL

Adauga cod HTML in site