Interpret DOGO!

Python 3, 388 398 373 371 bytes

Assumes 256 memory cells. Just a straightforward implementation, easily beatable, probably can be golfed more. Try it on repl.it.

Thanks to @EasterlyIrk for having me realize that Python 3 is much shorter that Python 2.

EDIT: Realized I only accounted for over/underflow while printing, not in actual value.

Thanks to @KevinLau-notKenney for saving 25 (!) bytes with list multiplication and inversion operator tricks

EDIT: -3 bytes by putting 256 into a variable, -4 messing with operators, +8 making sure it is lowercase

def p(s):
 b=256
 l,m=[w[-1]for w in s.lower().split()],[0]*b
 i=p=x=0
 while x<len(l):
  c=l[x]
  if'm'>c:
   if 1>i:m[p]=-~m[p]%b
   if 1==i:m[p]=~-m[p]%b
   if 2==i:p=-~p%b
   if 3==i:p=~-p%b
   if 4==i:m[p]=ord(input()[0])
   if 4<i:print(chr(m[p]),end="")
  if'r'==c:i=-~i%6
  if't'==c and m[p]<1:x+=l[:x].index('y')
  if'x'<c and m[p]>0:x-=l[x::-1].index('t')
  x+=1