Plan 9 from Bell Labs’s /usr/web/sources/contrib/steve/root/sys/src/c++/lib/task/vax/label.s

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


	.globl _setlabel
	.align	1
_setlabel:
	.word	0x0
	movl	4(ap),r2
	movl	16(fp),(r2)		#pc
	movl	12(fp),8(r2)		#fp
	movl	8(fp),12(r2)		#ap
	movl	20(fp),r3		#number of longs to pop
	mull2	$4,r3			#cvt to bytes
	addl2	$20,r3
	addl3	r3,fp,4(r2)		#sp
	movl	r6,16(r2)		#store the saved regs
	movl	r7,20(r2)
	movl	r8,24(r2)
	movl	r9,28(r2)
	movl	r10,32(r2)
	movl	r11,36(r2)
	clrl	r0
	ret

	.globl _gotolabel
	.align	1
_gotolabel:
	.word	0x0
	movl	4(ap),r0		#return value
	movl	8(ap),r2
	movl	(r2),r3			#get the pc
	movl	16(r2),r6		#restore the saved regs
	movl	20(r2),r7
	movl	24(r2),r8
	movl	28(r2),r9
	movl	32(r2),r10
	movl	36(r2),r11
	movl	12(r2),ap		#ap
	movl	8(r2),fp		#fp
	movl	4(r2),sp		#sp; this has to be next to last
	jmp	(r3)			#pc
	calls	$0, _abort

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.