(1) 주소지정방식 Address Mode 메모리접근 분기주소 명령어 직접번지 Reg. 지정 Reg. 간접 Base Index 간접 Immediate 상대번지 절대번지 Long 주소 Reg. 간접 Byte Access Bit Access 내부 Data M

Similar documents
Microsoft PowerPoint 명령어.pptx

[8051] 강의자료.PDF

Microsoft PowerPoint - hy2-12.pptx

Computer Architecture

=

PowerPoint 프레젠테이션

Microsoft PowerPoint 의 이해.pptx

Microsoft PowerPoint - hy2-12.pptx

Microsoft PowerPoint - 부호기와 복호기.PPT

FARA PLC N70plus 시스템 사용자 메뉴얼

Brief Manual of MiDAS1.1 Family

MicrocontrollerAcademy_Lab_ST_040709

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

hlogin2

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

한국기술교육대학교장영조 한국기술교육대학교전기전자통신공학부 1

4. 다음주소지정방식중속도가가장빠른주소방식은? 가. immediate addressing mode 나. direct addressing mode 다. indirect addressing mode 라. index register. 5. 간접주소 (indirect addr

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

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

PowerPoint 프레젠테이션

프로그램카운터 (Program Counter) 명령레지스터 (Instruction Register) 누산기 (AC: Accumulator) 상태레지스터 (Status Register) PSWR(Program Status Word Register) 메모리주소레지스터 (M

<BEEEBCC0BAEDB8AEBEEEC1A4B8AE2E687770>

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

Microsoft PowerPoint - DSD06c_ISA.pptx

온라인 IT 교육최강 ( 강의정보처리필기강사조대호 차시명 [CA-06 강 ] 프로세서와명령어차시 6 차시 학습내용 프로세서와명령어 학습목표 컴퓨터의구조와프로세서에대해이해할수있다 컴퓨터의명령어에대해이해할수있다 학습내용 1. 컴퓨터의구성 - 1

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 - hw8.ppt [호환 모드]

학습목표 2/33 마이크로프로세서와마이크로컨트롤러의차이를알수있다. 마이크로프로세서에서프로그램이수행되기위한명령어형식과명령어실행절차를알수있다. 프로그램을수행하려면어떤종류의명령어가필요한지알수있다. 현대컴퓨터의기본모델인저장형프로그램컴퓨터의한계점과그한계를완화하려는방법을알수있다.

untitled

슬라이드 1

. 고성능마이크로프로세서 LU 와레지스터 파일의구조 (2.). 직접디지털주파수합성기 (FS) 의구조 3. 고성능마이크로프로세서부동소수점연산기 (Floating-Point Unit) 구조 (2) (2.) (2.) 2. 암호화를위한 VLSI 구조와설계의개요 (2.) 다음참

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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

9

HWP Document

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

hwp

Deok9_Exploit Technique

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

시작하기 시작할 준비가 되었으면 다음 설명에 따라 설문조사를 실시한다. 1단계: 허락받기 클럽을 떠나는 회원에게 에 응해 줄 것인지 물어본다. 이 설문 조사는 클럽의 문제점을 보완해 향후 같은 이유로 이탈하는 회원들이 없도록 하기 위한 것이며, 응답 내용은 대외비로 처

ARM Reverse Engineering

정보보안 개론과 실습:네트워크

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

학습목차 r 개념으로살펴보는 CPU 속의제어장치 r 마이크로연산 r 제어장치의동작 r 마이크로프로그램을이용한제어 컴퓨터구조 제어장치

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

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770>

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

Microsoft Word - Reverse Engineering Code with IDA Pro-2-1.doc

Computer Architecture

학습목차 r 컴퓨터본체에서 CPU 의위치살펴보기 r CPU 의성능 r CPU 의기능 r CPU 의조직 r 레지스터의조직 r 명령어사이클 r 명령어파이프라이닝 컴퓨터구조 2 9. CPU 조직과기능

T100MD+

2 Mitsubishi FX Series Computer Link MITSUBISHI FX SERIES COMPUTER LINK 시스템구성 시스템설정 사용예 사용예 사용예

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6347E36B0AD20B9AEC1A62BC1A4B4E42E687770>

PowerPoint Presentation

1. 펀드의 개요 3 2. 운용경과 및 수익률 현황 3 3. 자산현황 5 4. 투자운용전문인력 현황 6 5. 비용현황 7 6. 투자자산매매내역 8 <참고 - 펀드용어정리> 9

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

마이크로프로세서 개요

KAA2005.9/10 Ãâ·Â

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

학습 목차 r컴퓨터에서 마이크로 프로세서 유형보기 r어셈블리 프로그램의 이해 r인터럽트(interrupt) r명령어 세트 r주소지정 방식 컴퓨터 구조 CPU 명령어

Computer Architecture


<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F FB1E2BBE7C6D0BDBABFEB2E687770>

Microsoft PowerPoint - 1-2장 디지털_데이터 .ppt

Microsoft PowerPoint - o8.pptx

Index

Microsoft Word - ExecutionStack

No Slide Title

<4D F736F F D20B1E2BCFAC0DAB7E1202D20454F435220B8F0B5E5B9F6BDBA20C5EBBDC5C1A6C7B020BBE7BFEBB9FD202D F302E646F63>

핸디로더(PGM-500) 사용자 메뉴얼

A 001~A 036

구문 분석

PowerPoint Presentation

3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터

ºÎ·ÏB

OCW_C언어 기초

8장 조합논리 회로의 응용

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

Computer Architecture

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

Embedded System

1 1,.,

Microsoft PowerPoint - ARM System-on-chip architecture_Chap 4_23p.ppt

<BDC7C7E83220B0E1B0FABAB8B0EDBCAD202833C1D6C2F7292E687770>

歯메뉴얼v2.04.doc

Microsoft PowerPoint - DSD06b_Cont.pptx

Microsoft PowerPoint - Divider2.ppt

Microsoft PowerPoint - 15-MARS

한글사용설명서

<4D F736F F F696E74202D20322EB3EDB8AEC7A5C7F6B0FA20B3EDB8AEBCF6C7D02E >

20564A*LT-W600SH*I/M

AVR ATmega128 소개 마이크로컨트롤러 AVR ATmega128 저자 : 이상설 소속 : 원광대학교전기 정보통신공학부

PowerPoint 프레젠테이션

hlogin7

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

Microsoft Word - FunctionCall

a b c d e f^xh= 2x 2 + ax a f^1+ hh -f^1h lim 6 h 0 h = " A B C D E A J an K O B K b 1O C K 1 1 c 1 0O D K O 0 d K O E Le 1

Transcription:

(1) 주소지정방식 Address Mode 메모리접근 분기주소 2. 8051 명령어 직접번지 Reg. 지정 Reg. 간접 Base Index 간접 Immediate 상대번지 절대번지 Long 주소 Reg. 간접 Byte Access Bit Access 내부 Data Memory 외부 Data Memory (2) 명령어세트 - 8051 명령어는 5 가지로분류, 51 종류명령, 주소지정과조합하여 111 명령어 + 데이터전송명령 + 수치연산명령 + 논리연산명령 + 비트조작명령 + 분기명령 - 어셈블리어에서최대 4 개 Operand 사용 - 38 -

-<< 8051명령일람표 >>- 전송 / 스택 / 교환 / 가감보수 / 증감 / 승제 / 논리 / 회전 / 비트 동작 Mnemonic & Operand OP 길이 실행 Operation Flag C A V P 전송 MOV A,<#data8,@R01,Ri,adrs> 74 E6 E7 EX E5 12 1 A <data8,[r01],ri,[adrs]> MOV <@R01>,<A,#data8,adrs> F6 76 A6 F7 77 A7 12 1 [R01] <A,data8,[adrs]> MOV Ri,<A,#data8,adrs> FX 7X AX 12 1 Ri <A,data8,[adrs]> MOV adrs,a F5 2 1 [adrs] A MOV adrs, <#data8,@r01,ri,adrs> 75 86 87 8X 85 23 2 [adrs] <data8,[r01],ri,[adrs]> MOV DPTR,#data16 90 3 2 DPTR #data16 MOVC A,<@A+DPTR,@A+PC> 93 83 1 2 A <[A+DPTR],[A+PC + ]> MOVX A,<@DPTR,@R01> E0 E2 E3 1 2 A <[DPTR],[R01]> MOVX <@DPTR,@R01>,A F0 F2 F3 1 2 <[DPTR],[R01]> A 스택 <POP,PUSH> adrs D0 C0 2 2 [adrs] [SP - ], [ + SP] [adrs] 교환 XCH A,<@R01,Ri,adrs> C6 C7 CX C5 12 1 A <[R01],Ri,[adrs]> XCHD A,@R01 D6 D7 1 1 A3~0 [R01]3~0 SWAP A C4 1 1 A7~4( 상위4Bits) A3~0( 하 ) 가감 ADD A,<#data8,@R01,Ri,adrs> 24 26 27 2X 25 12 1 A A+<data,[R01],Ri,[adrs]> ADDC A,<#data8,@R01,Ri,adrs> 34 36 37 3X 35 12 1 A A+C+ <data,[r01],ri,[adrs]> SUBB A,<#data8,@R01,Ri,adrs> 94 96 97 9X 95 12 1 A A-C- <data,[r01],ri,[adrs]> DA A D4 1 1 A 십진보정 ( A ) <CLR,CPL> A E4 F4 1 1 <A 0(P세트 ), A /A> 증감 DEC <A,@R01,Ri,adrs> 14 16 17 1X 15 12 1 자신 - <A,[R01],Ri,[adrs]> A INC <A,@R01,Ri,adrs> 04 06 07 0X 05 12 1 자신 + <A,[R01],Ri,[adrs]> A INC DPTR A3 1 2 DPTR + DPTR 승제 MUL AB A4 1 4 B( 상 )+A( 하 ) A*B DIV AB 84 1 4 A( 몫 )&B( 나머지 ) A/B 논리 ANL A,<#data8,@R01,Ri,adrs> 54 56 57 5X 55 12 1 A A <data,[r01],ri,[adrs]> ANL adrs,<a,#data8> 52 53 23 12 [adrs] [adrs] <A,data8> ORL A,<#data8,@R01,Ri,adrs> 44 46 47 4X 45 12 1 A A <data,[r01],ri,[adrs]> ORL adrs,<a,#data8> 42 43 23 12 [adrs] [adrs] <A,data8> XRL A,<#data8,@R01,Ri,adrs> 64 66 67 6X 65 12 1 A A <data,[r01],ri,[adrs]> XRL adrs,<a,#data8> 62 63 23 12 [adrs] [adrs] <A,data8> 회전 <RL,RR> A 23 03 1 1 7 6 5 4 3 2 1 0 <RLC,RRC> A 33 13 1 1 C 7 6 5 4 3 2 1 0 C 비트 CLR <C,Badrs> C3 C2 12 1 <C,[Badrs]> 0 C SETB <C,Badrs> D3 D2 12 1 <C,[Badrs]> 1 C MOV C, Badrs A2 92 2 12 C [Badrs] C ANL C,<Badrs,/Badrs> 82 B0 2 2 C C <[Badrs],/[Badrs]> ORL C,<Badrs,/Badrs> 72 A0 2 2 C C <[Badrs],/[Badrs]> CPL <C,Badrs> B3 B2 12 1 <C /C, [Badrs] /[Badrs]> C X NOP No OPeration <,, > 택1 / #data8,#data16 자료자신 / adrs 8bits직접주소 / / 부정 +, - 1증감 / R01 R0,R1 / Ri R0~R7 / X 1rrr (rrr=register번호) 7~0 비트No. / Badrs 비트주소 ( 내부기억20~2F 비트주소00~7F) - 39 -

반복 / 호출 / 복귀 / 분기 / 조건 동작 Mnemonic & Operand OP 길실 Flag 분기조건 { 실행 } 이행 C A V P 반복 CJNE @R01,#data,adrs B6 B7 3 2 [R01] data {C=1 <,C=0 } CJNE A,<#data8,adrs>,adrs B4 B5 3 2 A <data8,[adrs]> {C=1 <,C=0 } CJNE Ri,#data8,adrs BX 3 2 Ri data {C=1 <,C=0 } DJNZ <Ri,adrs>,adrs DX D5 23 2 <Ri,[adrs]> 0 호출 CALL 기호주소 어셈블러 : 기호 adrs11/adrs16 <ACALL adrs11, PC PC+<2,3> 1* 12 23 2 [ + SP] PC_l, [ + SP] PC_h LCALL adrs16> PC <adrs11,adrs16> 복귀 <RET, RETI> 22 32 1 2 PC_h [SP - ], PC_l [SP - ] 분기 JMP 기호주소 기호 adrs11,adrs16,adrs AJMP adrs11 2* 2 2 무조건 LJMP adrs16 02 3 2 무조건 SJMP adrs 80 2 2 무조건 JMP @A+DPTR 73 1 2 무조건분기주소 =A+DPTR 조건 J<Z,NZ> adrs 60 70 2 2 <A=0,A 0> J<C,NC> adrs 40 50 2 2 <C=1,C=0> J<B,NB> Badrs,adrs 20 30 3 2 <[Badrs]=1,[Badrs]=0> JBC [Badrs],adrs 10 3 2 [Badrs]=1 {[Badrs]=0} * adrs11 : OPcode 상위5bits + ( 하위3bits + adrs 8bits) adrs11 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 OPcode -- adrs11 분기주소 -- 3. 데이터전송명령 (1) 내부데이터메모리에서데이터전송 - Immediate 번지지정 MOV A,#33H /* '#' 없으면절대번지 MOV R0,#20H MOV DPTR,#1234H - 레지스터번지지정 + 범용 Reg. 간전송불가 (MOV R0,R1) MOV PSW,#00010000B /* 이진수, Bit3,4 = Reg.Bank 선택 MOV A,#30H MOV R5,A - 직접번지지정 + 내부데이터메모리 Acc, 범용 Reg., 내부데이터메모리00~FF MOV A,3EH MOV 30H,R7 MOV 30H,35H - 레지스터간접번지지정 + Reg. Bank 중 R0, R1만사용가능 + 1operand와 2operand 모두레지스터간접사용금지 MOV R0,#40H MOV R1,#50H MOV A,@R0 MOV @R1,#0ADH /* @-간접번지 (2) 외부데이터메모리와데이터전송 - Acc 외부데이터메모리 0000~0FFFFH - 40 -

- 외부주소는 Port2+R0, Port2+R1, DPTR 만사용 - MOVX(MOVe external) 명령사용 MOV DPTR,#2000H MOV DPTR,#2050h MOVX A,@DPTR MOVX @DPTR,A MOV R1,#20H MOV P2,#0 /* P2=Port2( 상위주소 A15~8) MOVX @R1,A (3) 프로그램메모리와데이터전송 - Acc [DPTR+Acc], [PC+Acc] - MOVC(MOVe Code memory) 명령사용 MOV A,#1 MOV DPTR,#1000H MOVC A,@A+DPTR (4) 데이터교환명령 - XCH A,? Acc?(R0~7, @R0, @R1, 내부데이터메모리00~FF) - XCHD A,@Ri Acc의하위 4Bits @R0,@R1의하위 4Bits MOV R1,#45H XCHD A,@R0 XCHD A,@R1 4. 산술연산명령 - 증가 / 감소, 가 / 감산, 10 진보정, 승 / 제산 (1) Flag - 비트조작명령을제외한대부분 Acc의결과에대해서만 Flag를 Set/Reset한다. - CY : CarrY + 가 / 감산에서최상위자리 Carry/Borrow 발생하면 1 + Rotate에서 Bit8로사용 + 비트조작 ( 부울대수 ) 명령에서 Bit Accumulator로사용 + Carry 직접조작명령 CLR C : C 0 CPL C : C NOT(C) SETB C : C 1 - AC : Auxiliary Carry(Half Carry) + 가 / 감산에서하위 4자리에서 Carry/Borrow 발생하면 1 + 일반적으로 BCD(Binary Coded Decimal) 연산에서사용 - OV : OVerflow + 2보수가 / 감산에서 2보수범위 (-128~+127) 를넘으면 1 + 곱셈에서결과가 0FFh를넘으면 1 ( 결과 <0100H OV=0, 결과 0100H OV=1) + 나눗셈에서제수가 0이면 1 - P :Parity + Acc의내용에따라명령사이클마다 1이홀수면 1 even Parity( 짝수 ) - RS1, RS0 : Register Bank + 레지스터뱅크00~11을선택 + 사용예 MOV PSW,#18H /* Bank 3 MOV R6,A - 41 -

- F0 : General Flag + 사용자가용도에맞게소프트웨어 ( 명령 ) 적으로 Set/Reset (2) INC/DEC(INCrement, DECrement) 명령 형식 INC / DEC A, R0~R7, @R0/1, 직접 (00~FF) DPTR (INC 명령만 ) Flag P INC A, DEC A 동작 INC : 0FFH 00 / DEC : 00 0FFH (3) ADD/ADDC/SUBB(ADD, ADD with Carry, SUBtract with Borrow) 명령 형식 ADD/ADDC/SUBB A R0~R7, @R0/1, 직접 (00~FF), #data Flag C/AC/OV/P 모든연산 ADD : A A + 2오퍼랜드동작 ADDC/SUBB : A A ± C ± 2오퍼랜드 (4) DA(Decimal Adjust) 명령 형식 DA A Flag C/P DA A if A>9 && AC=0 then A A+6 동작 if AC=1 then A A+06H ( 하위 ) else if CY=1 then A A+60H ( 상위 ) (5) MUL/DIV(MULtiply, DIVide) 명령 형식 MUL / DIV AB Flag C/OV/P 동작 MUL : B( 상 )&A( 하 ) A*B / OV=1 (B&A)>0FFH DIV : A( 몫 )&B( 나머지 ) A B / if B=0 then OV 1 5. 논리연산명령 (1) ANL/ORL/XRL(ANd, OR, exclusive-or Logical) 명령 A R0~R7, @R0/1, 직접 (00~FF), #data 형식 ANL/ORL/XRL 직접 (00~FF) A, #data Flag P 위연산 ( A,{R0~R7, @R0/1, 직접 (00~FF), #data} ) 동작논리 And, Or, Exclusive-OR (2) CLR(CLeaR: 클리어 ) / CPL(ComPLement: 보수, ComPlemt Logical) 명령 형식 CLR / CPL A Flag P CLR A 동작 A 0 또는 A의1보수 - 42 -

(3) RL/RLC/RR/RRC(Rotate Left/Right with Carry) 명령 형식 RL / RLC / RR / RRC A Flag C/P RLC/RRC A 동작 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 C 7 6 5 4 3 2 1 0 C C 7 6 5 4 3 2 1 0 C (4) SWAP 명령 형식 SWAP A Flag 동작 A 7~A 4( 상위 4Bits) A 3~A 0 ( 하위 4Bits) - 43 -