Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

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: Truyen247.Pro

Tags: #bai2