// Plan 9 assembly - Dhaedalida RabbitStart / RabbitEnd markers (windows/amd64).
//
// Each marker emits `movabs rax, <magic>; ret` byte-for-byte via BYTE directives
// (syntax-neutral and exact). The magic bytes MUST equal DHAE_SIG_RABBITSTART /
// DHAE_SIG_RABBITEND in sdk/dhae_marker_sig.h. NOSPLIT|NOFRAME keeps each marker a
// tiny leaf with no inserted prologue, so the magic sits at offset 2 - well
// within the scanner's 16-byte window.
#include "textflag.h"

// func RabbitStart()
TEXT ·RabbitStart(SB), NOSPLIT|NOFRAME, $0-0
	BYTE $0x48; BYTE $0xB8                            // movabs rax,
	BYTE $0x01; BYTE $0x54; BYTE $0x76; BYTE $0xDE    //   0xD11AE5C0DE765401
	BYTE $0xC0; BYTE $0xE5; BYTE $0x1A; BYTE $0xD1
	RET

// func RabbitEnd()
TEXT ·RabbitEnd(SB), NOSPLIT|NOFRAME, $0-0
	BYTE $0x48; BYTE $0xB8                            // movabs rax,
	BYTE $0x02; BYTE $0x54; BYTE $0x76; BYTE $0xDE    //   0xD11AE5C0DE765402
	BYTE $0xC0; BYTE $0xE5; BYTE $0x1A; BYTE $0xD1
	RET

// func BearStart()
TEXT ·BearStart(SB), NOSPLIT|NOFRAME, $0-0
	BYTE $0x48; BYTE $0xB8                            // movabs rax,
	BYTE $0x05; BYTE $0x54; BYTE $0x76; BYTE $0xDE    //   0xD11AE5C0DE765405
	BYTE $0xC0; BYTE $0xE5; BYTE $0x1A; BYTE $0xD1
	RET

// func BearEnd()
TEXT ·BearEnd(SB), NOSPLIT|NOFRAME, $0-0
	BYTE $0x48; BYTE $0xB8                            // movabs rax,
	BYTE $0x06; BYTE $0x54; BYTE $0x76; BYTE $0xDE    //   0xD11AE5C0DE765406
	BYTE $0xC0; BYTE $0xE5; BYTE $0x1A; BYTE $0xD1
	RET
