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