컴퓨터 지식 네트워크 - 컴퓨터 프로그래밍 - 어셈블리 언어를 사용하여 두 컴퓨터 간의 통신을 구현하는 방법 - 인터페이스 및 통신 과정 설계

어셈블리 언어를 사용하여 두 컴퓨터 간의 통신을 구현하는 방법 - 인터페이스 및 통신 과정 설계

발신자 프로그램:

AL EQU 20H:BYTE

AH EQU 21H:BYTE

BX EQU 22H:WORD

ORG 200CH

DCW SINT

ORG 2080H

MAIN: LD SP,#00F0H

LDB 30H,#0

LDB 31H,#1

LDB 32H,#2

LDB 33H,#3

LDB 34H,#4

p>

LD BX,#0030H

LDB IOC1,#20H ;TXD/P2.0 선택

LDB SPCON,#09H ;D3: 수신 허용;D1D0: 01 방법

LDB BAUDRATE,#4DH

LDB BAUDRATE,#80H

LDB INT_MASK,#40H ;직렬 포트 인터럽트 소스 열기

EI

LDB AL,#05H

STB AL,SBUF

LOOP1: SJMP LOOP1

SINT: PUSHF

LDB AL,SP_STAT; 상태 레지스터 데이터 복사

JBS AL,6,SINT1; RI 인터럽트 수신 플래그 쿼리

CMP BX,#0035H

JE SINT2

LDB AL,[BX]+

STB AL,SBUF 데이터 전송

SJMP SINT2

SINT1: LDB AH ,SBUF

SINT2: POPF

RET

수신기 프로그램

AL EQU 20H: BYTE

BX EQU 22H:WORD

CL EQU 24H:BYTE

NUM EQU 26H:BYTE

ORG 200CH

DCW SINT

ORG 2080H

MAIN: LD SP,#00FFH

LDB BX,#0030H

CLRB CL

, #20H ;TXD/P2.0 선택

LDB SP_CON,#09H ;D3: D1D0:01 모드 수신 허용

LDB BAUD_RATE,#4DH

LDB BAUD_RATE,#80H

LDB INT_MASK,#40H ;직렬 포트 인터럽트 소스 열기

EI

LOOP1: SJMP LOOP1

SINT : PUSHF

LDB AL,SP_STAT; 상태 레지스터 데이터 복사

JBS AL,6,SINT1; RI 인터럽트 수신 플래그 쿼리

SJMP SINT3

SINT1: LDB NUM,SBUF

SINT2: LDB AL,SP_STAT

JBC AL,6,SINT2

LDB AL,SBUF

STB AL,[BX]+

ADDB CL,AL

DJNZ NUM,SINT2

STB CL,SBUF

SINT3: POPF

RET

이것은 내 직렬 포트 이중 기계 통신 프로그램입니다< /피> 피>

上篇: 세계 종말에 관한 영화는 몇 편인가요? 下篇: 미리 감사드립니다. GTX660 그래픽 카드를 사용하고 싶습니다. 다른 권장 사항이 있으면 전원 공급 장치, 마더보드도 고려해 볼 수 있습니다. , 및 CPU.
관련 내용