내가 메카트로닉스과이고 걍 심심해서 글이나 싸지를까해.
어셈블리어 라고 들어 봤나 ?
에셈블리어가 무엇이냐
기계어는 0과 1만 있는거 알지 불이 켜지고 꺼지고, 실린더 같은 경우 전진 후진만 되고, 이런거인데.
0과 1로만 하면 머리가 쥐어 터지거든 그래가지고 기억에 남는 편리한 니모닉 이란 기억용 약호를 사용해서
프로그램 하게 만든게 어셈블리어라그래. 그나마 내 느낌에는 이게 제일 편한 프로그래밍 같어. 어떤사람은 C언어가 편하다는 사람도 있긴하지만...
결론은 기계어와 1:1로 대응하는 언어로 사람이 이해하기 쉽게 만든 언어야. 물론 이것도 기계어이기 때문에 이해하기에는 존나게 빡실겨..
우선 어셈블리어를 알기전에 컴퓨터를 먼저 이해해 보자고.
컴퓨터는 산술논리 연산부, 제어부, 메모리, 입출력 장치로 되어 있어 , 그런데 이들을 연결 시켜줘야 뭔가 작동이 되겠지?
이것들을 BUS 버스라고해,
BUS의 종류는 - address bus, data bus, control bus 가 있어 . 이 버스들은 중앙처리 장치 메모리 그리고 입출력 장치 사이에서 정보를 전송하기 위해 사용되.
어드레스 버스 - 데이터를 읽어 오거나 데이터를 보낼 위치를 지정할때 쓰는거.
데이터 버스 - 정보가 전달되는 통로 로써 컴퓨터의 성능에 중요한 역할을 해, 이게 존나 좋아야 컴퓨터로 뭐든 하는겨
중앙처리 장치 - CPU 알지? 인간의 뇌라 보면 되는거. 그럼 중앙처리 장치를 해부하면 뭐가 나오는지 볼까?
레지스터- 정보를 잠깐만 저장하는거
산술 논리장치 - 정보에 대한 연산 ㅇㅇ.
명령 디코더와 제어창치 - 명령의 인출, 해독, 실행
프로그램 카운터- 실행할 명령이 저장된 기억 장소의 주소를 보유...
말이 존나 어렵네 시발.
메모리 - RAM ROM 이 있자나 램은 휘발성 존나 잘까먹는 새끼임 데이터를 읽거나 쓰는것 다되. ROM이 제일 기억잘함 그런데 읽기만 가능한 새끼임..
님들 야동이 다 롬으로 저장되는거 ㅋㅋ
자 이제, 다음으로 넘어가서,
기계어, 0 과 1만으로 쓴다 그랬지? 그런데 이게 0 1 만 쓰면 개 빡친단 말이야 그래서 이걸 조금이나마 완화하기 위해
16진법 을 쓰는 거야. 이진 법을 16진법, 16진법을 2진법으로 만드는 방법은 매우 쉬워.
2진법 - 0 1
16진법 - 1 2 3 4 5 6 7 8 9 A B C D E F 이라는 건 누구나 알겠지?
A=10 B=11 C=12 D=13 E=14 F=15
0111 1010 (2) 를 16진법으로 바꾸면 7A (H) H는 16진법이라는 표시야.
빨리하는 방법을 알려줌 ㅋㅋ
각 자리 에 8 4 2 1 이라는 숫자를 부여해줘
8 4 2 1 / 8 4 2 1 <- 이렇게
0 1 1 1 / 1 0 1 0 <-방금 위에 쓴 이진수야.
이렇게 0 이 있는곳을 제외한 1 이 있는 곳만 더해주는것, 즉, 부여해 준 숫자만 더해주면되.
그러면 4 + 2 + 1 하고 8 + 2 이렇게 나오지?
그래서 7A (H)가나오는 거야 , 이해 갔는지 모르겠다 ....
자그럼 오늘은 여기 까지하고 이어지는 8051 마이크로 콘트롤러 을 설명할거야.
굿바이 하기전에 어셈블리어 맛뵈기
MOV A,#0F7H - A에 F7H 저장
MOV P1,A - P1에 A에 저장된 데이터를 저장.
아는 사람은 알겠지만 A와 P1이 뭔지는 나중에 설명해줄게 ㅋㅋ
시간날 때 쓸거니 언제 쓸지 몰라 ㅋㅋ 다음에 봐
아오빡쳐요
酒酒
로더가 파일을 렘에 올려 대기시키고 시피유로 읽는거
그건
폴리메카닉스공학과공돌이
폴리메카닉스공학과공돌이
Intellect
뮐링캣
공돌이
123
그저 16진법만 설명해준꼴 뷁
공돌이는공돌공돌해
잉텔
물론 x86이 아닌 arm 인스트럭션... ㅅㅂ..