Thứ Hai, 15 tháng 1, 2007

Asm - CHƯƠNG TRÌNH TRUYỀN VÀ NHẬN MỘT HAY NHIỀU KÝ TỰ TỪ CỔNG COM

CHƯƠNG TRÌNH TRUYỀN VÀ NHẬN MỘT HAY NHIỀU  KÝ TỰ TỪ CỔNG COM
Môn lập trình ASM (assemble)có lẽ ít ai quan tâm đến nhưng nó vẫn là môn học bắt buộc trong các trường đại học
Nhằm giúp đỡ các bạn đang học hay tìm hiểu về môn ASSEMBLY, Tôi Post bài này lên các bạn làm th
Bài sau đây hướng dẫn các bạn viết chương trình đơn giản kết nối 2 máy tính qua cổng COM để truyền tin qua
Sơ Đồ thuật toán như sau:
Image Hosted by ImageShack.us

Đoạn mã chương trình, chú ý chú thích kèm theo mỗi câu lệnh

.MODEL SMALL
.STACK 100H
.DATA
MESSAGE DB 10,13,'*** KET NOI 2 MAY TINH BANG CONG COM ***'
DB 13,10,'.TOC DO BAUD=4800, KHONG KIEM TRA CHAN LE,1 BIT DUNG,8 BITS DU LIEU',10,13
DB '..DE THOAT KHOI CHUONG TRINH, NHAN PHIM ESC',10,13
DB '...MOI BAN NHAP VAO THONG TIN MUON GUI DI : ',13,10,'$'
STR1 DB 500 DUP('$')
CR DB 10,13,'$'


.CODE
MOV AX,@DATA
MOV DS,AX
MOV ES,AX

MOV AH,09
LEA DX,MESSAGE
INT 21H
;========KHOI TAO CONG COM 1============
MOV AH,0 ;KHOI TAO CONG COM
MOV DX,0 ;CHON CONG COM 1
MOV AL,0C3H ;Toc Do Baud=4800, Khong Bac ;Chan Le,1 Bit Dung,8 Bits Du ;Lieu
INT 14H
AGAIN:
MOV AH,01 ;QUET BAN PHIM
INT 16H ;NEU ZF= 0, KHONG CO PHIM ; ;NAO DUOC AN
JZ NHAN
MOV CL,1BH ;LUU MA ASCII CUA PHIM ESC ;VAO CL
CMP AL,CL ;SO SANH VOI PHIM ASC (NEU ;DUOC NHAN)
JE EXIT ;NEU PHIM ESC DUOC NHAN, ; ;THOAT KHOI CHUONG TRINH, ;TRO VE DOS

LEA DX,STR1 ;LAY DIA CHI VUNG DEM
MOV AH,0AH ;NHAP CHUOI
INT 21H
CLD ;CO HUONG LUI
LEA SI,STR1+2 ;
LAP:
LODSB ;LAY MOT KY TU TU ;CHUOI STR1
CMP AL,13 ;SO SANH VOI PHIM
;ENTER
JE XD ;NEU BANG NHAY DEN XD
MOV AH, 1 ;KHONG BANG, TRUYEN ;KY TU DI
MOV DX,0
INT 14H
JMP LAP
;KIEM TRA TRANG THAI CONG COM1,
NEU CO DU LIEU THI NHAN VA HIEN THI
NHAN:
MOV AH,03 ;KIEM TRA TRANG THAI COM1
MOV DX,0
INT 14H
AND AH,01 ;AH CHUA TRANG THAI CONG RS232 , KIEM ;TRA BIT 1 CUA AH
CMP AH,01 ;SO SANH BIT 1 CUA AH, AH=01:CO DU LIEU
JNE AGAIN ;NEU KHONG BANG, TIEP TUC KIEM TRA BAN ;PHIM
MOV AH,02 ;AH=01, CO DU LIEU, NHAN DU LIEU BANG ;HAM 2 INT 14H
MOV DX,0
INT 14H ;
MOV DL,AL ;HIEN THI KY TU LEN MAN HINH
MOV AH,02 ;
INT 21H
JMP AGAIN ;TIEP TUC KIEM TRA BAN PHIM
XD:
MOV AH,9 ;XUONG DONG O SENDER
LEA DX,CR
INT 21H
n
MOV AH,1 ;XUONG DONG O RECEIVER
MOV DX,0
MOV AL,13
INT 14H
MOV AH,1
MOV DX,0
MOV AL,10
INT 14H
JMP AGAIN ; TIEP TUC KIEM TRA BAN PHIM
;====THOAT KHOI CHUONG TRINH=====
EXIT:
MOV AH,4CH
INT 21H
END

Không có nhận xét nào: