어셈블리 학습: 기초 지식
기계어
기계 언어는 기계 지령의 결합이다.기계 지령의 전개는 기계가 정확하게 집행할 수 있는 명령이다.전자계산기의 기계 명령은 이진 숫자다.컴퓨터는 이를 일렬 고저전평으로 바꾸어 컴퓨터의 전자 부품을 구동하여 계산한다 CPU는 마이크로프로세서입니다.컴퓨터는 CPU와 다른 CPU가 직접 또는 간접적으로 제어하는 칩, 부품, 장치로 구성된 컴퓨터 시스템을 가리킨다. 모든 마이크로프로세서는 하드웨어 디자인과 내부 구조가 다르기 때문에 서로 다른 레벨 펄스로 제어하여 함께 앉게 해야 한다.그래서 모든 마이크로프로세서는 자신의 기계 지령집, 즉 기계 언어를 가지고 있다. 개인 소감
어셈블리 언어의 생성
어셈블리 언어의 주체는 어셈블리 명령이다.어셈블리 지령과 기계 지령의 차이는 지령의 표시 방법에 있다.어셈블리 명령은 기계 명령이 기억하기 쉬운 쓰기 형식이다. 어셈블리 언어로 프로그램을 작성하는 작업 과정
—— —— —— ——
예.
: BX AX
:1000100111011000
:mov ax,bx
어셈블리 언어의 구성
어셈블리 언어는 세 가지 지령으로 구성되어 있다 어셈블리 명령어.기계 코드의 부호는 대응하는 기계 코드가 있다. 위조 지령.대응하는 기계 코드가 없으면 컴파일러가 실행하고 컴퓨터는 실행하지 않습니다. 기타 기호.만약 + -×\등, 컴파일러가 식별하고 대응하는 기계 코드가 없다. 어셈블리 언어의 핵심은 어셈블리 명령으로 어셈블리 언어의 특성을 결정한다. 명령 및 데이터
지령과 데이터를 적용할 때의 개념.CPU는 작업을 할 때 어떤 정보를 지령으로 간주하고 어떤 정보를 데이터로 간주하여 같은 정보를 위해 서로 다른 의미를 부여한다. 예.
1000100111011000 ------------------------->89D8H( )
1000100111011000 ------------------------->mov ax,bx( )
기억 장치
마이크로컴퓨터 메모리의 메모리 단원은 Byte, 즉 8개의 이진 비트를 저장할 수 있다.
스토리지에 대한 CPU 읽기/쓰기
CPU가 데이터를 읽고 쓰려면 외부 장치와 세 가지 정보를 상호 작용해야 합니다. 스토리지 유닛의 주소(주소 정보) 부품의 선택, 읽기 또는 쓰기(제어 정보) 읽거나 쓴 데이터(데이터 정보) 컴퓨터에는 CPU와 다른 칩을 연결하는 도선이 전문적으로 있는데 통상적으로 버스라고 부른다. 전송 정보에 따라 버스는 논리적으로 3가지, 주소 버스, 제어 버스와 데이터 버스로 나뉜다. CPU가 메모리에서 데이터를 읽거나 쓰는 과정 주소 버스를 통해 해당하는 주소 정보를 발송한다. 제어선을 통해 메모리 읽기 명령을 보내고 메모리 칩을 선택하여 읽기 및 쓰기 작업을 할 것을 알립니다. 데이터가 데이터 라인을 통해 CPU로 전송되거나 CPU에서 스토리지 장치로 전송됩니다. 컴퓨터의 읽기와 쓰기를 명령하다
:101000010000001100000000
: MOV AX,[3]
: 3 AX
주소 버스
한 CPU에 N개의 주소선이 있으면 이 CPU의 주소 버스의 폭은 N이라고 할 수 있다.이러한 CPU는 최대 2의 N 차원의 메모리 유닛을 찾을 수 있습니다. 데이터 버스
8088CPU의 주소 버스 폭 88086CPU의 데이터 버스 폭 16 8088 CPU는 89D8, 1차 D8, 2차 89로 2회에 걸쳐 전송
8086 CPU 1회 전송 89D8제어 버스
제어 버스는 하나의 총칭으로 제어 버스는 서로 다른 제어 라인의 집합이다.버스의 폭을 제어하는 것은 CPU가 외부 부품에 대한 제어 능력을 결정한다. 메모리 읽기나 쓰기 명령은 몇 개의 제어선이 종합적으로 발신된 것으로 그 중에서'읽기 신호 출력'이라고 불리는 제어선은 CPU가 바깥으로 읽기 신호를 전달하는 것을 책임진다메인보드
메인보드에는 핵심 부품과 일부 주요 부품이 있는데 이런 부품은 버스(주소 버스, 데이터 버스, 제어 버스)를 통해 연결된다.이 부품들은 CPU, 메모리, 외곽 칩셋, 확장 슬롯 등이 있다.확장 슬롯의 이전 버전에는 RAM 메모리 막대와 다양한 인터페이스 카드가 장착되어 있습니다.
인터페이스 카드
컴퓨터 시스템에서 사용 가능한 모든 프로그램이 작업을 제어하는 장치는 CPU의 제어를 받아야 한다.쉽게 말하면 CPU는 버스를 통해 인터페이스 카드에 명령을 보내고 인터페이스 카드는 CPU의 명령에 따라 외부 장치를 제어하여 작업을 한다. 각종 기억 장치 칩
스토리지는 기능과 접속에서 다음과 같은 범주로 나눌 수 있습니다. 랜덤 메모리.메인 랜덤 메모리는 일반적으로 두 위치의 RAM으로 구성되어 있으며, 메인보드에 장착된 RAM과 확장 슬롯에 꽂힌 RAM BIOS 장착 ROM 인터페이스 카드의 RAM 메모리 주소 공간
이러한 스토리지는 물리적으로 독립된 부품이지만 다음 두 가지는 동일합니다. 모두 CPU의 버스로 연결 CPU가 그것들을 읽거나 쓸 때 모두 제어선을 통해 메모리 읽기와 쓰기 명령을 보낸다. 모든 물리 메모리는 몇몇 메모리 단원으로 구성된 논리 메모리로 간주되고 모든 물리 메모리는 이 논리 메모리에서 하나의 주소 구역, 즉 하나의 주소 공간을 차지한다. 메모리 주소 공간(가상 논리 스토리지) 기본 스토리지 주소 공간 메모리 주소 공간 그래픽 BIOS ROM 주소 공간 NIC BIOS ROM 주소 공간 시스템 BIOS ROM 주소 공간 8086PC 메모리 주소 공간 할당 기본 스토리지 주소 공간 메모리 주소 공간 다양한 ROM 주소 공간 소결
어셈블리 지령은 기계 지령의 부호로 기계 지령과 일일이 대응한다 각 CPU마다 자체 어셈블리 명령 세트가 있음 CPU가 직접 사용할 수 있는 정보는 스토리지에 저장됩니다. 메모리 재명령과 데이터는 아무런 차이가 없고 모두 이진 정보이다. 스토리지 유닛의 0부터 순차 번호 하나의 메모리 단원은 8개bit, 즉 8비트 이진수를 저장할 수 있다. 1Byte=8bit 1KB=1024B 1MB=1024KB 1GB=1024MB 각 CPU 칩에는 버스와 연결된 여러 개의 탭이 있습니다.이 파이프들이 버스를 끌어낸다고 할 수도 있다.하나의 CPU는 세 개의 버스의 폭을 끌어낼 수 있어 이 CPU의 다양한 성능을 나타낸다. 주소 버스의 폭은 CPU의 주소 찾기 능력을 결정한다. 데이터 버스의 폭은 CPU가 다른 부품과 데이터 전송을 할 때의 횟수에 따라 전송량을 결정한다. 제어 버스의 폭은 CPU가 시스템의 다른 부품에 대한 제어 능력을 결정한다. 연습 문제 검측
1CPU의 주소 지정 능력은 8KB이고 주소 버스의 폭은 (13) 1KB 스토리지에는 (1024) 개의 스토리지 장치가 있습니다.엔클로저의 번호는 (0)부터 (1023)까지 1KB의 메모리는 (8192)bit, (1024)개의 Byte를 저장할 수 있다.
1GB, 1MB, 1KB는 각각(1073741824),(1048576),(1024)Byte 8080, 8088, 80286, 80386의 주소 버스 폭이 각각 16개, 20개, 24개, 32개이면 그들의 주소 찾기 능력은 각각 (64)KB, (1)MB, (16)MB, (4)GB이다.
8080, 8088, 8086, 80289, 80386의 데이터 버스 폭은 8개, 8개, 16개, 16개, 32개이다.한 번에 전송할 수 있는 데이터는 (1B), (1B), (2B), (2B), (4B)이다. 메모리에서 1024바이트의 데이터를 읽고 8086은 최소 512회, 80386은 최소 256회 읽어야 한다. 메모리에 데이터와 프로그램을 (이진법) 형식으로 저장한다.