Microsoft Word - 1. ARM Assembly 실습_xp2.doc

Similar documents
Microsoft PowerPoint - 05-ARM-Instruction-Set.ppt

ARM Reverse Engineering

Microsoft PowerPoint - LN_1_ARM_CPU_0.ppt [호환 모드]

untitled

9

Here is a "PLDWorld.com"... // EXCALIBUR... // Additional Resources // µc/os-ii... Page 1 of 23 Additional Resources: µc/os-ii Author: Source: HiTEL D

< B5BFBEC6BDC3BEC6BBE E687770>

INTRO Basic architecture of modern computers Basic and most used assembly instructions on x86 Installing an assembly compiler and RE tools Practice co

Microsoft PowerPoint - a6.ppt [호환 모드]

=

며 오스본을 중심으로 한 작은 정부, 시장 개혁정책을 밀고 나갔다. 이에 대응 하여 노동당은 보수당과 극명히 반대되는 정강 정책을 내세웠다. 영국의 정치 상황은 새누리당과 더불어 민주당, 국민의당이 서로 경제 민주화 와 무차별적 복지공약을 앞세우며 표를 구걸하기 위한

Embedded System

T100MD+

2힉년미술

우리나라의 전통문화에는 무엇이 있는지 알아봅시다. 우리나라의 전통문화를 체험합시다. 우리나라의 전통문화를 소중히 여기는 마음을 가집시다. 5. 우리 옷 한복의 특징 자료 3 참고 남자와 여자가 입는 한복의 종류 가 달랐다는 것을 알려 준다. 85쪽 문제 8, 9 자료

상품 전단지

::: 해당사항이 없을 경우 무 표시하시기 바랍니다. 검토항목 검 토 여 부 ( 표시) 시 민 : 유 ( ) 무 시 민 참 여 고 려 사 항 이 해 당 사 자 : 유 ( ) 무 전 문 가 : 유 ( ) 무 옴 브 즈 만 : 유 ( ) 무 법 령 규 정 : 교통 환경 재

2

DBPIA-NURIMEDIA

화이련(華以戀) hwp

ÆòÈ�´©¸® 94È£ ³»Áö_ÃÖÁ¾

歯1##01.PDF

<5BC1F8C7E0C1DF2D31B1C75D2DBCF6C1A4BABB2E687770>

120229(00)(1~3).indd

01Report_210-4.hwp

<C3D1BCB15FC0CCC8C45FBFECB8AE5FB1B3C0B0C0C75FB9E6C7E D352D32315FC5E4292E687770>



교육 과 학기 술부 고 시 제 호 초 중등교육법 제23조 제2항에 의거하여 초 중등학교 교육과정을 다음과 같이 고시합니다. 2011년 8월 9일 교육과학기술부장관 1. 초 중등학교 교육과정 총론은 별책 1 과 같습니다. 2. 초등학교 교육과정은 별책

시험지 출제 양식

177

제주어 교육자료(중등)-작업.hwp

¸é¸ñ¼Ò½ÄÁö 63È£_³»Áö ÃÖÁ¾

<C3D6C1BE5FBBF5B1B9BEEEBBFDC8B0B0DCBFEFC8A C3D6C1BEBABB292E687770>

초등국어에서 관용표현 지도 방안 연구

6±Ç¸ñÂ÷

과 위 가 오는 경우에는 앞말 받침을 대표음으로 바꾼 [다가페]와 [흐귀 에]가 올바른 발음이 [안자서], [할튼], [업쓰므로], [절믐] 풀이 자음으로 끝나는 말인 앉- 과 핥-, 없-, 젊- 에 각각 모음으로 시작하는 형식형태소인 -아서, -은, -으므로, -음

민주장정-노동운동(분권).indd

untitled


<C0CEBCE2BABB2D33C2F7BCF6C1A420B1B9BFAAC3D1BCAD203130B1C72E687770>

E1-정답및풀이(1~24)ok

< BDC3BAB8C1A4B1D4C6C75BC8A3BFDC D2E687770>

<C1B6BCB1B4EBBCBCBDC3B1E2342DC3D6C1BE2E687770>

최우석.hwp

교사용지도서_쓰기.hwp

0429bodo.hwp

cls46-06(심우영).hwp

時 習 說 ) 5), 원호설( 元 昊 說 ) 6) 등이 있다. 7) 이 가운데 임제설에 동의하는바, 상세한 논의는 황패강의 논의로 미루나 그의 논의에 논거로서 빠져 있는 부분을 보강하여 임제설에 대한 변증( 辨 證 )을 덧붙이고자 한다. 우선, 다음의 인용문을 보도록

伐)이라고 하였는데, 라자(羅字)는 나자(那字)로 쓰기도 하고 야자(耶字)로 쓰기도 한다. 또 서벌(徐伐)이라고도 한다. 세속에서 경자(京字)를 새겨 서벌(徐伐)이라고 한다. 이 때문에 또 사라(斯羅)라고 하기도 하고, 또 사로(斯盧)라고 하기도 한다. 재위 기간은 6

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

Microsoft PowerPoint - 강의2.ppt

q ARM (Advanced RISC Machines) v 1990년설립 v UK-based joint venture Ø Apple Computer, Acorn Computer Group, and VLSI Technology q 32-bit RISC Intellectu

hlogin2

09. 정덕배-중국생활체험기.hwp

장: 200 세외수입 관: 210 경상적세외수입 항: 213 수수료수입 (단위:천원) [ 일반회계 ] 1,405,842 1,399,860 5,982 < 청소행정과 > 1,028,442 1,022,460 5,982 사업장종량제봉투 제작비용(30L) 79.43원*30,00

SRC PLUS 제어기 MANUAL

22최종합본.hwp

<32B1B3BDC32E687770>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

Microsoft Word - ExecutionStack

<3130BAB9BDC428BCF6C1A4292E687770>

11민락초신문4호


[8051] 강의자료.PDF

제1절 조선시대 이전의 교육

사진 24 _ 종루지 전경(서북에서) 사진 25 _ 종루지 남측기단(동에서) 사진 26 _ 종루지 북측기단(서에서) 사진 27 _ 종루지 1차 건물지 초석 적심석 사진 28 _ 종루지 중심 방형적심 유 사진 29 _ 종루지 동측 계단석 <경루지> 위 치 탑지의 남북중심

새만금세미나-1101-이양재.hwp

??

PowerPoint 프레젠테이션

652

歯 조선일보.PDF

<33B1C7C3D6C1BEBABB28BCF6C1A42D E687770>

<C1DFB1DE2842C7FC292E687770>

Microsoft PowerPoint - CHAP-03 [호환 모드]

96부산연주문화\(김창욱\)

???? 1

DocsPin_Korean.pages

PowerPoint 프레젠테이션

목 차 국회 1 월 중 제 개정 법령 대통령령 7 건 ( 제정 -, 개정 7, 폐지 -) 1. 댐건설 및 주변지역지원 등에 관한 법률 시행령 일부개정 1 2. 지방공무원 수당 등에 관한 규정 일부개정 1 3. 경력단절여성등의 경제활동 촉진법 시행령 일부개정 2 4. 대

종사연구자료-이야기방 hwp

정 답 과 해 설 1 (1) 존중하고 배려하는 언어생활 주요 지문 한 번 더 본문 10~12쪽 [예시 답] 상대에게 상처를 주고 한 사 람의 삶을 파괴할 수도 있으며, 사회 전체의 분위기를 해쳐 여러 가지 사회 문제를 발생시킬 수 있다. 04 5

歯PLSQL10.PDF

삼외구사( 三 畏 九 思 ) 1981년 12월 28일 마산 상덕법단 마산백양진도학생회 회장 김무성 외 29명이 서울 중앙총본부를 방문하였을 때 내려주신 곤수곡인 스승님의 법어 내용입니다. 과거 성인께서 말씀하시길 道 를 가지고 있는 사람과 어울려야만 道 를 배울 수 있

<33C6E4C0CCC1F620C1A63139C8A320B8F1C2F72E687770>

hwp

<34B1C720C0CEB1C7C4A7C7D828C3D6C1BEC6EDC1FD D28BCF6C1A4292E687770>

Microsoft PowerPoint - hw8.ppt [호환 모드]

160215

구문 분석

13주-14주proc.PDF

참고 금융분야 개인정보보호 가이드라인 1. 개인정보보호 관계 법령 개인정보 보호법 시행령 신용정보의 이용 및 보호에 관한 법률 시행령 금융실명거래 및 비밀보장에 관한 법률 시행령 전자금융거래법 시행령 은행법 시행령 보험업법 시행령 자동차손해배상 보장법 시행령 자본시장과

hwp

580 인물 강순( 康 純 1390(공양왕 2) 1468(예종 즉위년 ) 조선 초기의 명장.본관은 신천( 信 川 ).자는 태초( 太 初 ).시호는 장민( 莊 愍 ).보령현 지내리( 保 寧 縣 池 內 里,지금의 보령시 주포면 보령리)에서 출생하였다.아버지는 통훈대부 판무

2. GCC Assembler와 AVR Assembler의차이 A. GCC Assembler 를사용하는경우 i. Assembly Language Program은.S Extension 을갖는다. ii. C Language Program은.c Extension 을갖는다.

<C1DFB0B3BBE7B9FD3128B9FDB7C92C20B0B3C1A4B9DDBFB5292E687770>

PowerPoint 프레젠테이션

ad hwp

C++-¿Ïº®Çؼ³10Àå

3. 은하 1 우리 은하 위 : 나선형 옆 : 볼록한 원반형 태양은 은하핵으로부터 3만광년 떨어진 곳에 위치 2 은하의 분류 규칙적인 모양의 유무 타원은하, 나선은하와 타원은하 나선팔의 유무 타원은하와 나선 은하 막대 모양 구조의 유무 정상나선은하와 막대나선은하 4.

Transcription:

ARM asm 의구조 ARM Assembly 실습 1. 기본골격 AREA armex,code, READONLY ;Mark first instruction to execute start MOV r0, #10 MOV r1,#3 ADD r0, r0, r1 ; r0 = r0 + r1 stop NOP NOP B stop ; Mark end of file 위의 asm의구조를이해하고실행해보세요. - AREA Directive -Section name, CODE, READONLY - Directive - Directive - LABEL 2. Calling Subroutine - BL destination AREA armex,code, READONLY ;Mark first instruction to execute start MOV r0, #10 MOV r1,#3 BL doadd ; Call subroutine ADD r0, r0, r1 ; r0 = r0 + r1 stop NOP

NOP B stop doadd ADD r0, r0, r1 MOV pc,lr ; Return from subroutine ; Mark end of file subroutine 을 call 하는예제를보인것입니다. 구조를이해하고타이핑해보세요. 3. Constant AREA TEST, CODE, READONLY loop r0, #0x10 r1, #10 b loop 레지스터에상수값을입력하는방법입니다. 각레지스터에어떤값이들어가는지확인해보세요

4. Conditional Execution 4.1 s 혹은 S suffix Data processing instruction 에 s suffix를붙이게되면 CPSR의 ALU status flag를 update하게됩니다. s suffix를붙이지않으면 ( 마찬가지로 ) update 는되지않습니다. 다음예제에서두가지를모두실행해보고 CPSR의 flag(nzcv) 가어떻게바뀌는지확인하고이유를설명하세요. - add r0,r0,r1 를실행 - adds r0,r0,r1 를실행 r0,#0xff000000 r1,#0x01000000 add r0,r0,r1 혹은 adds r0,r0,r1 Data processing instruction 중 CMP,CMN,TST,TEQ에대해서는 s suffix를쓰지마십시오. 이들은항상 flag들을 update시킵니다. 4.2 Execution conditions 다음은 ARM명령에붙을수있는 Conditional suffix의 16가지종류입니다. 각 suffix는 flag들을참조하여명령어를실행할지를결정합니다. 어떤 flag들을참조하는지맨아래표 에서보고빈칸을채우세요. 0 EQ equal 1 NE not equal 2 CS unsigned higher or same 3 CC unsigned lower 4 MI negative 5 PL positive or zero 6 VS overflow 7 VC no overflow 8 HI unsigned higher 9 LS unsigned lower or same 10 GE greater or equal 11 LT less than 12 GT greater than 13 LE less than or equal 14 AL 15 NV

0 Z Set 8 C Set and Z Clear 1 Z Clear 9 C Clear or Z Set 2 C set 10 N Set and V Set or N Clear and V Clear 3 C Clear 11 N Set and V Clear or N Clear and V Set 4 N Set 12 Z Clear and ether N Set and V Set or N Clear and V Clear 5 M Clear 13 Z Set or N Set and V Clear or N Clear and V Set 6 V Set 14 Always 7 V Clear 15 Never 4.3 Example of the use of conditional execution 다음은 arm의 conditional execution 의예를보인것입니다. C로표현되는것을 ARM ASM으로구현했을경우다음과같이됩니다. (1) 과 (2) 에알맞을 suffix를넣으세요. int gcd(int a, int b) { while(a!= b) { if(a>b) a = a b; else b = b a; } return a; } gcd less stop CMP B(1) B(2) SUB B SUB B r0,r1 stop less r0,r0,r1 gcd r1,r1,r0 gcd

nop nop B stop end 5.Loading constant into registers 명령어는 constant를 loading하는데값의범위에제한이있습니다. 다음코드를컴파일해보십시오. r0,#0x000000ff r0,#0x0000ff00 r0,#0x00ff0000 r0,#0xff000000 r0,#0xffffff00 r0,#0xffff00ff r0,#0xff00ffff r0,#0x000001ff r0,#0x11223344 - 에러의이유를설명하세요. - r0,#0xffff00ff가에러나지않는이유를설명하세요 다음코드를실행해보세요. 그리고 Disassembly를통해 r0에 0x11223344가들어가게되는메커니즘을설명하세요. AREA TEST, CODE, READONLY r0,=0x11223344 loop B loop space는위에쓰인숫자 (Byte) 만큼의 0으로채워진공백을만들어냅니다. 실행해보세요.

loop test AREA TEST, CODE, READONLY r0,=0x11223344 B loop SPACE 4200 - 만약에러가난다면그이유를설명해보세요 - LTORG Directive를 test label위에삽입하고서컴파일해보세요. 그리고 Disassembly를통해코드를확인하세요. DCD directive는현재위치에 1개혹은그이상갯수의 word를메모리에저장하는데쓰입니다. AREA TEST, CODE, READONLY r0,=data32bit r1,data32bit loop B loop Data32bit DCD 0x11223344 이두군데쓰였는데차이점을확인하세요.

Memory access instructions 1. 32Bit 혹은 8Bit Unsigned word load/store 1.1 op{cond}{b}{t} Rd,[Rn] r0,=0x8000 r1,[r0] b r2,[r0] neb r3,[r0] str r0,#0x8100 r2,#0x3400 r2,[r0] 1.2 op{cond}{b}{t} Rd, [Rn, FlexOffset]{!} 1) FlexOffset1: #expr(-4095~4095) r0,=0x8000 r2,[r0,#4095] r2,[r0,#-4095] b r2,[r0,#0x4] str r2,[r0,#0x100] FlexOffset이상수로온경우이다. 2) FlexOffset2: {-}Rm{,shift} r0,=0x8000 r1,=0x5000 r2,[r0,r1] FlexOffset이레지스터로올수있다. r1,=0x10 r2,[r0,-r1] FlexOffset이 레지스터의형식으로올수도있다.

r1,#-8 r2,[r0, r1, ASR #1] ;ASR 1<=n<=32 r3,[r0,#-4] FlexOffset이레지스터와 Shift 의값으로올수있다. 2,3번째명령어를비교하시 오. ASR은 Arithmetic Shift Right로서최상위비트가카피되면서 Shift가일어난다. r1,#4 ;#expr -4095<= expr <=4095 r2,[r0,r1,lsl #1]! r3,[r0,r1,lsr #1]! ;LSR 1<=n<=32! 의용법을익히자. -r0의값이어떻게변하는지살펴보시오. 1.3 op{cond}{b}{t} Rd, label r0,looptest r1,=looptest looptest b looptest r0와 r1에들어간값의차이를설명하시오 1.4 op{cond}{b}{t} Rd, [Rn], FlexOffset r0,=0x8000 r2,[r0] r2,[r0],#0x08 ;#expr -4095<= expr <=4095 r2,[r0] r2,[r0,#0x08]! r2에들어가는값과 r0값의추이를살펴보시오 r0,=0x8000 r1,#0x04 r2,[r0],r1,lsl #1 ;LSL 0<= n <=31 FlexOffset의용법은위의예제와같다. r2와 r0의값의추이를살펴보시오.

2. Load Signed 8Bit, Singed and Unsigned 16Bit halfword / Store 16Bit halfword 2.1.op{cond}type type: SH/H/SB Rd, [Rn] r0,#0 add r0,r0,r0 ;reset carry str r1,=0x8100 r2,=-1234 r2,[r1] sh r2,[r1] h r2,[r1] sb r2,[r1] eqsh r2,[r1] eqsb r2,[r1] sh 는 signed halfword이며 h는 unsigned halfword이다. 또한 conditional field의위치도유의하시오. 3.LDM and STM op{cond}mode Rn{!}, reglist{^} ldmia r8,{r0,r2,r9} stmdb r1!,{r3-r6,r11,r12} stmfd sp!,{r0,r4-r7,lr} ldmfd sp!,{r0,r4-r7,pc} 위의 Multiple Load/Store명령어의동작을그림을그려설명하시오.

General data processing instructions ADD,SUB,RSB,ADC,SBC, and RSC AND, ORR, EOR, and BIC MOV and MVN CMP and CMN r0,#1 r1,#2 cmp r0,r1 r0,#2 r1,#1 cmp r0,r1 r0,#1 r1,#1 cmp r0,r1 TST and TEQ TST: Bitwise AND str r1,=0x8100 r2,=0x10 r2,[r1] r2,[r1]

r3,=0x10 ; 4th bit ; r3,=0x20 ; 5th bit tst r2,r3 beq zero28th bne nonzero28th zero28th nop nop nonzero28th nop nop tst는특정비트가세트되어있는지확인하는용도이다. 위의예에서는 r2의 4번비트 ( 혹은 5번비트 ) 가세트되어있는지확인하는프로그램이다.