Thông báo

Collapse
No announcement yet.

cho hỏi lệnh Mạch đếm từ 0-99

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

  • cho hỏi lệnh Mạch đếm từ 0-99

    Đây là mạch đếm từ 0-99 dùng PP chốt, cho mình hỏi 3 lệnh đầu

    mov a,r0
    mov b,#10
    div ab
    tại sao lại dùng lệnh chia div ab, ai có thể giải thích cho mình hiểu cụ thể dc ko. TKS

    ; sang tu 0-99 dung pp chot
    main:
    mov r0,#0
    sang:
    mov a,r0
    mov b,#10
    div ab
    mov dptr,#maled
    movc a,@a+dptr
    mov p2,a
    clr p1.0
    setb p1.0
    mov a,b
    movc a,@a+dptr
    mov p2,a
    clr p1.1
    setb p1.1
    call delay
    inc r0
    cjne r0,#100,sang
    jmp main
    delay:
    mov r2,#20
    giam1s:
    mov tmod,#01h
    mov tl0,#low(-50000)
    mov th0,high(-50000)
    setb tr0
    jnb tf0,$
    clr tr0
    clr tf0
    djnz r2,giam1s
    ret
    maled: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,00h,90h
    end

  • #2
    Nguyên văn bởi bienhoacc Xem bài viết
    Đây là mạch đếm từ 0-99 dùng PP chốt, cho mình hỏi 3 lệnh đầu

    mov a,r0
    mov b,#10
    div ab
    tại sao lại dùng lệnh chia div ab, ai có thể giải thích cho mình hiểu cụ thể dc ko. TKS

    ; sang tu 0-99 dung pp chot
    main:
    mov r0,#0
    sang:
    mov a,r0
    mov b,#10
    div ab
    mov dptr,#maled
    movc a,@a+dptr
    mov p2,a
    clr p1.0
    setb p1.0
    mov a,b
    movc a,@a+dptr
    mov p2,a
    clr p1.1
    setb p1.1
    call delay
    inc r0
    cjne r0,#100,sang
    jmp main
    delay:
    mov r2,#20
    giam1s:
    mov tmod,#01h
    mov tl0,#low(-50000)
    mov th0,high(-50000)
    setb tr0
    jnb tf0,$
    clr tr0
    clr tf0
    djnz r2,giam1s
    ret
    maled: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,00h,90h
    end
    mở sách đọc lại cấu trúc lệnh DIV đi bạn

    Comment


    • #3
      đọc lại đi thôi

      Comment


      • #4
        lâu ko dùng asm..bi giờ đọc không biết gì
        Quang Nhat
        ---------------------------------------
        Yahoo :quangnhat85ls
        Mail :
        Nhận thiết kế và ép nhựa cho đồ điện tử

        Comment


        • #5
          Mình đọc lại sách thì thấy có VD sau:
          A = 25, B = 6, khi dùng lenh div ab thì lấy 25 chia 6 kết quả 4 cất vào A, dư 1 cất trong B.

          Còn ở trên kia thì:
          mov r0,#0
          sang:
          mov a,r0
          mov b,#10
          div ab
          ; r0 = 0, mov a,r0 ---> a = 0 vậy lấy 0 chia 10 = 0 cái này là cái mình ko hiểu.

          Comment


          • #6
            Nguyên văn bởi bienhoacc Xem bài viết
            Mình đọc lại sách thì thấy có VD sau:
            A = 25, B = 6, khi dùng lenh div ab thì lấy 25 chia 6 kết quả 4 cất vào A, dư 1 cất trong B.

            Còn ở trên kia thì:
            mov r0,#0
            sang:
            mov a,r0
            mov b,#10
            div ab
            ; r0 = 0, mov a,r0 ---> a = 0 vậy lấy 0 chia 10 = 0 cái này là cái mình ko hiểu.
            thế khi R0 tăng lên thì sao, đây là đếm từ 00 tới 99 đúng ko, khi R0 tăng thì chia ra thử xem

            Comment

            Về tác giả

            Collapse

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

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

            Collapse

            Đang tải...
            X