Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .model small
- .stack 100h
- .data
- request db 'Programa kuri patikrina kurie skaiciai/simboliai sutampa su paskutiniu', 0Dh, 0Ah, 'Iveskite simboliu eilute:', 0Dh, 0Ah, '$'
- result db 0Dh, 0Ah, 'Result:', 0Dh, 0Ah, '$'
- buffer db 255, ?, 255 dup (0) ;Eilute issaugai cia
- enteris db 0Dh, 0Ah,'$'
- .code
- proc spausdinkCL near
- push dx
- push ax
- mov dl, cl
- mov ah, 02h
- int 21h
- pop ax
- pop dx
- ret
- endp
- start:
- mov ax, @data
- mov ds, ax
- ;spausdinam Pasisveikinimo Žinute
- mov ah, 9d
- mov dx, offset request
- int 21h
- ;vykdom nuskaityma (int 21h, AH 0Ah)
- mov ah, 0Ah
- mov dx, offset buffer
- int 21h
- ;pereinam i kita eilute spausdindami enteris simboliu seka
- mov ah, 9
- mov dx, offset enteris
- int 21h
- mov ax, 0 ; nusinuliname ax registra, jis bus naudojamas laikyti einamaji skaiciu
- mov bx, 0
- mov bl, byte ptr [buffer+1] ; isidedam, kiek simboliu nuskaityta, nuskaite ir 0Dh, tai vienu pamazinam
- mov dl, byte ptr [buffer+1+bx] ; +2 nes pirmi du baitai nera musu ivesti simboliai
- ; al laikys einamaji simboli,
- ; bx kiek is viso simboliu suvesta,
- ; dl paskutini simboli
- mov si, 0
- loopPradzia:
- inc si
- cmp dl, byte ptr[buffer+si+1] ; +1 nes si startavom vienu mazesniu
- jne loopPabaiga
- ; dl == buffer+si
- ; reiskia reikia spausdint si
- mov cx, si
- add cl, '0'
- call spausdinkCL
- mov cl, ' '
- call spausdinkCL
- loopPabaiga:
- cmp bx,si
- jne loopPradzia
- mov ah, 4ch
- int 21h
- end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement