[Assembly] Kiểm tra máy tính có cổng máy in nối tiếp

Cổng máy in nối tiếp là một định dạng cổng nối tiếp được sử dụng rộng rãi trong máy tính từ những năm 1980. Cổng giúp kết nối xuất ra từ máy tính cá nhân với dữ liệu từ máy in. Sau đây hãy cùng mình viết chương trình kiểm tra có cổng máy in nối tiếp assembly nhé.

Xem thêm:

Floating Point Unit là gì? chương trình kiểm tra FPU bằng ngôn ngữ lập trình assembly

[Assembly] GET TIME – Lấy thời gian hệ thống máy tính

1. Cổng máy in nối tiếp là gì?

Cổng máy in nối tiếp, còn được biết đến là cổng COM, là giao diện phổ biến nhất được sử dụng để nối các máy tính cá nhân với máy in ngoại vi, giúp dữ liệu di chuyển từ máy tính qua máy in thông qua một dây cáp nối tiếp.

Cổng máy in nối tiếp

2. Cấu tạo

Cổng máy in nối tiếp thông thường bao gồm một dây cáp nối tiếp một hoặc nhiều pin. Pin nhận và truyền dữ liệu từ máy tính tới máy in. Nó cũng được trang bị một phần cắm có 25 chân (D-Subminiature hoặc D-Sub), gồm các pin dữ liệu và pin điều khiển.

3. Phân loại

  • Cổng nối tiếp RS-232
  • Cổng nối tiếp Universal Serial Bus (USB).

4. Liệu máy tính có cổng máy in nối tiếp Assembly

Thuật toán: Các byte địa chỉ 0:411h của vùng dữ liệu ROM BIOS có chứa các thông tin liên quan đến cổng máy in nối tiếp:

x

byte thứ 2 chính và ô địa chỉ chứa thông tin về FPU.

Code Assembly:

INCLUDE lib1.asm
.MODEL small
.DATA                  
m1 db 13,10,'             THONG TIN VE CONG MAY IN NOI TIEP'
db 13,10,'             --------------oOo----------------'
db 13,10,13,10,'     May tinh co cong may in noi tiep khong: $'
m2 db 'Khong$'
m3 db 'Co$'
m4 db 13,10,'     An phim bat ky de tiep tuc CT $'
.CODE
PS:
      mov ax, @data
      mov ds, ax
      clrscr                  ; Xoa man hinh
      HienString m1           ; Hien thong bao m1
      int 11h                 ; 0:410h -> AL va 0:411h -> AH
      shr ah,6                ; Dua trang thai bit thu 6 -> CF
      jc  L1                  ; CF=1 (Co cong may in noi tiep) thi nhay den L1,
      HienString m2           ; con CF=0 thi thong bao m2 ('Khong')
      jmp KT                  ; roi nhay ve KT
   L1:
      HienString m3           ; CF=1 (co cong may in noi tiep) thi thong baonm3 ('Co')
   KT:
      HienString m4           ; Hien thong bao tiep tuc
      mov ah, 1               ; Cho mot ky tu nhap tu ban phim
      int 21h
      mov ah, 4ch
      int 21h
END PS

Trên đây là chương trình kiểm tra có cổng máy in nối tiếp không. Mặc dù cổng nối tiếp đã bị thay thế bởi công nghệ mới như USB, Bluetooth và Wi-Fi. Tuy nhiên, với tính ổn định và khả năng tương thích nên chúng vẫn được sử dụng. Hy vọng những thông tin trên sẽ hữu ích với bạn.

Bài viết liên quan:

Viết chương trình gộp 2 tệp assembly

Viết chương trình Hello World đầu tiên trong Assembly

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em