목차
Part 1 8051 코어의 분석
0 mc8051의 검증 따라 하기 (HBE-COMBO 보드 이용) = 11
1 8051의 특징 = 38
2 8051 구조
2.1 메모리 및 레지스터 구조 = 39
2.2 입출력 포트 = 45
2.3 인터럽트 = 46
2.4 리셋 = 48
3 8051 명령어 집합
3.1 직접 데이터 주소 (내부 데이터 메모리 주소) - direct = 49
3.2 간접 데이터 주소 (외부 데이터 메모리, 내부 데이터 메모리, 외부 프로그램 메모리) - @R0, @R1, @DPTR, @A+DPTR = 49
3.3 비트 데이터 주소 - bit = 50
3.4 분기 주소 - addr16, addr11, rel, @A+DPTR = 51
3.5 레지스터 피연산자 - A, R0-R7, DPTR, B = 52
3.6 상수 값 (즉시 값) - #data, #data16 = 52
3.7 명령어의 종류 별 분류 = 53
4 mc8051의 구조
4.1 8051 코어 (mc8051_core)의 계층 구조 = 63
4.2 ALU 구조 = 64
4.3 제어 유닛의 구조 = 80
4.4 명령어 별 수행 방식 분석 = 142
5 Combo FPGA 보드를 이용한 mc8051의 검증 및 실행 환경
5.1 mc8051의 웹 사이트 = 213
5.2 HBE_COMBO에서의 검증을 위한 mc8051 코어의 변경 = 213
5.3 코어의 검증 절차 = 220
5.4 CD 상의 디렉토리 구조 = 221
5.5 control_mem 모듈의 수정 = 223
5.6 mc8051 검증 예제 = 223
6 MP3100X FPGA board를 이용한 mc8051의 구현
6.1 Xilinx FPGA와 MP3100X보드의 특징 = 225
6.2 MC 8051_Top module의 수정 = 226
6.3 interrupt 외부 입력을 받기 위한 debounce 회로 설계 = 236
6.4 Block Ram 설계 = 238
6.5 핀 연결 = 239
6.6 보드테스트 = 242
7 1부 연습문제 / 프로젝트 = 248
Part 2 Assembler 개발 방법(8051 어셈블러를 중심으로)
1 어셈블러의 개발 환경 및 개발 도구
1.1 어셈블러 = 254
1.2 개발환경을 포함하는 Cygwin = 255
1.3 개발 도구 (Gcc, Make, Bison과 flex) = 264
1.4 bison 또는 yacc의 사용법 = 265
1.5 LEX 또는 FLEX의 사용법 = 273
1.6 make의 사용법 = 274
1.7 예제 수행 = 275
2 예제 어셈블러: 8051 assembler
2.1 AS31 8051 어셈블리어에 대한 bison 구문 = 276
2.2 2-pass assembler와 main 프로시저 = 289
2.3 파서의 action 기술 = 291
2.4 Lexical analyzer = 304
2.5 컴파일 및 예제 수행 = 325
3 연습문제 (myRISC 어셈블러 개발 과제)
3.1 myRISC 어셈블리어 구문 = 328
3.2 myRISC 명령어 형식 및 명령어 엔코딩 = 329
3.3 myRISC 어셈블러 개발 = 333
부록
A1 ModelSim MXE 사용자 매뉴얼 = 337
A2 ModelSim MXE license 받기 = 351
A3 XILINX ISE 및 ModelSim 사용 VHDL 설계 및 검증
A3.1 VHDL 시뮬레이션/합성 툴 설치하기 = 358
A3.2 VHDL Design Entry = 359
A3.3 VHDL Simulation = 368
A3.4 Synthesis & Implementation = 378
A4 CLAP Logic Analyzer 사용법(CLAP: C. N. U. Logic Analyzer and Pattern injector)
A4.1 SLAPG 설치하기 = 390
A4.2 LAPG 사용하기 = 391
A4.3 Schematic 사용 예(ALTERA MAX+PLUS Ⅱ) = 392
A4.4 VHDL 사용 예(XILINX ISE 사용) = 397
B1 B1 8051 명령어의 범주 별 명령어의 동작 및 엔코딩
B1.1 산술 연산 명령어의 동작 및 엔코딩 = 400
B1.2 논리 연산 명령어의 동작 및 엔코딩 = 402
B1.3 데이터 전송 명령어의 동작 및 엔코딩 = 403
B1.4 비트 단위의 연산 명령어 = 406
B1.5 분기 명령어 = 408
B2 인텔 HEX 파일 형식 = 410
C1 셀로코 MP3100X 보드의 간단한 사용법
C1.1 특징 = 413
C1.2 기본 환경 설정 = 414
C1.3 전체 블록도 및 핀 배치도 = 416
C1.4 입출력 기능 = 417
C2 한백전자 ALTERA/XILINX FPGA board : HBE-COMBO
C2.1 HBE-COMBO 보드 개요 및 특징 = 424
C2.2 전체 핀 배치도 = 424
C2.3 입출력 기능 = 426