bai tap 2

BÀI 2. Lập trình cho chế độ thăm dò.

a/ Dữ liệu được nhập vào PA (7bit); PB (8bit); cờ nối vào PA0. Trung bình cộng xuất PC. Giả sử PA có địa chỉ 310h.

• Model Small

• Stack 100

• Data

PA EQU 310h

PB EQU 311h

PC EQU 312h

CWR EQU 313h

CW EQU 92h

• Code

MAIN Proc

MOV AX, @Data ; Khởi đầu thanh ghi DS trong đoạn dữ liệu

MOV DS, AX

MOV AL, CW ; PA, PB=I; PC=0

OUT CWR, AL

KT: IN AX, PA ; đọc dữ liệu từ PA vào AX

AND AX, 01h

CMP AX, 0 ; so sánh AX và 0

JE KT ; nếu AX=0 thì quay trở lại vòng lặp KT

IN AX, PA ; đọc dữ liệu từ PA vào AX

SHR AX, 1 ; dịch phải AX 1 lần

MOV BX, AX ; chuyển AX vào BX

IN AX, PB ; đọc dữ liệu từ PB vào AX

ADD AX, BX ; AX+BX rồi lưu KQ vào AX

SHR AX, 1 ; chia đôi AX, được trung bình cộng

OUT PC, AX ; đưa dữ liệu TBCộng từ AX ra cổng PC

RA: MOV AH, 4CH

INT 21h

Main Endp

END MAIN

b/ Dữ liệu được nhập vào PA (7bit); PB (8bit); cờ nối vào PA7. Trung bình cộng xuất PC. Giả sử PA có địa chỉ 310h.

• Model Small

• Stack 100

• Data

PA EQU 310h

PB EQU 311h

PC EQU 312h

CWR EQU 313h

CW EQU 92h

• Code

MAIN Proc

MOV AX, @Data ; Khởi đầu thanh ghi DS trong đoạn dữ liệu

MOV DS, AX

MOV AL, CW

OUT CWR, AL

KT: IN AX, PA ; đọc dữ liệu từ PA vào AX

AND AX, 80h

CMP AX, 0

JE KT

IN AX, PA ; đọc dữ liệu từ PA vào AX

AND AX, 7Fh

MOV BX, AX ; chuyển AX vào BX

IN AX, PB ; đọc dữ liệu từ PB vào AX

ADD AX, BX ; AX+BX rồi lưu KQ vào AX

SHR AX, 1 ; chia đôi AX, được trung bình cộng

OUT PC, AX ; đưa dữ liệu TBCộng từ AX ra cổng PC

RA: MOV AH, 4CH

INT 21h

Main Endp

END MAIN

Bạn đang đọc truyện trên: AzTruyen.Top

Tags: #bai2