본문 바로가기
코스웨어/15년 스마트컨트롤러

20151128_김태현_ARM 어셈블리2일차

by 알 수 없는 사용자 2015. 11. 30.
728x90
반응형

ARM 어셈블리는 STST는 하드웨어적으로 처리하지만

LDST는 프로그래머가 직접 구현해 주어야한다.


 

Return이라고 적힌 부분이 LDST함수라고 생각하면 된다.

 

r0~r3 까지 함수의 인자로 사용하는 레지스터

r4~r7 까지 변수로 사용하는 레지스터

대부분은 레지스터가 어큐뮬레이터라고 생각하면된다.

 

함수를 호출할 때 r0~r3 인자로 쓰이는데. 그전의 값을 보존하고 싶으면 stackbackup을 해줘야 한다.

 

c를 배우는 이유는 아키텍쳐에 따라서 따로 어셈블리를 공부할 필요없이 컴파일러가 해석해주기 때문이다. 하지만 어셈블리를 배우는 이유는 그 안에 함수호출규약 등을 알아야지 프로그램을 효율적으로 짤수 있기 때문이다.


이런 concept을 이용해서 여러 chip을 만들다 보니까, SoC 측면에서 각각의 기능들을 가진 chip을 각각의 block으로 만들면 재사용 가능하다는 것을 깨달아 버렸습니다. 모듈화 한다고 봐야죠. Clever! 이런 각각의 기능을 가진 SoC내부의 block들을 IP (Intellectual Property)라고 명명하기에 이르렀습니다. 이런 모듈들은 HDL이나, Verilog 같은 Design tool을 이용해서 모듈을 설계하고, ASIC Library를 이용해서 최종 netlist 까지 만들어 내면 하나의 모듈이 되고, 이런 모듈 하나를 IP라고 부른다고 보시면 됩니다.




728x90