1. Trang chủ
  2. » Công Nghệ Thông Tin

ARM assembly programming

78 296 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Slide 1

  • Slide 2

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

  • Slide 17

  • Slide 18

  • Slide 19

  • Slide 20

  • Slide 21

  • Slide 22

  • Slide 23

  • Slide 24

  • Slide 25

  • Slide 26

  • Slide 27

  • Slide 28

  • Slide 29

  • Slide 30

  • Slide 31

  • Slide 32

  • Slide 33

  • Slide 34

  • Slide 35

  • Slide 36

  • Slide 37

  • Slide 38

  • Slide 39

  • Slide 40

  • Slide 41

  • Slide 42

  • Slide 43

  • Slide 44

  • Slide 45

  • Slide 46

  • Slide 47

  • Slide 48

  • Slide 49

  • Slide 50

  • Slide 51

  • Slide 52

  • Slide 53

  • Slide 54

  • Slide 55

  • Slide 56

  • Slide 57

  • Slide 58

  • Slide 59

  • Slide 60

  • Slide 61

  • Slide 62

  • Slide 63

  • Slide 64

  • Slide 65

  • Slide 66

  • Slide 67

  • Slide 68

  • Slide 69

  • Slide 70

  • Slide 71

  • Slide 72

  • Slide 73

  • Slide 74

  • Slide 75

  • Slide 76

  • Slide 77

  • Slide 78

Nội dung

ARM Assembly Programming Computer Organization and Assembly Languages Yung-Yu Chuang 2007/11/19 with slides by Peng-Sheng Chen Introduction • The ARM processor is very easy to program at the assembly level. (It is a RISC) • We will learn ARM assembly programming at the user level and run it on a GBA emulator. ARM programmer model • The state of an ARM system is determined by the content of visible registers and memory. • A user-mode program can see 15 32-bit general- purpose registers (R0-R14), program counter (PC) and CPSR. • Instruction set defines the operations that can change the state. Memory system • Memory is a linear array of bytes addressed from 0 to 2 32 -1 • Word, half-word, byte • Little-endian 00 10 20 30 FF FF FF 00 00 00 0x00000000 0x00000001 0x00000002 0x00000003 0x00000004 0x00000005 0x00000006 0xFFFFFFFF 0xFFFFFFFE 0xFFFFFFFD Byte ordering • Big Endian – Least significant byte has highest address Word address 0x00000000 Value: 00102030 • Little Endian – Least significant byte has lowest address Word address 0x00000000 Value: 30201000 00 10 20 30 FF FF FF 00 00 00 0x00000000 0x00000001 0x00000002 0x00000003 0x00000004 0x00000005 0x00000006 0xFFFFFFFF 0xFFFFFFFE 0xFFFFFFFD ARM programmer model 00 10 20 30 FF FF FF 00 00 00 0x00000000 0x00000001 0x00000002 0x00000003 0x00000004 0x00000005 0x00000006 0xFFFFFFFF 0xFFFFFFFE 0xFFFFFFFD R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 PC Instruction set ARM instructions are all 32-bit long (except for Thumb mode). There are 2 32 possible machine instructions. Fortunately, they are structured. Features of ARM instruction set • Load-store architecture • 3-address instructions • Conditional execution of every instruction • Possible to load/store multiple register at once • Possible to combine shift and ALU operations in a single instruction Instruction set MOV<cc><S> Rd, <operands> MOVCS R0, R1 @ if carry is set @ then R0:=R1 MOVS R0, #0 @ R0:=0 @ Z=1, N=0 @ C, V unaffected Instruction set • Data processing (Arithmetic and Logical) • Data movement • Flow control . program at the assembly level. (It is a RISC) • We will learn ARM assembly programming at the user level and run it on a GBA emulator. ARM programmer model • The state of an ARM system is determined. ARM Assembly Programming Computer Organization and Assembly Languages Yung-Yu Chuang 2007/11/19 with slides by Peng-Sheng Chen Introduction • The ARM processor is very. PC Instruction set ARM instructions are all 32-bit long (except for Thumb mode). There are 2 32 possible machine instructions. Fortunately, they are structured. Features of ARM instruction

Ngày đăng: 23/10/2014, 16:34

TỪ KHÓA LIÊN QUAN