⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prtst68k.lib

📁 open source of basic interpreter of 68
💻 LIB
字号:
*
*  prtst68k.lib      print a constant string to the console (68xxx)
*
*  This routine prints an embedded string to the output device that
*  responds to the outch subroutine.  See the file outch68k.lib for
*  details on the low-level outch function.
*
*  This routine expects the address of the in-line string in the
*  top of the stack.  This is accomplished by code such as:
*
*      jsr   _prtstrc
*      dc.b   13
*      dc.b   'hello, world!'
*      even
*      <next instruction>
*
*  Note that the embedded string must contain the string length in the
*  first byte of the string.
*
*  This routine preserves all registers.
*

_prtstrc
	movem.l	a0/d0/d1,-(a7)	save regs
	movea.l	12(a7),a0	get addr of string (return addr on stack)
	clr.l	d1		force d1 to 0
	move.b	(a0)+,d1	move count to d1
	subq.b	#1,d1		adjust for loop
_prtstrc0
	move.b	(a0)+,d0	get a byte
	jsr	_outch		print a byte
	dbra	d1,_prtstrc0	loop until done
	move.l	a0,d0		get final address
	btst	#0,d0		test low bit
	beq	_prtstrc1	branch if even address
	addq.l	#1,d0		adjust for even address
_prtstrc1
	move.l	d0,12(a7)	overwrite return address
	movem.l	(a7)+,a0/d0/d1	restore regs
	rts

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -