hợp ngữ
Câu 1
: Địa chỉ cơ sở của 8255A là 9FH, cổng PA :ra, cổng PB:ra; cổng PCh : vào; cổng PCL: vào. Lập trình nếu chỉ có chân PC7 có tín hiệu thì lấy dữ liệu của cổng PCL đưa ra cổng PA, nếu chỉ có chân PC4 có tín hiệu lấy dữ liệu của cổng PCL đưa ra cổng PB.
Giải :
.Model small
.Stack 100h
.Data
PA EQU 9FH
PB EQU A0H
PC EQU A1H
CWR EQU A2H
CW EQU 89H
.code
main proc
mov AX,@Data
mov DS,AX
mov AL, CW
out CWR, AL
in AL, PC ;AL lưu giá trị cổng PC
cmp al,128d ;so sánh al với 128
je raPa ;nếu bằng nhảy tới đoạn đưa ra pa
cmp al,16d ;so sánh al với 16
je raPb ;nếu bằng nhảy tới đoạn đưa ra pb
raPa:
and al,0fh
out pa,al
jmp ketthuc
raPb:
and al,0fh
out pb,al
ketthuc:
mov AH,4CH
int 21h
Main Endp
END MAIN
Câu2:Địa chỉ cơ sở của 8255A là 9FH, cổng PA :ra, cổng PB:vào; cổng PCh : vào; cổng PCL: vào. Lập trình nếu dữ liệu ở cổng PB < 100 thì lấy dữ liệu của cổng PCL đưa ra cổng PA, ngược lại lấy dữ liệu ở cổng PCH đưa ra cổng PB.
giải:
.Model small
.Stack 100h
.Data
PA EQU 9FH
PB EQU A0H
PC EQU A1H
CWR EQU A2H
CW EQU 8BH
.Code
Main Proc
Mov AX,@Data
Mov DS,AX
Mov AL,CW
Out CWR,AL
IN AL,PB
CMP 64H,AL
JA PBNHO
IN DL,PC
AND DL,0FH
OUT PA,DL
JMP THOAT
PBNHO :
IN DL,PC
MOV CL,4
SHR DL,CL
OUT PB,DL
Thoat: Mov AH,4CH
Int 21h
Main Endp
END MAIN
câu 3:: thiết kế card giao diện sử dụng 8255 có sử dụng địa chỉ 31Fh. Nhận dữ liệu (1 cặp) từ PA, PB, PC, xử lý dữ liệu đó bằng cách lấy TB cộng và gửi ra PC.
giải:
Dùng lênh ban đầu xác đinh CW với PA,PB vào ,PC out thì từ của nó sẽ là CW=92H.
Rồi dùng lệnh IN Al,PA; IN BL,PB; lệnh công AND AL,BL; lấy trung bình thì chia 2 tức là dịch phải 2 phát; câu lệnh cụ thể như sau:
.MODEL SMALL
.STACK 100H
.DATA
PA EQU 31CH
PB EQU 31DH
PC EQU 31 EH
CWR EQU 31FH
.code
main proc
MOV AX,@DATA
MOV DS,AX
MOV AL,CW
OUT CWR,AL
IN BL,PB; đưa dữ liệu cổng B vào
IN Al,PA;
MOV CL,2
SHR AL,CL
OUT PC,AL
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
Bạn đang đọc truyện trên: AzTruyen.Top