Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. org 7c00h
  2.     PUSH CS
  3.     POP DS
  4. znak_zachety:
  5.     MOV AH, 0Eh
  6.     MOV AL, 62
  7.     INT 10h
  8.     MOV SI, 1000h
  9. pobieranie:
  10.     MOV AH, 00h
  11.     INT 16h
  12.     CMP AL, 13
  13.     JZ enter
  14.     MOV [SI], AL    ;wrzucam znak do pamieci
  15.     INC SI            ;zwiekszam adres
  16.     MOV AH, 0Eh
  17.     INT 10h
  18.     JMP pobieranie
  19. enter:
  20.     MOV AH, 0Eh
  21.     MOV AL, 13
  22.     INT 10h
  23.     MOV AL, 10
  24.     INT 10h
  25.     MOV AL, 00h ;wrzucenie 0x00 na koniec
  26.     MOV [SI], AL
  27.     MOV SI, 1000h ;wracamy na poczatek wprowadzonego polecenia
  28.     MOV DI, cmd_help
  29. petla: ;sprawdzanie, czy ciag znakow == help\0
  30.     MOV CH, [DI]
  31.     CMP CH, 0
  32.     JZ help
  33.     MOV CL, [SI]
  34.     JZ unknown
  35.     CMP CL, CH
  36.     JNZ unknown
  37.     INC SI
  38.     INC DI
  39.     JMP petla
  40.  
  41. help:
  42.     MOV SI, msg_help
  43.     MOV AH, 0Eh
  44.     JMP print
  45.  
  46. unknown:
  47.     MOV SI, msg_unknown
  48.     MOV AH, 0Eh
  49.     JMP print
  50.  
  51. print:
  52.     MOV AL, [SI]
  53.     CMP AL, 0
  54.     JZ znak_zachety
  55.     INT 10h
  56.     INC SI
  57.     JMP print
  58.  
  59. cmd_help DB 'help', 0
  60. msg_help DB 'Lista polecen:', 13, 10, '  help - wyswietla ten komunikat', 13, 10, 0
  61. msg_unknown DB 'Nieznane polecenie.', 13, 10, 0
  62.  
  63.  
  64. TIMES 510-($-$$) DB 0
  65. DW 0xAA55
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement