Thông báo

Collapse
No announcement yet.

Hỏi về code ASM

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

  • Hỏi về code ASM

    Em tự học ASM bằng sách của thầy Tống Văn On,giáo trình tu đầy đủ nhưng dài và có 1 sô code em ko hiểu,mong các bác ghé qua tiện tay đánh ít chữ cho em hiểu:
    -Đây là nhãn delay_500ms:
    PUSH 00H
    PUSH 01H
    MOV R1,#250(LIỆU CÓ ĐÚNG KO,NẾU ĐÚNG GIẢI THÍCH GIÙM EM TAI SAO NÓ DELAY ĐƯỢC 500MS)
    -Gặp thằng này em ko hiểu là nó nghĩa lam sao:$
    VDJNZ R0,$(giải thích giùm em cái,liệu ký hiệu $ còn ý nghĩa nào nữa ko)
    Vẫn biết điều này đơn giản với các bác,nhưng khi ghe qua hãy để lại cho em ít chữ,em XIN CẢM ƠN

  • #2
    Cũng tùy vào minh dùng thạch anh bao nhiêu.
    Ví dụ:
    Dùng thạch anh 12M. Thì mỗi chu kỳ máy là 1uS = 1/1000000 s. Mà 1mS = 1/1000 S.
    Ký hiệu $ cho biết đó là địa chỉ ngay tại chỗ nó đứng.
    Lệnh DJNZ R0,$ ; Chiếm 2 chu kỳ máy, có ý nghĩa là giảm R0 và nhảy nếu R0 chưa bằng 0.
    Vậy với chương trình delay như trên thì 250 us * 2 (chu kỳ máy của lệnh DJNZ) = 500 uS chứ không phải là 500 mS.

    Comment


    • #3
      Mình chưa đọc sách của Tống văn ơn,nhưng đã đọc qua quyển của Nguyễn Tăng Cường thấy sách in sai nhiều lắm,lúc đọc bạn phải cẩn thận.ví dụ ở trên,tại sao lại nạp R1 giá trị 250 sau đó dùng lệnh DJNZ R0 ??? cái này rõ ràng là không hợp lí rồi.bạn trích cả đoạn code đầy đủ lên cho mọi người xem đi

      Comment


      • #4
        delay500uS: ;nhan chuong trinh con delay 500us = 1/2000 s.
        mov r0,#250 ; Bỏ 250 vào r0, vậy sau lệnh này r0 = 250.
        djnz r0,$ ; giảm r0 rồi so sánh với 0: nếu r0 = 0 thì thực hiện lệnh
        ;tiếp theo (ret). Còn nếu r0 # 0 thì làm lại lệnh này.
        ;Vậy trong trường hợp này thì thực hiện lệnh djnz này 250
        ;lần thì ro mới bằng 0. Mà lệnh djnz chiếm 2 chu kỳ máy,
        ;Vậy toàn bộ chương trình delay này chiếm khoảng 500
        ;chu ky máy, nếu dùng thạch anh 12M --> 500 us.
        ret

        Comment

        Về tác giả

        Collapse

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

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

        Collapse

        Đang tải...
        X