Home > Study > C Language > ARM System Programming > [ex34] AAPCS_C측 전역변수 공유 함수 1

[ex34] AAPCS_C측 전역변수 공유 함수 1
Study Language

문제 설명


@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ void Asm_Var_Signed_Char(void);
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

	.extern	sc

	.global	Asm_Var_Signed_Char
  	.type 	Asm_Var_Signed_Char, %function
Asm_Var_Signed_Char:






@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ void Asm_Var_Unsigned_Short(void);
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

	.extern	us

	.global Asm_Var_Unsigned_Short
  	.type 	Asm_Var_Unsigned_Short, %function
Asm_Var_Unsigned_Short:






@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ void Asm_Var_Signed_Short(void);
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

	.extern	ss

	.global	Asm_Var_Signed_Short
  	.type 	Asm_Var_Signed_Short, %function
Asm_Var_Signed_Short:

정답 코드


@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ void Asm_Var_Signed_Char(void);
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

	.extern	sc

	.global	Asm_Var_Signed_Char
  	.type 	Asm_Var_Signed_Char, %function
Asm_Var_Signed_Char:

	ldr		r1, =sc
	ldrsb	r0, [r1]
	add		r0, r0, #1
	strb	r0, [r1]
	bx		lr

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ void Asm_Var_Unsigned_Short(void);
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

	.extern	us

	.global Asm_Var_Unsigned_Short
  	.type 	Asm_Var_Unsigned_Short, %function
Asm_Var_Unsigned_Short:

	ldr		r1, =us
	ldrh	r0, [r1]
	add		r0, r0, #1
	strh	r0, [r1]
	bx		lr

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ void Asm_Var_Signed_Short(void);
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

	.extern	ss

	.global	Asm_Var_Signed_Short
  	.type 	Asm_Var_Signed_Short, %function
Asm_Var_Signed_Short:

	ldr		r1, =ss
	ldrsh	r0, [r1]
	add		r0, r0, #1
	strh	r0, [r1]
	bx		lr

메모


printf 내부의 \n 습관화 필요