Advertisement
Guest User

Task 1

a guest
Jun 7th, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.         org 100h
  2.         use16
  3.  
  4. Start:
  5.         push    char
  6.         push    string
  7.  
  8.         call    SearchChar
  9.  
  10.         ; AX contains number of symbol (from 1)
  11.         ; if 0 then symbol not founded
  12.  
  13.         ret
  14.  
  15. SearchChar:
  16.         push    BP
  17.         mov     BP, SP
  18.  
  19.         mov     BX, [BP + 6]
  20.         mov     AL, byte[BX]
  21.  
  22.         mov     BX, [BP + 4]
  23.  
  24.         mov     DI, -1
  25. Cycle:
  26.         inc     DI
  27.  
  28.         cmp     byte[BX + DI], 0
  29.         je      NotFound
  30.  
  31.         cmp     AL, byte[BX + DI]
  32.         jne     Cycle
  33.  
  34.         inc     DI
  35.         jmp     ProcEnd
  36.  
  37. NotFound:
  38.         mov     DI, 0
  39.  
  40. ProcEnd:
  41.         mov     AX, DI
  42.  
  43.         pop     BP
  44.         ret     4
  45.  
  46. string  db      'abracadbr', 0
  47. char    db      'd'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement