Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bits 16 ; 16-bitovy rezim
- %include "rw.asm" ; natazeni knihovny rw.asm (viz soubor rw.asm)
- segment code ; definice zacatku kodoveho segementu
- ;;;;;;;;;;;;;;;;;;
- mezera:
- push bp
- mov bp, sp
- mov dl, 13
- mov ah, 2
- int 21h
- mov dl, 10
- mov ah, 2
- int 21h
- mov sp, bp
- pop bp
- ret
- pridejLom: ; prida dolar na konec a do si uloz konce retezce (na pozici dolar)
- push bp
- mov bp, sp
- znovu:
- mov dl, [si]
- cmp dl, 0
- je dolar
- inc si
- jmp znovu
- dolar:
- mov [si], word 92; vloz zpetne lomitko
- mov sp, bp
- pop bp
- ret
- zpracujLom:
- push bp
- mov bp, sp
- push si
- inc si
- zzz:
- mov dl, [si]
- cmp dl, 92
- je hhjh
- mov ah, 2
- int 21h
- inc si
- jmp zzz
- hhjh:
- call mezera
- pop si
- mov sp, bp
- pop bp
- ret
- ..start:
- prologue
- mov ah, 19h ; disk (hodnota v al)
- int 21h
- mov dl, al
- add dl, 65
- mov ah, 2
- int 21h
- mov dl, 58
- mov ah, 2
- int 21h
- call mezera ; konec disku
- mov si, path ; rezervuj misto v pameti.
- mov dl, 0
- mov ah, 47h
- int 21h ; precti adresar
- call pridejLom
- dec si
- mov bx, si
- dec bx ; v bx konec pasaze
- zno:
- mov dl, [si]
- cmp si, path
- je konec
- cmp dl, 92 ;porovnej ze zpetnym lomitkem
- jne pokr
- call zpracujLom
- pokr:
- dec si ;;;;;;;;
- jmp zno
- konec:
- dec si
- call zpracujLom
- epilogue ; makro -- predani rizeni DOS (viz rw.asm)
- segment DATA ; definice zacatku datoveho segmentu
- path resb 200
Add Comment
Please, Sign In to add comment