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

📄 op50n-io.s

📁 俄罗斯高人Mamaich的Pocket gcc编译器(运行在PocketPC上)的全部源代码。
💻 S
字号:
/* op50n-io.S -- low-level I/O routines for the Oki OP50N eval board. * * Copyright (c) 1995 Cygnus Support * * The authors hereby grant permission to use, copy, modify, distribute, * and license this software and its documentation for any purpose, provided * that existing copyright notices are retained in all copies and that this * notice is included verbatim in any distributions. No written agreement, * license, or royalty fee is required for any of the authorized uses. * Modifications to this software may be copyrighted by their authors * and need not follow the licensing terms described here, provided that * the new terms are clearly indicated on the first page of each file where * they apply. */mon_start       .EQU    0xd0000000where_dp        .EQU    mon_start+4*4where_ci        .EQU    mon_start+14*4where_co        .EQU    mon_start+15*4where_read	.EQU	mon_start+22*4where_write	.EQU	mon_start+23*4/*  *int c = inbyte(wait); */	.space $TEXT$	.align 4        .EXPORT inbyte,CODE,ARGW0=GR,RTNVAL=GRinbyte	.PROC	.CALLINFO CALLER,FRAME=64,SAVE_RP	.ENTRY        stw     %r2,-20(0,%r30)        ldo     64(%r30),%r30        stw     %r27,-56(0,%r30) 	; save my dp 	ldil    l%where_dp,%r27    	; load monitors dp	ldw	r%where_dp(0,%r27),%r27	ldil	l%where_ci,%r1	ldw	r%where_ci(0,%r1),%r1        ble     0(0,%r1)        copy    %r31,%r2        ldw     -56(0,%r30),%r27 	; load my dp        ldw     -84(0,%r30),%r2        ldo     -64(%r30),%r30        bv      %r0(%r2)	nop        .EXIT        .PROCEND /* int c = outbyte(c);*/        .EXPORT outbyte,CODE,ARGW0=GR,RTNVAL=GRoutbyte        .PROC        .CALLINFO CALLER,FRAME=64,SAVE_RP        .ENTRY        stw     %r2,-20(0,%r30)        ldo     64(%r30),%r30        stw     %r27,-56(0,%r30) 	; save my dp 	ldil    l%where_dp,%r27    	; load monitors dp	ldw	r%where_dp(0,%r27),%r27	ldil	l%where_co,%r1	ldw	r%where_co(0,%r1),%r1        ble     0(0,%r1)        copy    %r31,%r2        ldw     -56(0,%r30),%r27 	; load my dp        ldw     -84(0,%r30),%r2        ldo     -64(%r30),%r30        bv      %r0(%r2)	nop        .EXIT        .PROCEND#if 0/* cnt = read(fd, bufp, cnt);*/	.EXPORT	read,CODE,ARGW0=NO,ARGW1=NO,ARGW2=NO,ARGW3=NO,RTNVAL=NOread	.PROC	.CALLINFO FRAME=64,CALLS,SAVE_RP	.ENTRY	stw	%r2,-20(0,%r30)	ldo	64(%r30),%r30	stw	%dp,-56(0,%r30)	; save my dp	ldil	l%where_dp,%dp	; load monitors dp	ldw	r%where_dp(0,%dp), %dp	ldil	l%where_read,%r1	ldw	r%where_read(0,%r1), %r1	ble	0(0,%r1)	copy	%r31,%r2	ldw	-56(0,%r30),%dp	; load my dp	ldw	-84(0,%r30),%r2	bv	%r0(%r2)	ldo	-64(%r30),%r30	.EXIT	.PROCEND/* cnt = write(fd, bufp, cnt);*/	.EXPORT	write,CODE,ARGW0=NO,ARGW1=NO,ARGW2=NO,ARGW3=NO,RTNVAL=NOwrite	.PROC	.CALLINFO FRAME=64,CALLS,SAVE_RP	.ENTRY	stw	%r2,-20(0,%r30)	ldo	64(%r30),%r30	stw	%dp,-56(0,%r30)	; save my dp	ldil	l%where_dp,%dp	; load monitors dp	ldw	r%where_dp(0,%dp), %dp	ldil	l%where_write,%r1	ldw	r%where_write(0,%r1), %r1	ble	0(0,%r1)	copy	%r31,%r2	ldw	-56(0,%r30),%dp	; load my dp	ldw	-84(0,%r30),%r2	bv	%r0(%r2)	ldo	-64(%r30),%r30	.EXIT	.PROCEND#endif

⌨️ 快捷键说明

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