SlideShare uma empresa Scribd logo
1 de 35
1/Chapter3



                             Nội dung môn học
•   Giới thiệu chung về hệ vi xử lý
•   Bộ vi xử lý Intel 8088/8086
•   Lập trình hợp ngữ cho 8086
•   Tổ chức vào ra dữ liệu
•   Ngắt và xử lý ngắt
•   Truy cập bộ nhớ trực tiếp DMA
•   Các bộ vi xử lý trên thực tế
2/Chapter3



                Chương 3 Lập trình hợp ngữ với 8086
•   Giới thiệu khung của chương trình hợp ngữ
•   Cách tạo và chạy một chương trình hợp ngữ trên máy IBM PC
•   Các cấu trúc lập trình cơ bản thực hiện bằng hợp ngữ
•   Một số chương trình cụ thể
3/Chapter3



                   Chương 3 Lập trình hợp ngữ với 8086
•   Giới thiệu khung của chương trình hợp ngữ
       Cú pháp của chương trình hợp ngữ
       Dữ liệu cho chương trình
       Biến và hằng
       Khung của một chương trình hợp ngữ
•   Cách tạo và chạy một chương trình hợp ngữ trên máy IBM PC
•   Các cấu trúc lập trình cơ bản thực hiện bằng hợp ngữ
•   Một số chương trình cụ thể
4/Chapter3



                   Chương 3 Lập trình hợp ngữ với 8086
•   Giới thiệu khung của chương trình hợp ngữ
       Cú pháp của chương trình hợp ngữ
       Dữ liệu cho chương trình
       Biến và hằng
       Khung của một chương trình hợp ngữ
•   Cách tạo và chạy một chương trình hợp ngữ trên máy IBM PC
•   Các cấu trúc lập trình cơ bản thực hiện bằng hợp ngữ
•   Một số chương trình cụ thể
5/Chapter3



                                                 Cú pháp của chương trình hợp ngữ
•   .Model Small
                                   khai báo kiểu kích thước bộ nhớ
•   .Stack 100
                                   khai báo đoạn ngăn xếp
•   .Data
•
•
                 Tbao DB ‘Chuoi da sap xep:’, 10, 13
                 MGB DB ‘a’, ‘Y’, ‘G’, ‘T’, ‘y’, ‘Z’, ‘U’, ‘B’, ‘D’, ‘E’,                          khai báo đoạn dữ liệu
•                     DB ‘$’
•   .Code

•   MAIN Proc
                                                                                                  khai báo đoạn mã lệnh
•            MOV AX, @Data                                                  ;khoi dau DS
•
•
             MOV DS, AX
             MOV BX, 10                                                     ;BX: so phan tu cua mang          bắt đầu chương trình chính
•            LEA                     DX, MGB                                ;DX chi vao dau mang byte
•            DEC                     BX                                     ;so vong so sanh phai lam
•   LAP: MOV SI, DX                                                         ; SI chi vao dau mang
•            MOV                     CX, BX                                 ; CX so lan so cua vong so
•            MOV                     DI, SI                                 ;gia su ptu dau la max
•
•   TIMMAX:
             MOV                     AL, [DI]                               ;AL chua phan tu max
                                                                                                                      chú thích bắt đầu
•            INC SI                                                         ;chi vao phan tu ben canh
•
•
             CMP
             JNG
                                     [SI], AL
                                     TIEP
                                                                            ; phan tu moi > max?
                                                                            ;khong, tim max
                                                                                                                      bằng dấu ;
•            MOV                     DI, SI                                 ; dung, DI chi vao max
•        MOV AL, [DI]                                                       ;AL chua phan tu max
•   TIEP: LOOP TIMMAX                                                       ;tim max cua mot vong so
•            CALL DOICHO                                                    ;doi cho max voi so moi
•            DEC                     BX                                     ;so vong so con lai
•            JNZ                     LAP                                    ;lam tiep vong so moi
•            MOV AH, 9                                                      ; hien thi chuoi da sap xep
•            MOV                     DX, Tbao
•            INT                     21H
•            MOV                     AH, 4CH                                ;ve DOS
•            INT                     21H
•   MAIN    Endp
•
•
    DOICHO Proc
                 PUSH AX
                                                                                                               kết thúc chương trình chính
•                MOV                 AL, [SI]
•                XCHG                AL, [DI]
•
•
                 MOV
                 POP
                                     [SI], AL
                                     AX
                                                                                                             bắt đầu chương trình con
•                RET
•
•
    DOICHO Endp
            END MAIN
                                                            kết thúc đoạn mã
6/Chapter3



                    Cú pháp của chương trình hợp ngữ
• Tên Mã lệnh        Các toán hạng ; chú giải
• Chương trình dịch không phân biệt chữ hoa, chữ thường
• Trường tên:
    chứa các nhãn, tên biến, tên thủ tục
    độ dài: 1 đến 31 ký tự
    tên không được có dấu cách, không bắt đầu bằng số
    được dùng các ký tự đặc biệt: ? . @ _ $ %
    dấu . phải được đặt ở vị trí đầu tiên nếu sử dụng
    Nhãn kết thúc bằng dấu :


                     TWO_WORD
                     ?1
                     two-word
                     .@?
                     1word
                     Let’s_go
7/Chapter3



                   Chương 3 Lập trình hợp ngữ với 8086
•   Giới thiệu khung của chương trình hợp ngữ
       Cú pháp của chương trình hợp ngữ
       Dữ liệu cho chương trình
       Biến và hằng
       Khung của một chương trình hợp ngữ
•   Cách tạo và chạy một chương trình hợp ngữ trên máy IBM PC
•   Các cấu trúc lập trình cơ bản thực hiện bằng hợp ngữ
•   Một số chương trình cụ thể
8/Chapter3



                            Dữ liệu cho chương trình
• Dữ liệu:
    các số hệ số 2: 0011B
    hệ số 10: 1234
    hệ số 16: 1EF1H, 0ABBAH
    Ký tự, chuỗi ký tự: ‘A’, ‘abcd’
9/Chapter3



                   Chương 3 Lập trình hợp ngữ với 8086
•   Giới thiệu khung của chương trình hợp ngữ
       Cú pháp của chương trình hợp ngữ
       Dữ liệu cho chương trình
       Biến và hằng
       Khung của một chương trình hợp ngữ
•   Cách tạo và chạy một chương trình hợp ngữ trên máy IBM PC
•   Các cấu trúc lập trình cơ bản thực hiện bằng hợp ngữ
•   Một số chương trình cụ thể
10/Chapter3



                                 Biến và hằng
• DB (define byte): định nghĩa biến kiểu byte
• DW (define word): định nghĩa biến kiểu từ
• DD (define double word): định nghĩa biến kiểu từ kép

• Biến byte:
    Tên       DB    gia_trị_khởi đầu
    Ví dụ:
                                          MOV AL, B1
        B1    DB    4
        B1    DB    ?                    LEA BX, B1
        C1    DB    ‘$’                  MOV AL, [BX]
        C1    DB    34
11/Chapter3



                                   Biến và hằng
• Biến từ:
    Tên       DW   gia_trị_khởi đầu                  1300A
    Ví dụ:                                           13009
                                                      13008   9
       W1     DW   4
                                                      13007   8
       W2     DW   ?                                 13006   7
• Biến mảng:                                          13005   6
                                                      13004   5
    M1 DB          4, 5, 6, 7, 8, 9
                                                      13003   4        M1
                                                      13002
    M2 DB          100 DUP(0)                        13001
    M3 DB          100 DUP(?)                        13000


    M4 DB          4, 3, 2, 2 DUP (1, 2 DUP(5), 6)

    M4 DB          4, 3, 2, 1, 5, 5, 6, 1, 5, 5, 6
12/Chapter3



                                 Biến và hằng
• Biến mảng 2 chiều:
                                                 1300A
               1   6       3
                                                 13009
               4   2       5                     13008     5
                                                 13007     2
                                                 13006     4
                                                 13005     3
    M1 DB             1, 6, 3                   13004     6
       DB              4, 2, 5                   13003     1           M1
                                                 13002
                                                 13001
                                                 13000
    M2 DB             1, 4
       DB              6, 2      MOV   AL, M1 ; copy 1 vao AL
                                 MOV   AH, M1[2]
        DB             3, 5      MOV   BX, 1
                                 MOV   SI, 1
                                 MOV   CL, M1[BX+SI]
                                 MOV   AX, Word Ptr M1[BX+SI+2]
                                 MOV   DL, M1[BX][SI]
13/Chapter3



                                      Biến và hằng
• Biến kiểu xâu ký tự
    STR1 DB            ‘string’
    STR2 DB            73h, 74h, 72h, 69h, 6Eh, 67h
    STR3 DB            73h, 74h, ‘r’, ‘i’, 6Eh, 67h


• Hằng có tên
    Có thể khai báo hằng ở trong chương trình
    Thường được khai báo ở đoạn dữ liệu
    Ví dụ:
        CR   EQU       0Dh ;CR là carriage return
        LF   EQU       0Ah ; LF là line feed
        CHAO EQU       ‘Hello’

        MSG DB         CHAO, ‘$’
14/Chapter3



                   Chương 3 Lập trình hợp ngữ với 8086
•   Giới thiệu khung của chương trình hợp ngữ
       Cú pháp của chương trình hợp ngữ
       Dữ liệu cho chương trình
       Biến và hằng
       Khung của một chương trình hợp ngữ
•   Cách tạo và chạy một chương trình hợp ngữ trên máy IBM PC
•   Các cấu trúc lập trình cơ bản thực hiện bằng hợp ngữ
•   Một số chương trình cụ thể
15/Chapter3



                       Khung của chương trình hợp ngữ
•   Khai báo quy mô sử dụng bộ nhớ
      .MODEL Kiểu kích thuớc bộ nhớ
      Ví dụ: .Model Small


           Kiểu                                   Mô tả

    Tiny (hẹp)        mã lệnh và dữ liệu gói gọn trong một đoạn

    Small (nhỏ)       mã lệnh nằm trong 1 đoạn, dữ liệu 1 đoạn

    Medium (tB)       mã lệnh nằm trong nhiều đoạn, dữ liệu 1 đoạn

    Compact (gọn)     mã lệnh nằm trong 1 đoạn, dữ liệu trong nhiểu đoạn

    Large (lớn)       mã lệnh nằm trong nhiều đoạn, dữ liệu trong nhiều đoạn, không
                      có mảng nào lớn hơn 64 K
    Huge (đồ sộ)      mã lệnh nằm trong nhiều đoạn, dữ liệu trong nhiều đoạn, các
                      mảng có thể lớn hơn 64 K
16/Chapter3



                           Khung của chương trình hợp ngữ
•   Khai báo đoạn ngăn xếp
      .Stack      kích thuớc (bytes)
      Ví dụ:
          .Stack 100 ; khai báo stack có kích thước 100 bytes
      Giá trị ngầm định 128 bytes


•   Khai báo đoạn dữ liệu:
      .Data
      Khai báo các biến và hằng


•   Khai báo đoạn mã
      .Code
17/Chapter3



                        Khung của chương trình hợp ngữ
•   Khung của chương trình hợp ngữ để dịch ra file .EXE

              .Model   Small
              .Stack   100
              .Data
                       ;các định nghĩa cho biến và hằng
              .Code
              MAIN  Proc
                    ;khới đầu cho DS
                    MOV       AX, @data
                    MOV       DS, AX
                    ;các lệnh của chương trình
                    ;trở về DOS dùng hàm 4CH của INT 21H
                    MOV       AH, 4CH
                    INT       21H
              MAIN Endp
                    ;các chương trình con nếu có
              END MAIN
18/Chapter3



                        Khung của chương trình hợp ngữ
•   Chương trình Hello.EXE
             .Model   Small
             .Stack   100
             .Data
                      CRLF         DB           13,10,’$’
                      MSG          DB           ‘Hello! $’
             .Code
             MAIN     Proc
                      ;khới đầu cho DS
                      MOV            AX, @data
                      MOV            DS, AX
                      ;về đầu dòng mới dùng hàm 9 của INT 21H
                      MOV            AH,9
                      LEA            DX, CRLF
                      INT            21H
                      ;Hiển thị lời chào dùng hàm 9 của INT 21H
                      MOV            AH,9
                      LEA            DX, MSG
                      INT            21H
                      ;về đầu dòng mới dùng hàm 9 của INT 21H
                      MOV            AH,9
                      LEA            DX, CRLF
                      INT            21H
                      ;trở về DOS dùng hàm 4CH của INT 21H
                      MOV            AH, 4CH
                      INT            21H
             MAIN     Endp
                      END MAIN
19/Chapter3



                        Khung của chương trình hợp ngữ
•   Khung của chương trình hợp ngữ để dịch ra file .COM




              .Model   Tiny
              .Code
                     ORG       100h
              START: JMP       CONTINUE
                     ;các định nghĩa cho biến và hằng
              CONTINUE:
              MAIN Proc
                     ;các lệnh của chương trình
                     INT       20H     ;trở về DOS
              MAIN Endp
                     ;các chương trình con nếu có
              END START
20/Chapter3



    Khung của chương trình hợp ngữ


FFFFH
                                       SP
        Chiều tiến của ngăn xếp



        Chiều tiến của mã và dữ liệu


               CONTINUE:

                 Dữ liệu
0100H        JMP CONTINUE              IP
          Đoạn đầu chương trình
0000H     Program segment prefix
21/Chapter3



                         Khung của chương trình hợp ngữ
•   Chương trình Hello.COM
             .Model    Tiny
             .Code
                      ORG          100H
             START: JMP CONTINUE
                      CRLF         DB         13,10,’$’
                      MSG          DB         ‘Hello! $’
             CONTINUE:
             MAIN     Proc
                      ;về đầu dòng mới dùng hàm 9 của INT 21H
                      MOV          AH,9
                      LEA          DX, CRLF
                      INT          21H
                      ;Hiển thị lời chào dùng hàm 9 của INT 21H
                      MOV          AH,9
                      LEA          DX, MSG
                      INT          21H
                      ;về đầu dòng mới dùng hàm 9 của INT 21H
                      MOV          AH,9
                      LEA          DX, CRLF
                      INT          21H
                      ;trở về DOS
                      INT          20H
             MAIN     Endp
22/Chapter3



                Khung của chương trình hợp ngữ


                                       Stack




                          SS        chương trình
       chương trình       CS
                          DS
100h                      ES                       100h
          PSP                          PSP



         .COM                          . EXE
23/Chapter3



                Chương 3 Lập trình hợp ngữ với 8086
•   Giới thiệu khung của chương trình hợp ngữ
•   Cách tạo và chạy một chương trình hợp ngữ trên máy IBM PC
•   Các cấu trúc lập trình cơ bản thực hiện bằng hợp ngữ
•   Một số chương trình cụ thể
24/Chapter3



Cách tạo một chương trình hợp ngữ
   Tạo ra tệp văn bản của chương trình
                  *.asm


    Dùng MASM để dịch ra mã máy
              *.obj

    Dùng LINK để nối tệp . obj thành
               *.exe


                                   không
          Dịch được ra .com?


    Dùng exe2bin để dịch *.exe thành
                *.com


           chạy chương trình
25/Chapter3



                  Chương 3 Lập trình hợp ngữ với 8086
•   Giới thiệu khung của chương trình hợp ngữ
•   Cách tạo và chạy một chương trình hợp ngữ trên máy IBM PC
•   Các cấu trúc lập trình cơ bản thực hiện bằng hợp ngữ
     Cấu trúc lựa chọn
     Cấu trúc lặp
•   Một số chương trình cụ thể
26/Chapter3



                        Cấu trúc lựa chọn If-then
• If điều_kiện then công_việc
• Ví dụ: Gán cho BX giá trị tuyệt đối của AX



                 ; If AX<0
                 CMP       AX, 0 ; AX<0 ?
                 JNL       End_if ; không, thoát ra
                 ; then
                 NEG       AX     ; đúng, đảo dấu
                 End_if: MOV    BX, AX    ;gán
27/Chapter3



                     Cấu trúc lựa chọn If-then-else
• If điều_kiện then công_việc1 else công_việc2
• Ví dụ: if AX<BX then CX=0 else CX=1



                ; if AX<BX
                CMP        AX, BX        ; AX<BX ?
                JL         Then_ ; đúng, CX=0
                ;else
                MOV        CX, 1 ; sai, CX=1
                JMP        End_if
             Then_: MOV    CX, 0;
             End_if:
28/Chapter3



                            Cấu trúc lựa chọn case
• Case Biểu thức
       Giá trị 1: công việc 1
       Giá trị 2: công việc 2
              ...
       Giá trị N: công việc N
   END CASE
                                    CMP       AX, 0 ;
• Ví dụ:                            JL        AM     ; AX<0
                                    JE        Khong ; AX=0
  Nếu AX<0 thì CX=-1                JG        DUONG; AX>0
  Nếu AX=0 thì CX=0              AM: MOV      CX, -1
  Nếu AX>0 thì CX=1                  JMP      End_case
                                 Khong: MOV   CX, 0
                                     JMP      End_case

                                 DUONG: MOV CX, 1
                                 End_case:
29/Chapter3



                            Cấu trúc lặp FOR-DO
• For số lần lặp Do công việc

     khởi tạo bộ đếm         ví dụ: Hiển thị một dòng ký tự $ trên màn hình


        công việc
                               MOV CX, 80        ;số lần lặp
                               MOV AH,2          ;hàm hiển thị
     giảm bộ đếm đi 1          MOV DL,’$’        ;DL chứa ký tự cần hiển thị
                           HIEN: INT 21H         ; Hiển thị
                              LOOP HIEN
                           End_for
                       S
     bộ đếm=0?


             Đ
30/Chapter3



                        Cấu trúc lặp While-DO
• While điều kiện Do công việc

                           ví dụ: đếm số ký tự đọc được từ bàn phím,
  S                        khi gặp ký tự CR thì thôi
      Điều kiện

                          XOR CX, CX        ;CX=0
            Đ             MOV AH,1          ;hàm đọc ký tự từ bàn phím
                      TIEP: INT 21H         ; đọc một ký tự vào AL
                          CMP AL, 13        ; đọc CR?
      công việc          JE End_while       ; đúng, thoát
                         INC CX             ; sai, thêm 1 ký tự vào tổng
                         JMP TIEP           ; đọc tiếp
                      End_while:
31/Chapter3



                         Cấu trúc lặp Repeat-until
• Repeat công việc until điều kiện


                      ví dụ: đọc từ bàn phím cho tới khi gặp ký tự CR thì thôi

        công việc

                           MOV AH,1                 ;hàm đọc ký tự từ bàn phím
                        TIEP: INT 21H               ; đọc một ký tự vào AL
                            CMP AL, 13              ; đọc CR?
        Điều kiện           JNE TIEP                ; chưa, đọc tiếp
                        End_:
    Đ
               S
32/Chapter3



                Chương 3 Lập trình hợp ngữ với 8086
•   Giới thiệu khung của chương trình hợp ngữ
•   Cách tạo và chạy một chương trình hợp ngữ trên máy IBM PC
•   Các cấu trúc lập trình cơ bản thực hiện bằng hợp ngữ
•   Một số chương trình cụ thể
33/Chapter3



                                           Xuất nhập dữ liệu
•   2 cách:
      Dùng lệnh IN, OUT để trao đổi với các thiết bị ngoại vi
          phức tạp vì phải biết địa chỉ cổng ghép nối thiết bị
          Các hệ thống khác nhau có địa chỉ khác nhau
      Dùng các chương trình con phục vụ ngắt của DOS và BIOS
          đơn giản, dễ sử dụng
          không phụ thuộc vào hệ thống
•   Ngắt 21h của DOS:
      Hàm 1: đọc 1 ký tự từ bàn phím
          Vào: AH=1
          Ra: AL=mã ASCII của ký tự, AL=0 khi ký tự là phím chức năng
      Hàm 2: hiện 1 ký tự lên màn hình
          Vào: AH=2
                  DL=mã ASCII của ký tự cần hiển thị
      Hàm 9: hiện chuỗi ký tự với $ ở cuối lên màn hình
          Vào: AH=9
                  DX=địa chỉ lệch của chuỗi ký tự cần hiẻn thị
      Hàm 4CH: kết thúc chương trình loại .exe
          Vào: AH=4CH
34/Chapter3



                                Một số chương trình cụ thể
•   Ví dụ 1: Lập chương trình yêu cầu người sử dụng gõ vào một chữ cái thường và
    hiển thị dạng chữ hoa và mã ASCII dưới dạng nhị phân của chữ cái đó lên màn
    hình
      Ví dụ:
          Hay nhap vao mot chu cai thuong: a
          Mã ASCII dưới dạng nhị phân của a la: 11000001
          Dang chu hoa cua a la: A
      Giải:
•   Ví dụ 2: Đọc từ bàn phím một số hệ hai (dài nhất là 16 bit), kết quả đọc được để tại
    thanh ghi BX. Sau đó hiện nội dung thanh ghi BX ra màn hình.
      Giải:
•   Ví dụ 3: Nhập một dãy số 8 bit ở dạng thập phân, các số cách nhau bằng 1 dấu cách
    và kết thúc bằng phím Enter. Sắp xếp dãy số theo thứ tự tăng dần và in dãy số đã
    sắp xếp ra màn hình.
      Giải:
35/Chapter3



                                Một số chương trình cụ thể
• Ví dụ 4: Viết chương trình cho phép nhập vào kích thước M*N và các
  phần tử của một mảng 2 chiều gồm các số thập phân 8 bit.
        Tìm số lớn nhất và nhỏ nhất của mảng, in ra màn hình
        Tính tổng các phần tử của mảng và in ra màn hình
        Chuyển thành mảng N*M và in mảng mới ra màn hình



                       Hãy nhập giá trị M=
                       Hãy nhập giá trị N=
                       Nhập phần tử [1,1]=
                       Nhập phần tử [1,2]
    Giải:
                       ......
                       Số lớn nhất là phần tử [3,4]=15
                       Số nhỏ nhất là phần tử [1,2]=2
                       Tổng=256
                       ...

Mais conteúdo relacionado

Mais procurados

Hệ điều hành (chương 2)
Hệ điều hành (chương 2)Hệ điều hành (chương 2)
Hệ điều hành (chương 2)realpotter
 
ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...
ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...
ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...nataliej4
 
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...MasterCode.vn
 
Bài giảng công nghệ phần mềm PTIT
Bài giảng công nghệ phần mềm PTITBài giảng công nghệ phần mềm PTIT
Bài giảng công nghệ phần mềm PTITNguynMinh294
 
Bài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tínhBài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tínhCao Toa
 
Đại số boolean và mạch logic
Đại số boolean và mạch logicĐại số boolean và mạch logic
Đại số boolean và mạch logicwww. mientayvn.com
 
Hướng dẫn lập trình quản lý c#
Hướng dẫn lập trình quản lý c#Hướng dẫn lập trình quản lý c#
Hướng dẫn lập trình quản lý c#An Nguyen
 
Slide he dieu hanh
Slide he dieu hanhSlide he dieu hanh
Slide he dieu hanhPhan Duy
 
tổng hợp bài tập java có đáp án chi tiết
 tổng hợp bài tập java có đáp án chi tiết tổng hợp bài tập java có đáp án chi tiết
tổng hợp bài tập java có đáp án chi tiếtHoàng Trí Phan
 
Bai giang cau truc may tinh
Bai giang cau truc may tinhBai giang cau truc may tinh
Bai giang cau truc may tinhDong Van
 
Tài liệu Matlab kỹ thuật
Tài liệu Matlab kỹ thuậtTài liệu Matlab kỹ thuật
Tài liệu Matlab kỹ thuậtPham Hoang
 
Bài giảng bảo mật hệ thống thông tin
Bài giảng bảo mật hệ thống thông tinBài giảng bảo mật hệ thống thông tin
Bài giảng bảo mật hệ thống thông tinTran Tien
 
Giao trinh ctmt
Giao trinh ctmtGiao trinh ctmt
Giao trinh ctmtcanh071179
 
Bài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giảiBài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giảiTrung Thanh Nguyen
 
Viết Ngôn Ngữ Lập Trình 8051 PIC AVR
Viết Ngôn Ngữ Lập Trình 8051 PIC AVRViết Ngôn Ngữ Lập Trình 8051 PIC AVR
Viết Ngôn Ngữ Lập Trình 8051 PIC AVRMr Giap
 
Bài tập nhập môn lập trình
Bài tập nhập môn lập trìnhBài tập nhập môn lập trình
Bài tập nhập môn lập trìnhHuy Rùa
 
Giáo trình xử lý ảnh
Giáo trình xử lý ảnhGiáo trình xử lý ảnh
Giáo trình xử lý ảnhTùng Trần
 
Báo cáo môn mã nguồn mở
Báo cáo môn mã nguồn mởBáo cáo môn mã nguồn mở
Báo cáo môn mã nguồn mởThuyet Nguyen
 

Mais procurados (20)

Hệ điều hành (chương 2)
Hệ điều hành (chương 2)Hệ điều hành (chương 2)
Hệ điều hành (chương 2)
 
ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...
ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...
ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...
 
Ktmt chuong 5
Ktmt chuong 5Ktmt chuong 5
Ktmt chuong 5
 
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
 
Bài giảng công nghệ phần mềm PTIT
Bài giảng công nghệ phần mềm PTITBài giảng công nghệ phần mềm PTIT
Bài giảng công nghệ phần mềm PTIT
 
Bài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tínhBài giảng kiến trúc máy tính
Bài giảng kiến trúc máy tính
 
Đại số boolean và mạch logic
Đại số boolean và mạch logicĐại số boolean và mạch logic
Đại số boolean và mạch logic
 
Hướng dẫn lập trình quản lý c#
Hướng dẫn lập trình quản lý c#Hướng dẫn lập trình quản lý c#
Hướng dẫn lập trình quản lý c#
 
Slide he dieu hanh
Slide he dieu hanhSlide he dieu hanh
Slide he dieu hanh
 
tổng hợp bài tập java có đáp án chi tiết
 tổng hợp bài tập java có đáp án chi tiết tổng hợp bài tập java có đáp án chi tiết
tổng hợp bài tập java có đáp án chi tiết
 
Bai giang cau truc may tinh
Bai giang cau truc may tinhBai giang cau truc may tinh
Bai giang cau truc may tinh
 
Tài liệu Matlab kỹ thuật
Tài liệu Matlab kỹ thuậtTài liệu Matlab kỹ thuật
Tài liệu Matlab kỹ thuật
 
Bài giảng bảo mật hệ thống thông tin
Bài giảng bảo mật hệ thống thông tinBài giảng bảo mật hệ thống thông tin
Bài giảng bảo mật hệ thống thông tin
 
Giao trinh ctmt
Giao trinh ctmtGiao trinh ctmt
Giao trinh ctmt
 
Bài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giảiBài tập mẫu C và C++ có giải
Bài tập mẫu C và C++ có giải
 
Viết Ngôn Ngữ Lập Trình 8051 PIC AVR
Viết Ngôn Ngữ Lập Trình 8051 PIC AVRViết Ngôn Ngữ Lập Trình 8051 PIC AVR
Viết Ngôn Ngữ Lập Trình 8051 PIC AVR
 
Bài tập nhập môn lập trình
Bài tập nhập môn lập trìnhBài tập nhập môn lập trình
Bài tập nhập môn lập trình
 
Bai tap oop c++
Bai tap oop c++Bai tap oop c++
Bai tap oop c++
 
Giáo trình xử lý ảnh
Giáo trình xử lý ảnhGiáo trình xử lý ảnh
Giáo trình xử lý ảnh
 
Báo cáo môn mã nguồn mở
Báo cáo môn mã nguồn mởBáo cáo môn mã nguồn mở
Báo cáo môn mã nguồn mở
 

Último

26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdfltbdieu
 
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hộiTrắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hộiNgocNguyen591215
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...Nguyen Thanh Tu Collection
 
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfBỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfNguyen Thanh Tu Collection
 
60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx
60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx
60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docxasdnguyendinhdang
 
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdfSLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdfhoangtuansinh1
 
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...hoangtuansinh1
 
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...Nguyen Thanh Tu Collection
 
xemsomenh.com-Vòng Lộc Tồn - Vòng Bác Sĩ và Cách An Trong Vòng Lộc Tồn.pdf
xemsomenh.com-Vòng Lộc Tồn - Vòng Bác Sĩ và Cách An Trong Vòng Lộc Tồn.pdfxemsomenh.com-Vòng Lộc Tồn - Vòng Bác Sĩ và Cách An Trong Vòng Lộc Tồn.pdf
xemsomenh.com-Vòng Lộc Tồn - Vòng Bác Sĩ và Cách An Trong Vòng Lộc Tồn.pdfXem Số Mệnh
 
Đề thi tin học HK2 lớp 3 Chân Trời Sáng Tạo
Đề thi tin học HK2 lớp 3 Chân Trời Sáng TạoĐề thi tin học HK2 lớp 3 Chân Trời Sáng Tạo
Đề thi tin học HK2 lớp 3 Chân Trời Sáng Tạowindcances
 
các nội dung phòng chống xâm hại tình dục ở trẻ em
các nội dung phòng chống xâm hại tình dục ở trẻ emcác nội dung phòng chống xâm hại tình dục ở trẻ em
các nội dung phòng chống xâm hại tình dục ở trẻ emTrangNhung96
 
Kiến thức cơ bản về tư duy số - VTC Net Viet
Kiến thức cơ bản về tư duy số - VTC Net VietKiến thức cơ bản về tư duy số - VTC Net Viet
Kiến thức cơ bản về tư duy số - VTC Net VietNguyễn Quang Huy
 
bài thi bảo vệ nền tảng tư tưởng của Đảng.docx
bài thi bảo vệ nền tảng tư tưởng của Đảng.docxbài thi bảo vệ nền tảng tư tưởng của Đảng.docx
bài thi bảo vệ nền tảng tư tưởng của Đảng.docxTrnHiYn5
 
Giáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình PhươngGiáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình Phươnghazzthuan
 
Access: Chuong III Thiet ke truy van Query.ppt
Access: Chuong III Thiet ke truy van Query.pptAccess: Chuong III Thiet ke truy van Query.ppt
Access: Chuong III Thiet ke truy van Query.pptPhamThiThuThuy1
 
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdfxemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdfXem Số Mệnh
 
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...Nguyen Thanh Tu Collection
 
Giáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdf
Giáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdfGiáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdf
Giáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdf4pdx29gsr9
 
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 

Último (20)

26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
 
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hộiTrắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
Trắc nghiệm CHƯƠNG 5 môn Chủ nghĩa xã hội
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
 
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfBỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
 
60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx
60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx
60 CÂU HỎI ÔN TẬP LÝ LUẬN CHÍNH TRỊ NĂM 2024.docx
 
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdfSLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
SLIDE - Tu van, huong dan cong tac tuyen sinh-2024 (đầy đủ chi tiết).pdf
 
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
 
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
 
xemsomenh.com-Vòng Lộc Tồn - Vòng Bác Sĩ và Cách An Trong Vòng Lộc Tồn.pdf
xemsomenh.com-Vòng Lộc Tồn - Vòng Bác Sĩ và Cách An Trong Vòng Lộc Tồn.pdfxemsomenh.com-Vòng Lộc Tồn - Vòng Bác Sĩ và Cách An Trong Vòng Lộc Tồn.pdf
xemsomenh.com-Vòng Lộc Tồn - Vòng Bác Sĩ và Cách An Trong Vòng Lộc Tồn.pdf
 
Đề thi tin học HK2 lớp 3 Chân Trời Sáng Tạo
Đề thi tin học HK2 lớp 3 Chân Trời Sáng TạoĐề thi tin học HK2 lớp 3 Chân Trời Sáng Tạo
Đề thi tin học HK2 lớp 3 Chân Trời Sáng Tạo
 
các nội dung phòng chống xâm hại tình dục ở trẻ em
các nội dung phòng chống xâm hại tình dục ở trẻ emcác nội dung phòng chống xâm hại tình dục ở trẻ em
các nội dung phòng chống xâm hại tình dục ở trẻ em
 
Kiến thức cơ bản về tư duy số - VTC Net Viet
Kiến thức cơ bản về tư duy số - VTC Net VietKiến thức cơ bản về tư duy số - VTC Net Viet
Kiến thức cơ bản về tư duy số - VTC Net Viet
 
bài thi bảo vệ nền tảng tư tưởng của Đảng.docx
bài thi bảo vệ nền tảng tư tưởng của Đảng.docxbài thi bảo vệ nền tảng tư tưởng của Đảng.docx
bài thi bảo vệ nền tảng tư tưởng của Đảng.docx
 
Giáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình PhươngGiáo trình nhập môn lập trình - Đặng Bình Phương
Giáo trình nhập môn lập trình - Đặng Bình Phương
 
Access: Chuong III Thiet ke truy van Query.ppt
Access: Chuong III Thiet ke truy van Query.pptAccess: Chuong III Thiet ke truy van Query.ppt
Access: Chuong III Thiet ke truy van Query.ppt
 
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdfxemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
xemsomenh.com-Vòng Tràng Sinh - Cách An 12 Sao Và Ý Nghĩa Từng Sao.pdf
 
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
 
Giáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdf
Giáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdfGiáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdf
Giáo trình xây dựng thực đơn. Ths Hoang Ngoc Hien.pdf
 
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
TUYỂN TẬP 50 ĐỀ LUYỆN THI TUYỂN SINH LỚP 10 THPT MÔN TOÁN NĂM 2024 CÓ LỜI GIẢ...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 

03 lap trinh hop ngu voi 8086

  • 1. 1/Chapter3 Nội dung môn học • Giới thiệu chung về hệ vi xử lý • Bộ vi xử lý Intel 8088/8086 • Lập trình hợp ngữ cho 8086 • Tổ chức vào ra dữ liệu • Ngắt và xử lý ngắt • Truy cập bộ nhớ trực tiếp DMA • Các bộ vi xử lý trên thực tế
  • 2. 2/Chapter3 Chương 3 Lập trình hợp ngữ với 8086 • Giới thiệu khung của chương trình hợp ngữ • Cách tạo và chạy một chương trình hợp ngữ trên máy IBM PC • Các cấu trúc lập trình cơ bản thực hiện bằng hợp ngữ • Một số chương trình cụ thể
  • 3. 3/Chapter3 Chương 3 Lập trình hợp ngữ với 8086 • Giới thiệu khung của chương trình hợp ngữ  Cú pháp của chương trình hợp ngữ  Dữ liệu cho chương trình  Biến và hằng  Khung của một chương trình hợp ngữ • Cách tạo và chạy một chương trình hợp ngữ trên máy IBM PC • Các cấu trúc lập trình cơ bản thực hiện bằng hợp ngữ • Một số chương trình cụ thể
  • 4. 4/Chapter3 Chương 3 Lập trình hợp ngữ với 8086 • Giới thiệu khung của chương trình hợp ngữ  Cú pháp của chương trình hợp ngữ  Dữ liệu cho chương trình  Biến và hằng  Khung của một chương trình hợp ngữ • Cách tạo và chạy một chương trình hợp ngữ trên máy IBM PC • Các cấu trúc lập trình cơ bản thực hiện bằng hợp ngữ • Một số chương trình cụ thể
  • 5. 5/Chapter3 Cú pháp của chương trình hợp ngữ • .Model Small khai báo kiểu kích thước bộ nhớ • .Stack 100 khai báo đoạn ngăn xếp • .Data • • Tbao DB ‘Chuoi da sap xep:’, 10, 13 MGB DB ‘a’, ‘Y’, ‘G’, ‘T’, ‘y’, ‘Z’, ‘U’, ‘B’, ‘D’, ‘E’, khai báo đoạn dữ liệu • DB ‘$’ • .Code • MAIN Proc khai báo đoạn mã lệnh • MOV AX, @Data ;khoi dau DS • • MOV DS, AX MOV BX, 10 ;BX: so phan tu cua mang bắt đầu chương trình chính • LEA DX, MGB ;DX chi vao dau mang byte • DEC BX ;so vong so sanh phai lam • LAP: MOV SI, DX ; SI chi vao dau mang • MOV CX, BX ; CX so lan so cua vong so • MOV DI, SI ;gia su ptu dau la max • • TIMMAX: MOV AL, [DI] ;AL chua phan tu max chú thích bắt đầu • INC SI ;chi vao phan tu ben canh • • CMP JNG [SI], AL TIEP ; phan tu moi > max? ;khong, tim max bằng dấu ; • MOV DI, SI ; dung, DI chi vao max • MOV AL, [DI] ;AL chua phan tu max • TIEP: LOOP TIMMAX ;tim max cua mot vong so • CALL DOICHO ;doi cho max voi so moi • DEC BX ;so vong so con lai • JNZ LAP ;lam tiep vong so moi • MOV AH, 9 ; hien thi chuoi da sap xep • MOV DX, Tbao • INT 21H • MOV AH, 4CH ;ve DOS • INT 21H • MAIN Endp • • DOICHO Proc PUSH AX kết thúc chương trình chính • MOV AL, [SI] • XCHG AL, [DI] • • MOV POP [SI], AL AX bắt đầu chương trình con • RET • • DOICHO Endp END MAIN kết thúc đoạn mã
  • 6. 6/Chapter3 Cú pháp của chương trình hợp ngữ • Tên Mã lệnh Các toán hạng ; chú giải • Chương trình dịch không phân biệt chữ hoa, chữ thường • Trường tên:  chứa các nhãn, tên biến, tên thủ tục  độ dài: 1 đến 31 ký tự  tên không được có dấu cách, không bắt đầu bằng số  được dùng các ký tự đặc biệt: ? . @ _ $ %  dấu . phải được đặt ở vị trí đầu tiên nếu sử dụng  Nhãn kết thúc bằng dấu : TWO_WORD ?1 two-word .@? 1word Let’s_go
  • 7. 7/Chapter3 Chương 3 Lập trình hợp ngữ với 8086 • Giới thiệu khung của chương trình hợp ngữ  Cú pháp của chương trình hợp ngữ  Dữ liệu cho chương trình  Biến và hằng  Khung của một chương trình hợp ngữ • Cách tạo và chạy một chương trình hợp ngữ trên máy IBM PC • Các cấu trúc lập trình cơ bản thực hiện bằng hợp ngữ • Một số chương trình cụ thể
  • 8. 8/Chapter3 Dữ liệu cho chương trình • Dữ liệu:  các số hệ số 2: 0011B  hệ số 10: 1234  hệ số 16: 1EF1H, 0ABBAH  Ký tự, chuỗi ký tự: ‘A’, ‘abcd’
  • 9. 9/Chapter3 Chương 3 Lập trình hợp ngữ với 8086 • Giới thiệu khung của chương trình hợp ngữ  Cú pháp của chương trình hợp ngữ  Dữ liệu cho chương trình  Biến và hằng  Khung của một chương trình hợp ngữ • Cách tạo và chạy một chương trình hợp ngữ trên máy IBM PC • Các cấu trúc lập trình cơ bản thực hiện bằng hợp ngữ • Một số chương trình cụ thể
  • 10. 10/Chapter3 Biến và hằng • DB (define byte): định nghĩa biến kiểu byte • DW (define word): định nghĩa biến kiểu từ • DD (define double word): định nghĩa biến kiểu từ kép • Biến byte:  Tên DB gia_trị_khởi đầu  Ví dụ: MOV AL, B1  B1 DB 4  B1 DB ? LEA BX, B1  C1 DB ‘$’ MOV AL, [BX]  C1 DB 34
  • 11. 11/Chapter3 Biến và hằng • Biến từ:  Tên DW gia_trị_khởi đầu 1300A  Ví dụ: 13009 13008 9  W1 DW 4 13007 8  W2 DW ? 13006 7 • Biến mảng: 13005 6 13004 5  M1 DB 4, 5, 6, 7, 8, 9 13003 4 M1 13002  M2 DB 100 DUP(0) 13001  M3 DB 100 DUP(?) 13000  M4 DB 4, 3, 2, 2 DUP (1, 2 DUP(5), 6)  M4 DB 4, 3, 2, 1, 5, 5, 6, 1, 5, 5, 6
  • 12. 12/Chapter3 Biến và hằng • Biến mảng 2 chiều: 1300A 1 6 3 13009 4 2 5 13008 5 13007 2 13006 4 13005 3  M1 DB 1, 6, 3 13004 6 DB 4, 2, 5 13003 1 M1 13002 13001 13000  M2 DB 1, 4 DB 6, 2 MOV AL, M1 ; copy 1 vao AL MOV AH, M1[2] DB 3, 5 MOV BX, 1 MOV SI, 1 MOV CL, M1[BX+SI] MOV AX, Word Ptr M1[BX+SI+2] MOV DL, M1[BX][SI]
  • 13. 13/Chapter3 Biến và hằng • Biến kiểu xâu ký tự  STR1 DB ‘string’  STR2 DB 73h, 74h, 72h, 69h, 6Eh, 67h  STR3 DB 73h, 74h, ‘r’, ‘i’, 6Eh, 67h • Hằng có tên  Có thể khai báo hằng ở trong chương trình  Thường được khai báo ở đoạn dữ liệu  Ví dụ:  CR EQU 0Dh ;CR là carriage return  LF EQU 0Ah ; LF là line feed  CHAO EQU ‘Hello’  MSG DB CHAO, ‘$’
  • 14. 14/Chapter3 Chương 3 Lập trình hợp ngữ với 8086 • Giới thiệu khung của chương trình hợp ngữ  Cú pháp của chương trình hợp ngữ  Dữ liệu cho chương trình  Biến và hằng  Khung của một chương trình hợp ngữ • Cách tạo và chạy một chương trình hợp ngữ trên máy IBM PC • Các cấu trúc lập trình cơ bản thực hiện bằng hợp ngữ • Một số chương trình cụ thể
  • 15. 15/Chapter3 Khung của chương trình hợp ngữ • Khai báo quy mô sử dụng bộ nhớ  .MODEL Kiểu kích thuớc bộ nhớ  Ví dụ: .Model Small Kiểu Mô tả Tiny (hẹp) mã lệnh và dữ liệu gói gọn trong một đoạn Small (nhỏ) mã lệnh nằm trong 1 đoạn, dữ liệu 1 đoạn Medium (tB) mã lệnh nằm trong nhiều đoạn, dữ liệu 1 đoạn Compact (gọn) mã lệnh nằm trong 1 đoạn, dữ liệu trong nhiểu đoạn Large (lớn) mã lệnh nằm trong nhiều đoạn, dữ liệu trong nhiều đoạn, không có mảng nào lớn hơn 64 K Huge (đồ sộ) mã lệnh nằm trong nhiều đoạn, dữ liệu trong nhiều đoạn, các mảng có thể lớn hơn 64 K
  • 16. 16/Chapter3 Khung của chương trình hợp ngữ • Khai báo đoạn ngăn xếp  .Stack kích thuớc (bytes)  Ví dụ:  .Stack 100 ; khai báo stack có kích thước 100 bytes  Giá trị ngầm định 128 bytes • Khai báo đoạn dữ liệu:  .Data  Khai báo các biến và hằng • Khai báo đoạn mã  .Code
  • 17. 17/Chapter3 Khung của chương trình hợp ngữ • Khung của chương trình hợp ngữ để dịch ra file .EXE .Model Small .Stack 100 .Data ;các định nghĩa cho biến và hằng .Code MAIN Proc ;khới đầu cho DS MOV AX, @data MOV DS, AX ;các lệnh của chương trình ;trở về DOS dùng hàm 4CH của INT 21H MOV AH, 4CH INT 21H MAIN Endp ;các chương trình con nếu có END MAIN
  • 18. 18/Chapter3 Khung của chương trình hợp ngữ • Chương trình Hello.EXE .Model Small .Stack 100 .Data CRLF DB 13,10,’$’ MSG DB ‘Hello! $’ .Code MAIN Proc ;khới đầu cho DS MOV AX, @data MOV DS, AX ;về đầu dòng mới dùng hàm 9 của INT 21H MOV AH,9 LEA DX, CRLF INT 21H ;Hiển thị lời chào dùng hàm 9 của INT 21H MOV AH,9 LEA DX, MSG INT 21H ;về đầu dòng mới dùng hàm 9 của INT 21H MOV AH,9 LEA DX, CRLF INT 21H ;trở về DOS dùng hàm 4CH của INT 21H MOV AH, 4CH INT 21H MAIN Endp END MAIN
  • 19. 19/Chapter3 Khung của chương trình hợp ngữ • Khung của chương trình hợp ngữ để dịch ra file .COM .Model Tiny .Code ORG 100h START: JMP CONTINUE ;các định nghĩa cho biến và hằng CONTINUE: MAIN Proc ;các lệnh của chương trình INT 20H ;trở về DOS MAIN Endp ;các chương trình con nếu có END START
  • 20. 20/Chapter3 Khung của chương trình hợp ngữ FFFFH SP Chiều tiến của ngăn xếp Chiều tiến của mã và dữ liệu CONTINUE: Dữ liệu 0100H JMP CONTINUE IP Đoạn đầu chương trình 0000H Program segment prefix
  • 21. 21/Chapter3 Khung của chương trình hợp ngữ • Chương trình Hello.COM .Model Tiny .Code ORG 100H START: JMP CONTINUE CRLF DB 13,10,’$’ MSG DB ‘Hello! $’ CONTINUE: MAIN Proc ;về đầu dòng mới dùng hàm 9 của INT 21H MOV AH,9 LEA DX, CRLF INT 21H ;Hiển thị lời chào dùng hàm 9 của INT 21H MOV AH,9 LEA DX, MSG INT 21H ;về đầu dòng mới dùng hàm 9 của INT 21H MOV AH,9 LEA DX, CRLF INT 21H ;trở về DOS INT 20H MAIN Endp
  • 22. 22/Chapter3 Khung của chương trình hợp ngữ Stack SS chương trình chương trình CS DS 100h ES 100h PSP PSP .COM . EXE
  • 23. 23/Chapter3 Chương 3 Lập trình hợp ngữ với 8086 • Giới thiệu khung của chương trình hợp ngữ • Cách tạo và chạy một chương trình hợp ngữ trên máy IBM PC • Các cấu trúc lập trình cơ bản thực hiện bằng hợp ngữ • Một số chương trình cụ thể
  • 24. 24/Chapter3 Cách tạo một chương trình hợp ngữ Tạo ra tệp văn bản của chương trình *.asm Dùng MASM để dịch ra mã máy *.obj Dùng LINK để nối tệp . obj thành *.exe không Dịch được ra .com? Dùng exe2bin để dịch *.exe thành *.com chạy chương trình
  • 25. 25/Chapter3 Chương 3 Lập trình hợp ngữ với 8086 • Giới thiệu khung của chương trình hợp ngữ • Cách tạo và chạy một chương trình hợp ngữ trên máy IBM PC • Các cấu trúc lập trình cơ bản thực hiện bằng hợp ngữ  Cấu trúc lựa chọn  Cấu trúc lặp • Một số chương trình cụ thể
  • 26. 26/Chapter3 Cấu trúc lựa chọn If-then • If điều_kiện then công_việc • Ví dụ: Gán cho BX giá trị tuyệt đối của AX ; If AX<0 CMP AX, 0 ; AX<0 ? JNL End_if ; không, thoát ra ; then NEG AX ; đúng, đảo dấu End_if: MOV BX, AX ;gán
  • 27. 27/Chapter3 Cấu trúc lựa chọn If-then-else • If điều_kiện then công_việc1 else công_việc2 • Ví dụ: if AX<BX then CX=0 else CX=1 ; if AX<BX CMP AX, BX ; AX<BX ? JL Then_ ; đúng, CX=0 ;else MOV CX, 1 ; sai, CX=1 JMP End_if Then_: MOV CX, 0; End_if:
  • 28. 28/Chapter3 Cấu trúc lựa chọn case • Case Biểu thức Giá trị 1: công việc 1 Giá trị 2: công việc 2 ... Giá trị N: công việc N END CASE CMP AX, 0 ; • Ví dụ: JL AM ; AX<0 JE Khong ; AX=0 Nếu AX<0 thì CX=-1 JG DUONG; AX>0 Nếu AX=0 thì CX=0 AM: MOV CX, -1 Nếu AX>0 thì CX=1 JMP End_case Khong: MOV CX, 0 JMP End_case DUONG: MOV CX, 1 End_case:
  • 29. 29/Chapter3 Cấu trúc lặp FOR-DO • For số lần lặp Do công việc khởi tạo bộ đếm ví dụ: Hiển thị một dòng ký tự $ trên màn hình công việc MOV CX, 80 ;số lần lặp MOV AH,2 ;hàm hiển thị giảm bộ đếm đi 1 MOV DL,’$’ ;DL chứa ký tự cần hiển thị HIEN: INT 21H ; Hiển thị LOOP HIEN End_for S bộ đếm=0? Đ
  • 30. 30/Chapter3 Cấu trúc lặp While-DO • While điều kiện Do công việc ví dụ: đếm số ký tự đọc được từ bàn phím, S khi gặp ký tự CR thì thôi Điều kiện XOR CX, CX ;CX=0 Đ MOV AH,1 ;hàm đọc ký tự từ bàn phím TIEP: INT 21H ; đọc một ký tự vào AL CMP AL, 13 ; đọc CR? công việc JE End_while ; đúng, thoát INC CX ; sai, thêm 1 ký tự vào tổng JMP TIEP ; đọc tiếp End_while:
  • 31. 31/Chapter3 Cấu trúc lặp Repeat-until • Repeat công việc until điều kiện ví dụ: đọc từ bàn phím cho tới khi gặp ký tự CR thì thôi công việc MOV AH,1 ;hàm đọc ký tự từ bàn phím TIEP: INT 21H ; đọc một ký tự vào AL CMP AL, 13 ; đọc CR? Điều kiện JNE TIEP ; chưa, đọc tiếp End_: Đ S
  • 32. 32/Chapter3 Chương 3 Lập trình hợp ngữ với 8086 • Giới thiệu khung của chương trình hợp ngữ • Cách tạo và chạy một chương trình hợp ngữ trên máy IBM PC • Các cấu trúc lập trình cơ bản thực hiện bằng hợp ngữ • Một số chương trình cụ thể
  • 33. 33/Chapter3 Xuất nhập dữ liệu • 2 cách:  Dùng lệnh IN, OUT để trao đổi với các thiết bị ngoại vi  phức tạp vì phải biết địa chỉ cổng ghép nối thiết bị  Các hệ thống khác nhau có địa chỉ khác nhau  Dùng các chương trình con phục vụ ngắt của DOS và BIOS  đơn giản, dễ sử dụng  không phụ thuộc vào hệ thống • Ngắt 21h của DOS:  Hàm 1: đọc 1 ký tự từ bàn phím  Vào: AH=1  Ra: AL=mã ASCII của ký tự, AL=0 khi ký tự là phím chức năng  Hàm 2: hiện 1 ký tự lên màn hình  Vào: AH=2 DL=mã ASCII của ký tự cần hiển thị  Hàm 9: hiện chuỗi ký tự với $ ở cuối lên màn hình  Vào: AH=9 DX=địa chỉ lệch của chuỗi ký tự cần hiẻn thị  Hàm 4CH: kết thúc chương trình loại .exe  Vào: AH=4CH
  • 34. 34/Chapter3 Một số chương trình cụ thể • Ví dụ 1: Lập chương trình yêu cầu người sử dụng gõ vào một chữ cái thường và hiển thị dạng chữ hoa và mã ASCII dưới dạng nhị phân của chữ cái đó lên màn hình  Ví dụ:  Hay nhap vao mot chu cai thuong: a  Mã ASCII dưới dạng nhị phân của a la: 11000001  Dang chu hoa cua a la: A  Giải: • Ví dụ 2: Đọc từ bàn phím một số hệ hai (dài nhất là 16 bit), kết quả đọc được để tại thanh ghi BX. Sau đó hiện nội dung thanh ghi BX ra màn hình.  Giải: • Ví dụ 3: Nhập một dãy số 8 bit ở dạng thập phân, các số cách nhau bằng 1 dấu cách và kết thúc bằng phím Enter. Sắp xếp dãy số theo thứ tự tăng dần và in dãy số đã sắp xếp ra màn hình.  Giải:
  • 35. 35/Chapter3 Một số chương trình cụ thể • Ví dụ 4: Viết chương trình cho phép nhập vào kích thước M*N và các phần tử của một mảng 2 chiều gồm các số thập phân 8 bit.  Tìm số lớn nhất và nhỏ nhất của mảng, in ra màn hình  Tính tổng các phần tử của mảng và in ra màn hình  Chuyển thành mảng N*M và in mảng mới ra màn hình Hãy nhập giá trị M= Hãy nhập giá trị N= Nhập phần tử [1,1]= Nhập phần tử [1,2]  Giải: ...... Số lớn nhất là phần tử [3,4]=15 Số nhỏ nhất là phần tử [1,2]=2 Tổng=256 ...