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

20151126 - 강동조 개인업무일지 ARM

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


인텔은 CISC 어셈블리로짜면 RISC로 보이게된다 즉 RISC로코딩하면 다른모양을 볼수 있다



SVC, SYS: Kernel에서 사용함

IRQ, FIQ: interrupt에서 사용함

ABT: 전체 취소를시켰을떄 ABT가 뜨게된다
UND: undefine이다 ABT와UND는 시스템에 문제가 있을때 뜬다

인텔은 모드개념이 없다 이것은 운영체제를 염두에 두고 만드는것이다

user모드일떈 숫자를 넣을 수 없다 

함수호출시 ARM은 레지스터에 저장하기때문에 속도가 빠르다 그것을 R14라고도 부르고 Linked Register이라고도 부른다
레지스터이름이 R14이다 이것을 코드로 mov R14, 20이렇게 적어도 인지한다

37개의 레지스터를 들고있는것이 context이다

context구조체에서 eax 넣어주는것은 인텔에서유리하다

ARM레지스터 개수는 37개이다

ARM입장에서는 R0에 넣어주는것이다 

코드자체가 달라지는 이유이다 레지스터이름이나 구조나 개념이 다르기에 범용운영체제를 만들려면 어셈코드와c코드를 다 알고 있어야한다 

리눅스의 강점은 다양한cpu에서 돌아가게 되어있다 인텔은 다양한 cpu에서 돌아가지 않는다  










728x90