chuong 10 gioi thieu tap lenh 89c51

62 288 0
chuong 10 gioi thieu tap lenh 89c51

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

toan82vn@gmail.com Tập lệnh 89C51 I Cách định địa ghi Định địa ghi: Ta địnhh địa trực tiếp định địa gián tiếp, ta định địa trực tiếp vào ghi hay ghi có chức đặc biệt (tham khảo tài giáo trình) Định địa trực tiếp: Định địa trực tiếp di chuyển liệu trực tiếp vào ô nhớ( tham khảo thêm giáo trình) Định địa gián tiếp: Định địa gián tiếp thay ta di chuyển vào nhớ ta di chuyển trực tiếp ta dùng địa trung gian đê làm II Tập lệnh 89C51 • Nhóm lệnh chuyển liệu : a Cú pháp:      Mov     A,#data Công dụng:  thiết lập liệu cho ghi A b Cú pháp:      Mov     direct,#data Công dụng:  thiết lập liệu cho ô nhớ có địa direct c Cú pháp:      Mov   Rn,#data  Cơng dụng:  thiết lập liệu cho thang ghi Rn d Cú pháp:      Mov    A,Rn Công dụng: Chuyển liệu ghi Rn vào ghi A, liệu ghi Rn không đổi e Cú pháp: Mov     A,direct Công dụng: chuyển liệu nhớ có địa direct vào ghi A f Cú pháp: Mov     A,@Ri Cơng dụng: chuyển liệu nhớ 'có địa giá trị ghi Ri vào ghi A g Cú pháp:      Mov     Rn,A Công dụng:  chuyển liệu từ ghi A vào ghi Rn (n=0-7) h Cú pháp:      Mov     direct,A Công dụng:  chuyển liệu từ ghi A vào nhớ có địa direct l Cú pháp:      Mov     direct,Rn Công dụng:  chuyển liệu từ ghi Rn vào ô nhớ có địa direct m Cú pháp:      Mov     direct,direct Cơng dụng:  chuyển liệu từ nhớ có địa direct này  vào nhớ có địa direct khác n Cú pháp:      Mov     direct,@Ri Công dụng:  Chuyển liệu nhớ có địa giá trị ghi Ri vào nhớ có địa direct o Cú pháp:      Mov    @Ri,A Công dụng:  Chuyển liệu ghi A vào nhớ có địa giá trị ghi Ri p Cú pháp:      Mov    @Ri,direct Công dụng:  Chuyển liệu ô nhớ có địa direct vào nhớ có địa giá trị ghi Ri q Cú pháp:      Mov    @Ri,#data Công dụng:  Thiết đặt liệu cho ô nhớ có địa giá trị ghi Ri i Cú pháp:      Mov         DPTR,#data16 Công dụng:  Thiết đặt liệu cho trỏ liệu với liệu 16 bit, thực chất liệu lưu hai ghi DPL (byte thấp-địa byte 82H) DPH (byte cao-địa byte 83H) j Cú pháp: Movx @Ri,A Công dụng: ghi liệu từ A nhớ ngồi k Cú pháp: Movx A, @ Ri Công dụng: đọc liệu từ nhớ ngồi A r Cú pháp: Movx @DPTR,A Công dụng: ghi liệu từ A nhớ ngồi s Cú pháp: Movx A, @ DPTR Cơng dụng: đọc liệu từ nhớ ngồi A h Cú pháp:      MovC       A,@A+DPTR Công dụng:  Chuyển liệu từ nhớ ROM có địa giá trị A cộng với DPTR vào ghi A h Cú pháp:      MovC       A,@A+DPTR Công dụng:  Chuyển liệu từ nhớ ROM có địa giá trị A cộng với DPTR vào ghi A bang: (ghi chu 5000h) DB 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h Mov dptr,#bang Mov a,#8 Movc a,@a+dptr A=80h *) Lệnh hoán đổi: a Cú pháp:      XCH       A,direct Công dụng:  Trao đổi liệu ghi A với nhớ có địa direct, tức sau thực lệnh nhớ có địa direct mang liệu ghi A trước ghi A mang liệu nhớ có địa direct b Cú pháp:      XCH       A,Rn Công dụng:  Trao đổi liệu ghi A với ghi Rn c Cú pháp:      XCH       A,@Ri Công dụng:  Trao đổi liệu ghi A với ô nhớ có địa giá trị lưu giữ ghi Ri d Cú pháp:      XCHD       A,@Ri Công dụng:  Trao đổi liệu bit thấp ghi A với liệu bit thấp nhớ có địa giá trị lưu giữ ghi Ri Nhóm lệnh số học Chú ý:       Cờ nhớ C:      C=1 phép tốn cộng xảy tràn phép trừ có mượn      C=0 phép tốn cộng khơng tràn phép trừ khơng có mượn Phép cộng xảy tràn phép cộng mà kết lớn 255 (hay FFH hay 11111111b), lúc C=1 m Cú pháp:      JMP    @A+DPTR Công dụng: Khi lệnh thực hiện, Vi điều khiển chuyển đến thực câu lệnh chương trình có địa ROM giá trị A cộng với giá trị lưu giữ DPTR n Cú pháp:      JZ    rel Cơng dụng:            Nếu cờ Zero có giá trị 1(tức ghi A có giá trị 0), Vi điều khiển nhảy đến thực chương trình địa mà nhãn đặt            Nếu cờ Zero có giá trị 0(tức ghi A có giá trị khác 0), Vi điều khiển thực lệnh kế tiếp  (không thực lệnh nhảy) o Cú pháp:      JNZ    rel Công dụng:            Nếu cờ Zero có giá trị 0(tức ghi A có giá trị khác 0), Vi điều khiển nhảy đến thực chương trình địa mà nhãn đặt            Nếu cờ Zero có giá trị 1(tức ghi A có giá trị  0), Vi điều khiển thực lệnh kế tiếp  (không thực lệnh nhảy) p Cú pháp:      JNZ    rel Công dụng:            Nếu cờ Zero có giá trị 0(tức ghi A có giá trị khác 0), Vi điều khiển nhảy đến thực chương trình địa mà nhãn đặt            Nếu cờ Zero có giá trị 1(tức ghi A có giá trị  0), Vi điều khiển thực lệnh kế tiếp  (không thực lệnh nhảy) q Cú pháp:      JC    rel Cơng dụng:            Nếu cờ C có giá trị 1, Vi điều khiển nhảy đến thực chương trình địa mà nhãn đặt            Nếu cờ C có giá trị 0, Vi điều khiển thực lệnh (không thực lệnh nhảy) r Cú pháp:      JNC   rel Công dụng:            Nếu cờ C có giá trị 0, Vi điều khiển nhảy đến thực chương trình địa mà nhãn đặt            Nếu cờ C có giá trị 1, Vi điều khiển thực lệnh (không thực lệnh nhảy) s Cú pháp:      JB    bit,rel Công dụng:            Nếu bit nhớ có giá trị 1, Vi điều khiển nhảy đến thực chương trình địa mà nhãn đặt            Nếu bit nhớ có giá trị 0, Vi điều khiển thực lệnh kế tiếp  (không thực lệnh nhảy) i.Cú pháp:      JNB   bit,rel Công dụng:            Nếu bit nhớ  có giá trị 0, Vi điều khiển nhảy đến thực chương trình địa mà nhãn đặt           Nếu bit nhớ có giá trị 1, Vi điều khiển thực lệnh (không thực lệnh nhảy) y v Cú pháp:      CJNE     A,direct,rel Công dụng:            Vi điều khiển nhảy đến thực chương trình địa mà nhãn đặt giá trị ghi A khác giá trị nhớ có địa direct, Vi điều khiển không nhảy thực lệnh kế           Ảnh hưởng lệnh đến cờ nhớ C:                       Nếu giá trị ghi A ≥ giá trị nhớ có địa direct bit C có giá trị                       Nếu giá trị ghi A < giá trị nhớ có địa direct bit C có giá trị W Cú pháp:      CJNE     A,#data,rel Công dụng:            Vi điều khiển nhảy đến thực chương trình địa mà nhãn đặt, giá trị ghi A khác giá trị liệu cho trước, Vi điều khiển không nhảy thực lệnh kế           Ảnh hưởng lệnh đến cờ nhớ C:                       Nếu giá trị ghi A ≥ giá trị liệu cho trước bit C có giá trị                       Nếu giá trị ghi A < giá trị liệu cho trước bit C có giá trị z Cú pháp:      CJNE     Rn,#data,rel Công dụng:           Vi điều khiển nhảy đến thực chương trình địa mà nhãn đặt giá trị ghi Rn khác giá trị liệu cho trước, Vi điều khiển không nhảy thực lệnh kế *) lệnh nhảy so sánh a1 Cú pháp:      CJNE     @Ri,#data,rel Công dụng:           Vi điều khiển nhảy đến thực chương trình địa mà nhãn đặt giá trị nhớ có địa giá trị Ri khác giá trị liệu cho trước, Vi điều khiển không nhảy thực lệnh kế b1 Cú pháp:      CJNE     @Ri,#data,rel Công dụng:           Vi điều khiển nhảy đến thực chương trình địa mà nhãn đặt giá trị nhớ có địa giá trị Ri khác giá trị liệu cho trước, Vi điều khiển không nhảy thực lệnh kế c1 Cú pháp:      DJNZ    Rn,rel Công dụng:           Giảm giá trị ghi Rn xuống đơn vị,           -Nếu giá trị ghi Rn khác 0, Vi điều khiển nhảy đến thực chương trình địa mà nhãn đặt           -Nếu giá trị ghi Rn 0, Vi điều khiển thực lệnh d1 Cú pháp:      DJNZ    direct,rel Công dụng:           Giảm giá trị ô nhớ có địa direct xuống đơn vị           Nếu giá trị nhớ có địa direct khác 0, Vi điều khiển nhảy đến thực chương trình địa mà nhãn đặt           Nếu giá trị nhớ có địa direct 0, Vi điều khiển thực lệnh e1 Cú pháp:      NOP Cơng dụng: delay chu kì máy ...Tập lệnh 89C51 I Cách định địa ghi Định địa ghi: Ta địnhh địa trực tiếp định địa gián tiếp, ta định địa trực... tiếp thay ta di chuyển vào nhớ ta di chuyển trực tiếp ta dùng địa trung gian đê làm II Tập lệnh 89C51 • Nhóm lệnh chuyển liệu : a Cú pháp:      Mov     A,#data Công dụng:  thiết lập liệu cho ghi

Ngày đăng: 03/11/2017, 13:56

Mục lục

  • 2. Nhóm lệnh số học

  • 3. Nhóm lệnh luận lý

  • 4. Nhóm lệnh thực thi trên bit

  • 5.Nhóm lệnh điều khiển:

  • *) lệnh nhảy và so sánh tiếp theo

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan