Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;==========================================================================
- ;Név:
- ;Neptun kód:
- ;Dátum:
- ;
- ;==========================================================================
- Code Segment
- assume CS:Code, DS:Data, SS:Stack
- Start:
- mov ax, Code
- mov DS, AX
- mov ax,3
- int 10h
- ;==========================================================================
- ;1. feledat:
- ;Karakteres üzemmódban rajzoljon egy rombuszt.
- ;A rombusz egyik csúcsa legyen a 10,10 koordinátán.
- ;
- ;A rombusz mérete és elhelyezkedése az alábbi vázlatnak megfelelő legyen!
- ;
- ; x
- ; x x
- ; x x
- ; x x
- ;x x
- ; x x
- ; x x
- ; x x
- ; x
- ;
- ;
- ;==========================================================================
- mov dx, offset feladat1
- mov ah,9
- int 21h
- ;**************************************************************************
- ;Ide írja a megfelelő programrészt!
- mov ah, 02h
- mov bh, 0
- mov bl, 10 ; y segéd
- mov ch, 10 ; x segéd
- xor cl, cl
- f1l:
- ; jobb felső szár
- mov dh, bl ; sor - y
- mov dl, ch ; oszlop - x
- add dh, cl
- add dl, cl
- int 10h
- mov dl, '*'
- int 21h
- ; bal felső szár
- mov dh, bl ; sor - y
- mov dl, ch ; oszlop - x
- add dh, cl
- sub dl, cl
- int 10h
- mov dl, '*'
- int 21h
- inc cl
- cmp cl, 5
- jnz f1l
- mov bl, 18 ; y segéd
- mov ch, 10 ; x segéd
- dec cl
- f1l2:
- ; jobb alsó szár
- mov dh, bl ; sor - y
- mov dl, ch ; oszlop - x
- sub dh, cl
- add dl, cl
- int 10h
- mov dl, '*'
- int 21h
- ; bal alsó szár
- mov dh, bl ; sor - y
- mov dl, ch ; oszlop - x
- sub dh, cl
- sub dl, cl
- int 10h
- mov dl, '*'
- int 21h
- dec cl
- cmp cl, 255
- jnz f1l2
- ;Eddig
- ;**************************************************************************
- xor ax,ax
- int 16h
- mov ax, 03h
- int 10h
- ;==========================================================================
- ;2. feledat:
- ;Döntse el a megnyomott bilentyűről, hogy számot, vagy betü karaktert
- ;"vitt" be! A ciklusból "ESC" billentyű leütésével lehet kilépni.
- ;Használja a program előre megírt üzeneteit!
- ;==========================================================================
- mov ah, 02h
- mov bh, 0
- mov dl, 0 ;DL:X koordinata
- mov dh, 15 ;DH:Y koordinata
- int 10h
- mov dx, offset feladat2
- mov ah, 9
- int 21h
- bevitel1:
- mov ah, 02h
- mov bh, 0
- mov dl,0 ;DL:X koordinata
- mov dh,17 ;DH:Y koordinata
- int 10h
- xor ah,ah
- int 16h
- cmp al,27
- jz Feladat2_Vege
- ;**************************************************************************
- ;Ide írja a megfelelő programrészt!
- ; jc - ugrik ha az első kisebb, mint a második
- ; jnc - ugrik ha az első nagyobb, vagy egyenlő, mint a második
- cmp al, 48
- jc f2nsz
- cmp al, 58
- jnc f2nsz
- ; szám
- mov dx, offset uzenetszam
- mov ah, 09h
- int 21h
- jmp bevitel1
- f2nsz:
- ; nem szám
- mov dx, offset uzenetnemszam
- mov ah, 09h
- int 21h
- jmp bevitel1
- ;Eddig
- ;**************************************************************************
- Feladat2_Vege:
- ;==========================================================================
- ;3. feledat:
- ;Karakteres üzemmódban írja ki a képernyőre SI:DI értékét bináris formában!
- ;(Használja a balra rotáló (ROL) utasítást, amely a Carry bitet állítja!)
- ;==========================================================================
- mov ah, 02h
- mov bh, 0
- mov dl,0 ;DL:X koordinata
- mov dh,19 ;DH:Y koordinata
- int 10h
- mov dx, offset feladat3
- mov ah,9
- int 21h
- mov ah, 02h
- mov bh, 0
- mov dl,0 ;DL:X koordinata
- mov dh,21 ;DH:Y koordinata
- int 10h
- mov si, 40
- mov di, 120
- ;**************************************************************************
- ;Ide írja a megfelelő programrészt!
- xor ch, ch
- mov cl, 16
- f3l1:
- rol si, 1
- jc f3l1c
- jmp f3l1nc
- f3l1c:
- mov dl, 49
- jmp f3l1e
- f3l1nc:
- mov dl, 48
- f3l1e:
- mov ah, 02h
- int 21h
- loop f3l1
- mov cl, 16
- mov dl, ' '
- int 21h
- f3l2:
- rol di, 1
- jc f3l2c
- jmp f3l2nc
- f3l2c:
- mov dl, 49
- jmp f3l2e
- f3l2nc:
- mov dl, 48
- f3l2e:
- mov ah, 02h
- int 21h
- loop f3l2
- ;Eddig
- ;**************************************************************************
- xor ax,ax
- int 16h
- mov ax,3
- int 10h
- ;==========================================================================
- ;5. feledat:
- ;Karakteres üzemmódban írja ki a "Indul a görög aludni!" uzenetet!
- ;Használja a meglévő "uzenet5" sztringet!
- ;==========================================================================
- mov dx, offset feladat5
- mov ah,9
- int 21h
- mov ah, 02h
- mov bh, 0
- mov dl,0 ;DL:X koordinata
- mov dh,2 ;DH:Y koordinata
- int 10h
- ;**************************************************************************
- ;Ide írja a megfelelő programrészt!
- mov di, offset uzenet5
- f5l1:
- mov al, [di]
- cmp al, 'I'
- jz f5l1e
- inc di
- jmp f5l1
- f5l1e:
- mov ah, 02h
- f5l2:
- mov dl, [di]
- int 21h
- cmp dl, '!'
- jz f5e
- dec di
- jmp f5l2
- f5e:
- ;Eddig
- ;**************************************************************************
- xor ax,ax
- int 16h
- ;==========================================================================
- ;6. feledat:
- ;Számítsa ki a "muvelet1" sztringben megadott osztást.
- ;A két szájegyet elválasztó "/" szimbólumot nem kell feldolgozni!
- ;A osztás eredményét és maradékát decimális formában írja ki!
- ;==========================================================================
- mov ah, 02h
- mov bh, 0
- mov dl,0 ;DL:X koordinata
- mov dh,4 ;DH:Y koordinata
- int 10h
- mov dx, offset feladat6
- mov ah,9
- int 21h
- mov ah, 02h
- mov bh, 0
- mov dl,0 ;DL:X koordinata
- mov dh,6 ;DH:Y koordinata
- int 10h
- ;**************************************************************************
- ;Ide írja a megfelelő programrészt!
- xor ax, ax
- mov di, offset muvelet1
- mov al, [di] ; osztandó
- inc di ; osztás jel
- inc di
- mov bl, [di] ; osztó
- div bl
- mov bx, ax
- mov ah, 02h
- mov dl, bl
- add dl, 48
- int 21h
- mov ah, 02h
- mov dl, ' '
- int 21h
- mov ah, 02h
- mov dl, bh
- add dl, 48
- int 21h
- ;Eddig
- ;**************************************************************************
- xor ax,ax
- int 16h
- Program_Vege:
- mov ax, 4c00h
- int 21h
- uzenetszam db "Szamjegy lett leutve! $"
- uzenetnemszam db "Nem szamjegy lett leutve!$"
- uzenet5 db "!indula gorog a ludnI"
- muvelet1 db "8/5"
- feladat1 db "Elso feladat: rombusz.$"
- feladat2 db "Masodik feladat: szamjegy bevitele.(ESC=kilepes)$"
- feladat3 db "Harmadik feladat: SI erteke decimalisan.$"
- feladat5 db "Otodik feladat: uzenet kiiras.$"
- feladat6 db "Hatodik feladat: szamolas.$"
- Code Ends
- Data Segment
- Data Ends
- Stack Segment
- Stack Ends
- End Start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement