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 신호가 높으면 마이크로 프로세서는 현재 명령을 완료하고 활성 로우 인터럽트 승인 신호를 보냅니다.

  • 명령어가 수신되면 마이크로 프로세서는 다음 명령어의 주소를 스택에 저장하고 수신 된 명령어를 실행합니다.