8085 주소 지정 모드 및 인터럽트
이제 8085 마이크로 프로세서의 주소 지정 모드에 대해 살펴 보겠습니다.
8085의 주소 지정 모드
이는 내용을 변경하지 않고 한 레지스터에서 다른 레지스터로, 메모리에서 레지스터로, 레지스터에서 메모리로 데이터를 전송하는 데 사용되는 명령입니다. 8085의 주소 지정 모드는 5 개 그룹으로 분류됩니다.
즉시 주소 지정 모드
이 모드에서 8/16 비트 데이터는 명령어 자체에 피연산자 중 하나로 지정됩니다. For example: MVI K, 20F : 20F가 레지스터 K에 복사됨을 의미합니다.
주소 지정 모드 등록
이 모드에서 데이터는 한 레지스터에서 다른 레지스터로 복사됩니다. For example: MOV K, B : 레지스터 B의 데이터가 레지스터 K로 복사됨을 의미합니다.
직접 주소 지정 모드
이 모드에서 데이터는 주어진 주소에서 레지스터로 직접 복사됩니다. For example: LDB 5000K : 주소 5000K의 데이터가 레지스터 B에 복사됨을 의미합니다.
간접 주소 지정 모드
이 모드에서 데이터는 레지스터가 가리키는 주소를 사용하여 한 레지스터에서 다른 레지스터로 전송됩니다. For example: MOV K, B : 레지스터가 가리키는 메모리 주소에서 레지스터 K로 데이터가 전송됨을 의미합니다.
암시 적 주소 지정 모드
이 모드에는 피연산자가 필요하지 않습니다. 데이터는 opcode 자체에 의해 지정됩니다.For example: CMP.
8085에서 인터럽트
인터럽트는 마이크로 프로세서가 작업을 수행하도록 요청하기 위해 외부 장치가 생성하는 신호입니다. 인터럽트 신호는 TRAP, RST 7.5, RST 6.5, RST 5.5, INTR의 5 가지가 있습니다.
인터럽트는 매개 변수에 따라 다음 그룹으로 분류됩니다.
Vector interrupt − 이러한 유형의 인터럽트에서 인터럽트 주소는 프로세서에 알려져 있습니다. For example: RST7.5, RST6.5, RST5.5, 트랩.
Non-Vector interrupt − 이러한 유형의 인터럽트에서 인터럽트 주소는 프로세서에 알려지지 않으므로 인터럽트를 수행하려면 장치가 인터럽트 주소를 외부로 보내야합니다. For example: INTR.
Maskable interrupt − 이런 종류의 인터럽트에서는 프로그램에 몇 가지 명령을 작성하여 인터럽트를 비활성화 할 수 있습니다. For example: RST7.5, RST6.5, RST5.5.
Non-Maskable interrupt − 이런 종류의 인터럽트에서는 프로그램에 몇 가지 명령을 작성하여 인터럽트를 비활성화 할 수 없습니다. For example: 덫.
Software interrupt− 이러한 유형의 인터럽트에서 프로그래머는 인터럽트를 실행하기 위해 프로그램에 명령어를 추가해야합니다. 8085에는 8 개의 소프트웨어 인터럽트, 즉 RST0, RST1, RST2, RST3, RST4, RST5, RST6, RST7이 있습니다.
Hardware interrupt − 8085에는 하드웨어 인터럽트로 사용되는 5 개의 인터럽트 핀 (예 : TRAP, RST7.5, RST6.5, RST5.5, INTA)이 있습니다.
Note− NTA는 인터럽트가 아니며 마이크로 프로세서에서 승인을 보내는 데 사용됩니다. TRAP이 가장 높은 우선 순위를 가지며 그 다음에는 RST7.5 등이 있습니다.
인터럽트 서비스 루틴 (ISR)
실행될 때 해당 인터럽트 소스를 서비스하는 작은 프로그램 또는 루틴을 ISR이라고합니다.
덫
모든 인터럽트 중에서 가장 높은 우선 순위를 갖는 마스크 불가능한 인터럽트입니다. 기본적으로 확인 될 때까지 활성화됩니다. 장애 발생시 ISR로 실행하여 데이터를 백업 메모리로 전송합니다. 이 인터럽트는 제어를 0024H 위치로 전송합니다.
RST7.5
모든 인터럽트 중에서 두 번째로 높은 우선 순위를 갖는 마스크 가능한 인터럽트입니다. 이 인터럽트가 실행되면 프로세서는 PC 레지스터의 내용을 스택에 저장하고 003CH 주소로 분기합니다.
RST 6.5
모든 인터럽트 중 세 번째로 높은 우선 순위를 갖는 마스크 가능한 인터럽트입니다. 이 인터럽트가 실행되면 프로세서는 PC 레지스터의 내용을 스택에 저장하고 0034H 주소로 분기합니다.
RST 5.5
마스크 가능한 인터럽트입니다. 이 인터럽트가 실행되면 프로세서는 PC 레지스터의 내용을 스택에 저장하고 002CH 주소로 분기합니다.
INTR
모든 인터럽트 중에서 가장 낮은 우선 순위를 갖는 마스크 가능한 인터럽트입니다. 마이크로 프로세서를 재설정하여 비활성화 할 수 있습니다.
언제 INTR signal goes high, 다음 이벤트가 발생할 수 있습니다-
마이크로 프로세서는 각 명령을 실행하는 동안 INTR 신호의 상태를 확인합니다.
INTR 신호가 높으면 마이크로 프로세서는 현재 명령을 완료하고 활성 로우 인터럽트 승인 신호를 보냅니다.
명령어가 수신되면 마이크로 프로세서는 다음 명령어의 주소를 스택에 저장하고 수신 된 명령어를 실행합니다.