Thông báo

Collapse
No announcement yet.

Giúp mình về Các lệnh quay

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Giúp mình về Các lệnh quay

    Hi all.
    Giải thích dùm một số kết quả dưới nhe.
    chỉ cho mình cách tính quay trái quay phải.

    RR: MOV A, #36H ; A = 0011 0110
    RR A ; A = 0001 1011
    RR A ; A = 1000 1101
    RR A ;A = 1100 0110
    RR A ; A = 0110 0011
    RRC: MOV A #26H ; A = 0010 0110
    RRC A ; A = 0001 0011 CY = 0
    RRC A ; A = 0000 1001 CY = 1

    P/S:
    Chúc mọi người vui vẻ.

  • #2
    Nguyên văn bởi binhdao123 Xem bài viết
    Hi all.
    Giải thích dùm một số kết quả dưới nhe.
    chỉ cho mình cách tính quay trái quay phải.

    RR: MOV A, #36H ; A = 0011 0110
    RR A ; A = 0001 1011
    RR A ; A = 1000 1101
    RR A ;A = 1100 0110
    RR A ; A = 0110 0011
    RRC: MOV A #26H ; A = 0010 0110
    RRC A ; A = 0001 0011 CY = 0
    RRC A ; A = 0000 1001 CY = 1

    P/S:
    Chúc mọi người vui vẻ.
    Cái này đọc sách là hiểu thôi mà, nó cũng không khó lắm, có thể nói sơ qua thế này:
    Thanh ghi A (hay bất cứ 1 thanh ghi 8 bít nào đó) có thứ tự các bít như sau: A = D7|D6|D5|D4|D3|D2|D1|D0. Các cái Dx ( D7, D6, ..., D0) ở đây là vị trí của các bít.
    Ví dụ với A = 0011 0110 thì các Dx có giá trị tương ứng là : D7 = 0 (bít D7 có giá trị bằng 0), D6 = 0, D5 = 1, D4 = 1, D3 = 0, D2 = 1, D1 = 1, D0 = 0.
    • Với lệnh quay Phải (RR A): Khi VĐK thực hiện lệnh quay thì các bít trong thanh ghi A sẽ dịch chuyển, cụ thể là bít D0 sẽ chuyển lên D7, D1 sẽ chuyển lên D0, D2 sẽ chuyển lên D1, ... cho đến D7 sẽ chuyển về D6. Sau 1 lần thực hiện lệnh quay thì bạn có trạng thái mới của các bít sẽ là : D7 = D6, D6 = D5, D5 = D4, D4 = D3, D3 = D2, D2 = D1, D1 = D0, D0 = D7. Khi thực hiện tiếp lệnh RR lần thứ 2 thì bít D0 ban đầu sẽ chuyển lên D1, D1 ban đầu sẽ chuyển lên D0 ... cứ thế D7 ban đầu sẽ chuyển sang D5 (ban đầu ở đây là trạng thái ban đầu của các bít, lúc mà bạn chưa thực hiện lệnh quay RR lần nào).
    • Với lệnh quay Trái (RL A) thì ngược lại: Khi VĐK thực hiện lệnh quay thì các bít trong thanh ghi A sẽ dịch chuyển, cụ thể là bít D0 sẽ chuyển lên D1, D1 sẽ chuyển lên D2, D2 sẽ chuyển lên D3, ... cho đến D7 sẽ chuyển về D0. Khi thực hiện tiếp lệnh RL lần thứ 2 thì bít D0 ban đầu sẽ chuyển lên D2, D1 ban đầu sẽ chuyển lên D3 ... cứ thế D7 ban đầu sẽ chuyển sang D1 ... v.v
    • Với lệnh quay phải có nhớ (RRC A): thì chỉ khác ở chỗ khi bạn thực hiện lệnh quay thì bít D0 sẽ chuyển sang cờ CY, cờ CY sẽ chuyển sang D7, D7 sẽ chuyển sang D6, D6 sẽ chuyển sang D5... cứ thế D2 chuyển sang D1, D1 chuyển sang D0 ....
    • Với lệnh quay trái có nhớ (RLC A): Dịch chuyển ngược lại so với lệnh RRC A thôi.

    Áp dụng vào ví dụ của bạn sẽ cho ra kết quả như trên !
    Hi vọng mình viết dễ hiểu . Thân !

    Comment


    • #3
      các bác ơi! hướng dẫn em làm mạch nhiệt độ với 89s52 đc không, có bác nào bit giúp em với?cảm ơn các bác trước

      Comment

      Về tác giả

      Collapse

      binhdao123 Tìm hiểu thêm về binhdao123

      Bài viết mới nhất

      Collapse

      Đang tải...
      X