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

📄 lab1_1.s

📁 ARM 的一段测试实验代码
💻 S
字号:
;*******************************
;A0717016 wanglei lab1_1 13311269681
;*******************************
	AREA	lab1_1, CODE, READONLY


A_data	DCD	0xFEDCBA98,0x12345678,	0xEDCBA987,0x23456789, 0x87654321,0x98765432
B_data	DCD	0xBBBBBBBB,0xAAAAAAAA,	0xDDDDDDDD,0xCCCCCCCC, 0xEEEEEEEE,0x99999999
	
C_data	SPACE	32*2 ; //分配64字节的内存单元,并初始化为0
	MAP C_data; //内存表的首地址为Datastruc内存单元

	ENTRY                   ; mark the first instruction to call
	CODE32                          ; Following code is ARM code
offset		EQU 4	;
LOOP_TIME	EQU	3	;

start
	LDR r6, =A_data	;
	;put A_data position in reg : r6
	LDR r7, =B_data	;
	;put B_data position in reg : r7
	LDR r8, =C_data	;
	;put C_data position in reg : r8
	LDR r9,=LOOP_TIME	;
	
loop
get_A_data	
	;Return value in reg r3 r2
	LDR r2,[r6]	;get first data
	ADD r6, r6, #offset	;add Offset
	LDR	r3, [r6]	;
	ADD r6, r6, #offset	;add Offset
get_A_data_end
get_B_data	
	;Return value in reg r5 r4
	LDR r4,[r7]	;get first data
	ADD r7, r7, #offset	;add Offset
	LDR	r5, [r7]	;
	ADD r7, r7, #offset	;add Offset
get_B_data_end
add_A_data_B_data
	;result in r1 r0
	ADDS	r0,	r2, r4	;	64bit add r1 r0 = r3 r2 + r5 r4
	ADC		r1,	r3,	r5	;	64bit add r1 r0 = r3 r2 + r5 r4
add_A_data_B_data_end

put_C_data_into_mem
	STR r0, [r8]	;
	ADD r8,	r8,	#offset	;add Offset
	STR r1, [r8]	;
	ADD r8,	r8,	#offset	;add Offset
put_C_data_into_mem_end

	;loop 
	SUB r9,r9,#1	;
	CMP	r9, #0	;
	BNE loop;
loop_end
;	mov r0,#8
;	mov r1,#8
;	mov r2,#8
test

	CMP	r0, #0	;

	CODE16
	CMP	r1, #0	;
	mov r0,#5
	mov r1,#5
	mov r2,#5
	CODE32
	mov r0,#3
	mov r1,#3
	mov r2,#3
	B test
	
	END

⌨️ 快捷键说明

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