help with drscan command

I am looking at using the telnet commands to do some low level JTAG commands using OpenOCD

here’s what I’m looking at the momement

endstate rti

irscan 0 0x5 #Set to EXTEST on my device

var data 16 #create a space for data

field data 0 0xBEEF #Define data’s value

drscan 0 data #???

var data #display value of data

Does this implementation of drscan push data onto the JTAG chain like this:

0xBEEF->[0x0001]->Data Out

^data ^Boundry Scan Registers

Shift right 1 time…

0x5F77->[0x8000] → 1 (data pushed out is 1)

Repeat this process 16 times (so our new word is the boundry scan register)

Now this may have been confusing, but at the root of what I’m looking for is how the drscan command works.