Thông báo

Collapse
No announcement yet.

giúp mình giải thích lệnh này với ( assembly)

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

  • giúp mình giải thích lệnh này với ( assembly)

    chào các bạn, mình load được tài liệu 8951 xem ví dụ trong đó thấy có lệnh này "
    CJNE R0,#20,$ +3
    jc off

    CJNE R0,#20,$-4

    KHÔNG HIỂU ($+3) và ($-4) ở đây có nghĩa là gì, và lệnh này thực thi thế nào. mình hiểu viết thế này là sao?


    [FONT=ff3, 'Times New Roman', Times, serif]
    [/FONT]

  • #2
    Nguyên văn bởi phuceltn Xem bài viết
    chào các bạn, mình load được tài liệu 8951 xem ví dụ trong đó thấy có lệnh này "
    CJNE R0,#20,$ +3
    jc off

    CJNE R0,#20,$-4

    KHÔNG HIỂU ($+3) và ($-4) ở đây có nghĩa là gì, và lệnh này thực thi thế nào. mình hiểu viết thế này là sao?


    [FONT=ff3, 'Times New Roman', Times, serif]
    [/FONT]
    $ là nhãn nhảy tới đầu dòng, $+x là nhảy tới giá trị vị trí lệnh hiện tại của $ cộng thêm x .Ví dụ:
    0000: MOV A,#00
    0002: MOV R0,#0FFH
    0004: MOV R1,#0FFH
    0006: MOV A,R0
    0007: CJNE R0,#20,$+3 ;SẼ TƯƠNG ĐƯƠNG CJNE R0,#20,000A
    000A: CJNE R0,#26,$-4 ;SẼ TƯƠNG ĐƯƠNG CJNE R0,#26,0006
    000D: MOV R1,#20H

    0FF

    Comment


    • #3
      Nguyên văn bởi chung1608 Xem bài viết
      $ là nhãn nhảy tới đầu dòng, $+x là nhảy tới giá trị vị trí lệnh hiện tại của $ cộng thêm x .Ví dụ:
      0000: MOV A,#00
      0002: MOV R0,#0FFH
      0004: MOV R1,#0FFH
      0006: MOV A,R0
      0007: CJNE R0,#20,$+3 ;SẼ TƯƠNG ĐƯƠNG CJNE R0,#20,000A
      000A: CJNE R0,#26,$-4 ;SẼ TƯƠNG ĐƯƠNG CJNE R0,#26,0006
      000D: MOV R1,#20H

      0FF
      cám ơn bạn đã giúp, nhưng theo như bạn giải thích thì nếu như $+1 và $ -1 thì sẽ nhảy tới đâu? ( vì trong tài liệu đã load, mình thấy có chổ lệnh " $+1" nữa).
      Ở trên bạn giải thích $+3 thì chỉ nhảy xuống dưới 1 dòng lệnh thôi. vậy đối với lệnh này, phải chăng tối thiểu phải là $+3.bạn chỉ giúp chổ này nhé, cám ơn bạn nhiều

      Comment


      • #4
        Nguyên văn bởi phuceltn Xem bài viết
        cám ơn bạn đã giúp, nhưng theo như bạn giải thích thì nếu như $+1 và $ -1 thì sẽ nhảy tới đâu? ( vì trong tài liệu đã load, mình thấy có chổ lệnh " $+1" nữa).
        Ở trên bạn giải thích $+3 thì chỉ nhảy xuống dưới 1 dòng lệnh thôi. vậy đối với lệnh này, phải chăng tối thiểu phải là $+3.bạn chỉ giúp chổ này nhé, cám ơn bạn nhiều
        phía trước mỗi lệnh bạn thấy có các dãy số, đó là số lượng byte bộ nhớ chương trình mà lệnh đó chiếm.
        Lấy ví dụ lệnh: 0007: CJNE R0,#20,$+3
        $ sẽ tương đương 0007
        nếu ta +3: thì 0007+3=000A là lệnh phía dưới
        nếu ta -1: thì 0007-1=0006 là lệnh phía trên
        nếu ta +6: thì 0007+3=000D là lệnh cuối cùng

        Nhưng trường hợp +2 ở đây: 0007+2=0009 sẽ là nhảy tới vị trí 0009. Vị trí này là 1 phần của lệnh ở 0007 nên ta sẽ nhảy tới 1 lệnh ko có trong chương trình và cũng ko biết lệnh đó là lệnh gì nếu ko khảo sát bằng mô phỏng.

        Như video bạn thấy 2 ví dụ đầu tiên là bình thường
        Đối với ví dụ thứ 3 ta thấy bộ đếm nhảy tới vị trí 0009 là lệnh MOV R7,A không có trong chương trình.

        Comment


        • #5
          mình hiểu rồi, cám ơn bạn rất nhiều!
          Vì trước giờ học asm, khi gặp các lệnh nhảy mình gán nhản cho nó nhảy tới, chứ chưa từng gặp kiểu này. vì mình không quan tâm lắm đến số byte lệnh. giờ hiểu thêm một cách viết nữa. cám ơn bạn.

          Comment


          • #6

            hay that !

            Comment

            Về tác giả

            Collapse

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

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

            Collapse

            • bqviet
              Trả lời cho Đấu tắt điện cho máy tính bảng
              bởi bqviet
              Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
              06-12-2025, 17:17
            • nguyendinhvan
              Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
              bởi nguyendinhvan
              Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
              05-12-2025, 19:59
            • afrendly
              Trả lời cho Đấu tắt điện cho máy tính bảng
              bởi afrendly
              Có vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
              04-12-2025, 01:27
            • nick22
              Trả lời cho Máy điện châm ?
              bởi nick22
              Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
              01-12-2025, 13:23
            Đang tải...
            X