티스토리 뷰
서론
저도 남들에게 공유할 만큼은 아니지만, 이 글을 읽어서 어셈블리 프로그래밍에 조금이라도 관심을 가지는 분에게 도움이 될수 있었으면 합니다.
여기 있는 강좌는 "8086 Microprocessor Emulator "이라는 프로그램으로 강좌가 진행이됩니다.
MASM으로도 진행이 가능하지만 MASM보다 이 프로그램이 사용이 쉬우며 직관적이기 때문에 이프로그램을 이용하도록 하겠습니다.
제작사 홈페이지: (http://www.emu8086.com) 현재 개발사가 없어진건 같습니다.
다운로드 페이지: https://softfamous.com/emu8086/
시리얼: User:ISHAAN,glaitm Key:27R3VDEFYFX4N0VC3FRTQZX반드시 학습 용도로만 사용하세요!(그외에는 정품을 구입하시기 바랍니다.)
어셈블리어란?
컴퓨터에서 최하위 언어, 기계어와 1:1로 표현이 가능하고, 사람의 입장에서 다루기 쉽게 각 기계어에 니모닉 기호를 이용, 표현한 언어이다.
(니모닉: 기계어에 1:1로 대응 하는 명령어)
8086 프로세서란?
1978년 인텔에서 개발된 개인용 16비트 프로세서이다.
후에 개인용 프로세서인 펜티엄, 셀러론, 코어2듀오, AMD등 많은 개인용 CPU가 이 구조를 기본으로 확장한 디자인을 가지고 있다.
8086은 명령어 길이가 가변인 CISC(Complex Instruction Set Computer, 복잡한 명령어 셋 컴퓨터)를 기반으로 디자인된 프로세스이다.
쉽게 말해 CISC 기반인 프로세스는 명령어의 길이가 일정치 않고 명령에 따라 차지하는 공간이 틀려진다는 것이다.
예를 들어보자
아래는 CISC 예제이다
주소 객체코드 명령어
0F77:0000 B8790F MOV AX,0F79
0F77:0003 8ED8 MOV DS,AX
0F77:0005 B409 MOV AH,09
이처럼 명령어의 길이가 때마다 틀리다.
아래는 RISC의 예제다.
주소 명령어 객체코드
2064 be done 03 80 00 06
2068 addcc %r1,-4,%r1 82 80 7F FC
2072 addcc %r1,%r2,%r4 88 80 40 02
2076 ld %r4,%r5 CA 01 00 00
2080 ba loop 10 10 BF FF FB
2084 addcc %r3,%r5,%r3 86 80 CO 05
이처럼 명령어의 길이가 일정하다
- Total
- Today
- Yesterday
- 유틸
- PS2
- windows 7
- 메모리부팅
- MAC
- Mac osX
- 드라이버
- 에니메이션OST
- 그누보드
- 유틸리티
- 사이버포뮬러
- Objective C
- god knows
- OSX
- IT·컴퓨터
- 사운드블라스터
- 음악
- 맥북
- 자바
- 맥
- 눈
- 매킨토시
- 유틸 활용
- Xbox360
- javascript
- php
- 제주
- 스즈미야 하루히의 우울
- 제주대학교
- 오디지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |