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

📄 powerpc_mach_b.s

📁 system C源码 一种替代verilog的语言
💻 S
字号:
/* speed test for basic CPU operations  *//* Marco Bucci <marco.bucci@inwind.it> *//* This code was developed with the Code Warrior integrate ppc assembler. * Macros are use to hide illegal constructs whether you are using a  * "normal" assembler or the "C integrated" assembler. */#if 0	.text	.align 4		.globl b_call_reg	.globl _b_call_reg	.globl b_call_imm	.globl _b_call_imm	.globl b_add	.globl _b_add	.globl b_load	.globl _b_load.set fsize, 64.set lrsave, 8#else#define fsize 64#define lrsave 8#endif#if 0.if 0#endifasm void b_null(void){#if 0.endif#endif#if 0b_null:#endif	blr#if 0.if 0#endif}#if 0.endif#endif/* actually the same as the following. How to get "b_null" address? * I didnt find the right sintax or the right way. * I should take the current PC, then the difference to "b_null" * (making the difference beween the labels), perform the sum and go?!  */  #if 0.if 0#endifasm void b_call_reg(long n){#if 0.endif#endif#if 0b_call_reg:_b_call_reg:#endif	mflr	r0	stw		r31,-4(r1)	stw		r30,-8(r1)	stw		r0,lrsave(r1)	stwu	r1,-fsize(r1)	mr		r30,r3	li		r31,0		b		L1L0:	bl		b_null	bl		b_null	bl		b_null	bl		b_null	bl		b_null	addi       r31,r31,5L1:	cmpw       r31,r30	blt        L0			lwz        r0,lrsave+fsize(r1)	mtlr       r0	lwz        r31,-4+fsize(r1)	lwz        r30,-8+fsize(r1)	addi       r1,r1,fsize	blr#if 0.if 0#endif}#if 0.endif#endif#if 0.if 0#endifasm void b_call_imm(long n){#if 0.endif#endif#if 0b_call_imm:_b_call_imm:#endif	mflr	r0	stw		r31,-4(r1)	stw		r30,-8(r1)	stw		r0,lrsave(r1)	stwu	r1,-fsize(r1)	mr		r30,r3	li		r31,0		b		L3L2:	bl		b_null	bl		b_null	bl		b_null	bl		b_null	bl		b_null	addi       r31,r31,5L3:	cmpw       r31,r30	blt        L2			lwz        r0,lrsave+fsize(r1)	mtlr       r0	lwz        r31,-4+fsize(r1)	lwz        r30,-8+fsize(r1)	addi       r1,r1,fsize	blr#if 0.if 0#endif}#if 0.endif#endif#if 0.if 0#endifasm void b_add(long n){#if 0.endif#endif#if 0b_add:_b_add:#endif	mflr	r0	stw		r31,-4(r1)	stw		r30,-8(r1)	stw		r0,lrsave(r1)	stwu	r1,-fsize(r1)	mr		r30,r3	li		r31,0		b		L5L4:	addi	r3,r3,5	addi	r4,r4,5	addi	r5,r5,5	addi	r6,r6,5	addi	r7,r7,5	addi	r3,r3,5	addi	r4,r4,5	addi	r5,r5,5	addi	r6,r6,5	addi	r7,r7,5	addi       r31,r31,10L5:	cmpw       r31,r30	blt        L4			lwz        r0,lrsave+fsize(r1)	mtlr       r0	lwz        r31,-4+fsize(r1)	lwz        r30,-8+fsize(r1)	addi       r1,r1,fsize	blr#if 0.if 0#endif}#if 0.endif#endif#if 0.if 0#endifasm void b_load(long n){#if 0.endif#endif#if 0b_load:_b_load:#endif	mflr	r0	stw		r31,-4(r1)	stw		r30,-8(r1)	stw		r0,lrsave(r1)	stwu	r1,-fsize(r1)	mr		r30,r3	li		r31,0		b		L7L6:	lwz		r3,4(r1)	lwz		r4,8(r1)	lwz		r5,12(r1)	lwz		r6,16(r1)	lwz		r7,20(r1)	lwz		r3,24(r1)	lwz		r4,28(r1)	lwz		r5,32(r1)	lwz		r6,36(r1)	lwz		r7,40(r1)	addi       r31,r31,10L7:	cmpw       r31,r30	blt        L6			lwz        r0,lrsave+fsize(r1)	mtlr       r0	lwz        r31,-4+fsize(r1)	lwz        r30,-8+fsize(r1)	addi       r1,r1,fsize	blr#if 0.if 0#endif}#if 0.endif#endif

⌨️ 快捷键说明

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