본문 바로가기

분류 전체보기252

data processing instruction : binary encoding ARM instruction- data processing instruction : binary encoding add r2, r0, r1 [ 0x e0802001 ] ::16진수(hex) ↓총 32 bits . 1110 00 0 0100 0 0000 0010 00000 00 0 0001 ::2진수(bin) AL X i add s r0 r2 #0 LSL 4 r1 -------------------------------------------------------------------------------cond | X | i |opcode | s | Rn | Rd | operand2 cond : condition code (ex. EQ, NE, GE, LT,...)s : set condition codes.. 2006. 7. 13.
CISC & RISC CISC(Complex Instruction Set Computer)인텔의 8086은 16비트 프로세서로, 명령어의 길이가 1바이트에서 8바이트까지 가변적으로 구성되어 있다. 명령어가 가변적이고 복잡하므로 CISC 방식이라고 하는 것이다. 이 구조는 가능한 한 명령어의 길이를 줄여서 명령어의 디코딩(decoding, 해석) 속도를 높이고 최소의 메모리 구조를 갖도록 하기 위해서 정해진 것으로, 하나의 프로세서가 일련의 명령어를 순차적으로 처리하기에는 무척 유용한 방법이며, CPU의 동작 속도가 높아짐에 따라 성능이 비례로 증가한다. CISC 방식은 32비트 프로세서인 80386까지도 아무런 문제없이 적용된 기술이므로 완벽한 하위 호환성을 유지할 수 있었다. 그러나, 80486이 등장하면서 단순히 CPU의.. 2006. 7. 13.
state change example ;; 링커가 수많은 이미지들을 분류하는 기준 -> 섹션 :AREA(시작)...~~ ...END(끝) AREA AddReg, CODE , READONLY ;; CODE영역, 속성 : read only ENTRY;; binary image 시작, 하나의 섹션에 올 수 있다. main;; 레이블 ADR r0, ThumbProg + 1 ;; pc=8009 BX r0 CODE16;; 이 위치부터 어셈블러가 코드를 만들 때 Thumb코드로 만든다. ;; 0번 비트 1 -> cpst의 T비트 1로 변화ThumbProg ;; pc가 2씩 증가 MOV r2, #2 MOV r3, #3 ADD r2, r2, r3 ADR r0, ARMProg BX r0 ;; 0번 비트를 0으로 만들 필요 없음 CODE32;; ARM stat.. 2006. 7. 13.
<img src="http://blogimgs.naver.com/nblog/ico_scrap01.gif" class="i_scrap" width="50" height="15" alt="본문스크랩" /> Exception Vector Table Exception Vector Table - 임베디드 프로그램이 메모리에 바이너리로 로딩될 때 가장 앞번지에 위치하고 있는 테이블 (가끔씩 젤 마지막에 위치하는 수도 있음) exception 발생시, 각 모드에 맞게 cpu의 PC(program counter)에 exception을 처리하기 위한 주소(exception vector table)가 강제적으로 할당된다. 아래는 excption에 따라 cpu의 PC에 강제적으로 할당되는 EVT의 주소를 나타낸다. 우선순위 ------------------------ [3] 0x1C :FIQ ------------------------ [4] 0x18 :IRQ ---------------------------- . 0x14 : (reserved) --------.. 2006. 7. 13.