Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- org 7c00h
- PUSH CS
- POP DS
- znak_zachety:
- MOV AH, 0Eh
- MOV AL, 62
- INT 10h
- MOV SI, 1000h
- pobieranie:
- MOV AH, 00h
- INT 16h
- CMP AL, 13
- JZ enter
- MOV [SI], AL ;wrzucam znak do pamieci
- INC SI ;zwiekszam adres
- MOV AH, 0Eh
- INT 10h
- JMP pobieranie
- enter:
- MOV AH, 0Eh
- MOV AL, 13
- INT 10h
- MOV AL, 10
- INT 10h
- MOV AL, 00h ;wrzucenie 0x00 na koniec
- MOV [SI], AL
- MOV SI, 1000h ;wracamy na poczatek wprowadzonego polecenia
- MOV DI, cmd_help
- petla: ;sprawdzanie, czy ciag znakow == help\0
- MOV CH, [DI]
- CMP CH, 0
- JZ help
- MOV CL, [SI]
- JZ unknown
- CMP CL, CH
- JNZ unknown
- INC SI
- INC DI
- JMP petla
- help:
- MOV SI, msg_help
- MOV AH, 0Eh
- JMP print
- unknown:
- MOV SI, msg_unknown
- MOV AH, 0Eh
- JMP print
- print:
- MOV AL, [SI]
- CMP AL, 0
- JZ znak_zachety
- INT 10h
- INC SI
- JMP print
- cmd_help DB 'help', 0
- msg_help DB 'Lista polecen:', 13, 10, ' help - wyswietla ten komunikat', 13, 10, 0
- msg_unknown DB 'Nieznane polecenie.', 13, 10, 0
- TIMES 510-($-$$) DB 0
- DW 0xAA55
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement