Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Progr segment
- assume cs:Progr, ds:dane, ss:stosik
- start:
- mov ax,dane
- mov ds,ax
- mov ax,stosik
- mov ss,ax
- mov ax,offset szczyt
- mov sp,ax
- ; PROGRAM
- mov al, 0h
- mov ah, offset MINUS ; wpisujemy do akumulatora zanegowany znak
- mov bh, offset PLUS ; pierwszy znak lini
- mov cl, 7d ; bok-2
- mov ch, 9d ; licznik znakow (wartosc: bok)
- ;sub cl, 2
- call NAGLOWEK ; f. rysujaca gorna linie znakow
- call LINIA
- powrot9:
- mov dx, offset NL
- mov ah, 9
- int 21h
- mov ch, 9d ; resetujemy licznik znakow (wartosc: bok)
- mov ah, bh
- call NAGLOWEK ; rysujemy dolna linie
- call ZAKONCZ ; koniec programu
- NAGLOWEK:
- WYPISUJ:
- ;push ax
- call ODWROC ; odwracamy znak w akumulatorze
- mov dl, ah
- mov dh, 0h
- mov ah, 9
- int 21h
- mov ah, dl
- dec ch
- cmp ch, 0
- jnz WYPISUJ ; jezeli L != 0 to wracamy do pisania
- ret
- ODWROC:
- cmp ah, offset PLUS ; porownujemy
- jnz WPISZ_PLUS ; jezeli != 0 to zamieniamy na +
- jz WPISZ_MINUS ; jezeli 0 to nasz znak byl + i zam.
- ret
- WPISZ_PLUS:
- mov ah, offset PLUS ; wpisujemy do akumulaotra
- ret
- WPISZ_MINUS:
- mov ah, offset MINUS ; wpisujemy do akumulaotra
- ret
- LINIA: mov ch, 9d ; resetujemy licznik znakow] (wartosc: bok)
- sub ch, 2
- call SRODEK ; przechodzimy do funkcji piszacej
- dec cl ; dekrementujemy licznik linii
- cmp cl, 0
- jnz LINIA
- jmp powrot9
- SRODEK:
- mov dl, offset NL
- mov dh, 0h
- mov ah, 9
- int 21h
- mov ah, bh
- call ODWROC
- mov bh, ah
- mov dl, ah
- mov dh, 0h
- mov ah, 9
- int 21h
- call SPACJE
- mov ah, bh
- call ODWROC
- mov dl, ah
- mov dh, 0h
- mov ah, 9
- int 21h
- ret
- SPACJE:
- mov dl, offset SPACJA
- mov dh, 0h
- mov ah, 9
- int 21h
- dec ch
- cmp ch, 0
- jnz SPACJE
- ret
- ; KONIEC
- ZAKONCZ:
- mov ah,4ch
- mov al,0
- int 21h
- Progr ends
- dane segment
- PLUS db '+$'
- MINUS db '-$'
- SPACJA db ' $'
- NL db 0Ah,'$'
- BOK db 10h
- dane ends
- stosik segment
- dw 100h dup(0)
- szczyt Label word
- stosik ends
- end start
Add Comment
Please, Sign In to add comment