limbaj de asamblare - cod

Download Limbaj de asamblare - cod

If you can't read please download the document

Upload: dana-mihaela

Post on 05-Feb-2016

17 views

Category:

Documents


2 download

DESCRIPTION

Limbaj de asamblare

TRANSCRIPT

.model small.stack 1024.datavector db 50 dup ('$') layer1 db '[----------------MENU--------------------]',0ah, 0dh, '$' layer2 db '[----------------------------------------]',0ah, 0dh, '$' menu1 db '[ 1. Citire numar ]', 0ah, 0dh, '$' menu2 db '[ 2. Citire lungime vector ]', 0ah, 0dh,'$' menu3 db '[ 3. Citire vector ]', 0ah, 0dh, '$' menu4 db '[ 4. Cautare numar in vector ]', 0ah, 0dh, '$' menu5 db '[ 5. Info ]', 0ah, 0dh, '$' menu6 db '[ 6. Exit ]',0ah, 0dh, '$' menu7 db '[ 7. Afisare nr ]',0ah, 0dh, '$' info db 'Autor: eu', 0ah, 0dh, '$' submenu db 'Introduceti numarul: ',0ah, 0dh, '$' submenu1 db 'Introduceti un numar: ',0ah, 0dh, '$' submenu2 db 'Nu s-a gasit numarul!', 0ah, 0dh, '$' submenu3 db 'Am gasit numarul in vector!',0ah, 0dh, '$' msg db 'Introduceti un vector: ', 0ah, 0dh, '$' msg2 db 'Numarul este:', 0ah,0dh, '$' msg3 db 'Introduceti lungimea vectorului:', 0ah,0dh, '$' newline db 0ah, 0dh, '$'.codemov ax, dgroupmov ds,axmov ah , 09hmov dx, offset layer1int 21h; meniu1mov ah , 09hmov dx , offset meniu1int 21 h; meniu1mov ah , 09hmov dx , offset meniu1int 21 h; meniu1mov ah , 09hmov dx , offset meniu1int 21 h; meniu1mov ah , 09hmov dx , offset meniu1int 21 hstart:mov ah, 08hint 21hcmp al, '1'je op1cmp al, '2'je op2.......jne defaultjmp startop1 : mov ah , 09hmov dx , offset submeniu1int 21hmov ah , 01hint 21hcall citire_nrcall newlineint 21hjmp startop2: mov ah , 09hmov dx, offset newlinemov ah , 09hmov dx, offset msg3int 21hmov ah, 08h int 21hmov lung_vector , almov dx , offset lung_vectorjmp startdefault:call newlinemov ah,9hmov dx, offset defaul1int 21hjmp startop 3: mov ah,09h mov dx, offset newline int 21h mov ah,09h mov dx, offset msg int 21h mov ah,01h int 21h call citire_vector mov ah, 09h mov dx, offset newline int 21hjmp startop4: mov ah, 09h mov dx, offset newline int 21h mov si, offset vector mov al, car call cautare_charjmp startop7: mov ah, 09h mov dx, offset msg2 int 21h mov si, offset nr call afisare_nr jmp startproc citire_nr mov nr, al sub nr, 30h int 21h ret 2citire_nr endpproc afisare_nr mov ah, 09h mov dx, si int 21h ret 2afisare_nr endpproc citire_vector mov vector[0], 48 lea dx, vector mov ah,0ah int 21h mov ch, 0 mov cl, vector[1] add cx, 5 mov si, cx mov vector[si], '$' ret citire_vector endpproc cautare_char ;{ mov ah, 9 mov dx, offset submenu int 21h mov ah, 01h int 21h mov car, al mov si, 2 mov bl, carcautare_car: cmp vector[si], '$' je op3_nu_e cmp vector[si], bl je op3_da inc si jmp cautare_carop3_nu_e: mov ah, 09h mov dx, offset newline int 21h mov ah, 9 mov dx, offset submenu2 int 21h jmp start op3_da: mov ah, 09h mov dx, offset newline int 21h mov ah, 9 mov dx, offset submenu3 int 21h jmp start ;}cautare_char endp end