help code asm

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • ozonedark2
    Thành viên tích cực
    • Sep 2008
    • 267

    #1

    help code asm

    các bác có ai biết lệnh này dùng thế nào không chỉ tui với:
    CJNE A,60H,$+3
    |
  • sat112117
    Thành viên mới
    • Jun 2012
    • 1

    #2
    Lệnh nhảy có điều kiện(so sánh giá trị của thanh ghi A và Rn)
    • Cú pháp: CJNE A,direct,rel
    • Lệnh này chiếm dung lượng bộ nhớ ROM là 3 Byte
    • Thời gian thực hiện: 2 chu kì máy
    • Công dụng:
    Vi điều khiển nhảy đến thực hiện chương trình tại địa chỉ mà nhãn được đặt nếu giá trị của thanh ghi A khác giá trị của ô nhớ có địa chỉ direct, nếu bằng nhau Vi điều khiển không nhảy và thực hiện lệnh kế
    Ảnh hưởng của lệnh đến cờ nhớ C:
    Nếu giá trị của thanh ghi A ≥ giá trị của ô nhớ có địa chỉ direct thì bit C có giá trị 0
    Nếu giá trị của thanh ghi A < giá trị của ô nhớ có địa chỉ direct thì bit C có giá trị 1
    tham khảo nha bạn

    Comment

    • ozonedark2
      Thành viên tích cực
      • Sep 2008
      • 267

      #3
      cái $+3 đằng sau là như thế nào vậy bác
      |

      Comment

      • kidteam
        Thành viên tích cực
        • Nov 2010
        • 1633

        #4
        $ địa chỉ của lệnh hiện tại
        mình không hiểu nữa, theo mình hiểu
        nếu $+3 thì điều kiện có đúng hay sai thì như nhau thôi
        đều thực hiện lệnh tiếp theo cả

        Comment

        • hahuyquyen
          Thành viên chính thức
          • Nov 2011
          • 82

          #5
          Lệnh CJNE A,direct,rel: so sánh thanh ghi A với nội dung ô nhớ Direct,nếu không bằng thì nhảy đến nhãn REL,giống như bạn sat12117 đã phát biểu, lệnh $+3 ở đây có ý nghĩa là nhảy đến 3 byte kế.

          Comment

          • 69PhamLai69
            Thành viên mới
            • Jun 2012
            • 4

            #6
            Nguyên văn bởi ozonedark2 Xem bài viết
            cái $+3 đằng sau là như thế nào vậy bác
            Nói như bác Kidteam là đúng rồi.
            Mình chỉ xin giải thích rõ hơn như sau :
            1. "$" là một kí hiệu đặc biệt được dùng để tham chiếu đến giá trị hiện hành của bộ đếm vị trí.
            Ví dụ :
            HERE: DJNZ R0,#24H,HERE
            tương đương với
            DJNZ R0,#24h,$
            2.Trong khi đó lệnh CJNZ lại có giá trị 2byte nên " $+3" chính là vị trí của lệnh có vị trí $+3

            => Vì vậy theo mình nghĩ , bạn có thể hiểu đơn giản là đây là dòng lệnh " kế tiếp ".

            Thân !

            Comment

            Về tác giả

            Collapse

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

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

            Collapse

            There are no results that meet this criteria.

            Đang tải...