diff --git a/docs/ops.markdown b/docs/ops.markdown
index 79e04c0224..0df0761f43 100755
--- a/docs/ops.markdown
+++ b/docs/ops.markdown
@@ -186,6 +186,8 @@
* [seekfh](#seekfh)
* [tellfh](#tellfh)
* [writefh](#writefh)
+- [External command Opcodes](#extern)
+ * [execname](#execname)
- [File / Directory / Network Opcodes](#-file--directory--network-opcodes)
* [chdir](#chdir)
* [chmod](#chmod)
@@ -1668,6 +1670,17 @@ Return current access position for an open filehandle.
Output the given object to the filehandle. Returns the number of bytes written.
+# External command Opcodes
+## execname
+* `execname()`
+
+It's used to implement `$*EXECUTABLE` in Perl 6, and is the name of the
+current "executable". So if you run `./perl6-m ....` then it'll be the
+`./perl6-m`. It's actually set at present by passing a `--execname=` argument
+to MoarVM, since `perl6` is actually a shell script. But when we do get to
+providing a fake executable for `perl6` instead, then it'd just initialize it
+to `argv[0]`.
+
# File / Directory / Network Opcodes
## chdir