Thông báo

Collapse
No announcement yet.

phép trừ số hex bi sai thì xử lí ntn???

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

  • phép trừ số hex bi sai thì xử lí ntn???

    nếu là lệnh cộng,lấy 59h + 1h = 5Ah,sau đó DA A là ok...kết quả là 60h
    còn nếu là lệnh trừ...khi ko co mượn thì còn đúng...có mượn thì lại sai...và ai có cách hiệu chỉnh nó ko?
    VD : 58h - 9h = 4fh (sai với kết quả mình mong muốn,mình muốn là 49h)

    thêm cái nữa là nếu dùng lệnh trừ...mình lập trình làm sao để cho nó trừ mà ko ảnh hưởng tới các cờ nhớ được ko các bạn.
    vì mình chỉ lấy 59 - xx ( xx là 1 số luôn nhỏ hơn hoặc bằng 59)...
    vì khi mình làm cái đồng hồ countdown...trừ 10 số đầu tiên là đúng...10 số sau nó nhảy loạn xạ cả lên...
    mong mấy bác chỉ giáo
    thanks tất cả đả đọc
    đàn bà sinh ra để đàn ông ăn hiếp...ko ăn được thì hiếp....

  • #2
    Nguyên văn bởi dinhthuan911 Xem bài viết
    nếu là lệnh cộng,lấy 59h + 1h = 5Ah,sau đó DA A là ok...kết quả là 60h
    còn nếu là lệnh trừ...khi ko co mượn thì còn đúng...có mượn thì lại sai...và ai có cách hiệu chỉnh nó ko?
    VD : 58h - 9h = 4fh (sai với kết quả mình mong muốn,mình muốn là 49h)

    thêm cái nữa là nếu dùng lệnh trừ...mình lập trình làm sao để cho nó trừ mà ko ảnh hưởng tới các cờ nhớ được ko các bạn.
    vì mình chỉ lấy 59 - xx ( xx là 1 số luôn nhỏ hơn hoặc bằng 59)...
    vì khi mình làm cái đồng hồ countdown...trừ 10 số đầu tiên là đúng...10 số sau nó nhảy loạn xạ cả lên...
    mong mấy bác chỉ giáo
    thanks tất cả đả đọc
    lệnh DA A chỉ sử dụng đc phía sau lệnh ADD và ADDC, ngoài ra các lệnh khác đều ko thể dùng DA A phía sau. Trong giải thích lệnh có ghi rõ

    Comment


    • #3
      oh...thì e có hỏi lệnh DA A đâu...em hỏi là lệnh trừ...nó bị sai thì sửa ntn đó mà.
      đàn bà sinh ra để đàn ông ăn hiếp...ko ăn được thì hiếp....

      Comment


      • #4
        trước khi trừ dùng thêm lệnh CLR C

        Comment


        • #5
          em có dùng lệnh CLR C,nhưng vẫn bị trục trặc...cứ 10 số đầu trừ là đúng,tới số chục thứ hai thì bị sai
          mặc dù xem đi xem lại...chả biết là sai chỗ nào.
          ý em làm mạch countdown.
          mình sẻ lấy giây đọc được từ 1307 đưa vào r0,rùi gán giá trị thanh ghi A là 59,lấy a trừ r0,lấy kết quả đưa vào giây mà mình muốn countdown.
          mỗi giây của ds sẽ cho 1 giây của countdown...
          nhưng ko hiệu sao nó cứ sai....
          CLR C
          MOV R0,GIAY
          MOV A,#59H
          SUBB A,R0
          MOV GIAY_COUNTDOWN,A
          đàn bà sinh ra để đàn ông ăn hiếp...ko ăn được thì hiếp....

          Comment


          • #6
            Nguyên văn bởi dinhthuan911 Xem bài viết
            em có dùng lệnh CLR C,nhưng vẫn bị trục trặc...cứ 10 số đầu trừ là đúng,tới số chục thứ hai thì bị sai
            mặc dù xem đi xem lại...chả biết là sai chỗ nào.
            ý em làm mạch countdown.
            mình sẻ lấy giây đọc được từ 1307 đưa vào r0,rùi gán giá trị thanh ghi A là 59,lấy a trừ r0,lấy kết quả đưa vào giây mà mình muốn countdown.
            mỗi giây của ds sẽ cho 1 giây của countdown...
            nhưng ko hiệu sao nó cứ sai....
            CLR C
            MOV R0,GIAY
            MOV A,#59H
            SUBB A,R0
            MOV GIAY_COUNTDOWN,A
            bạn sai tại giá trị nào

            Comment


            • #7
              Nguyên văn bởi dinhthuan911 Xem bài viết
              nếu là lệnh cộng,lấy 59h + 1h = 5Ah,sau đó DA A là ok...kết quả là 60h
              còn nếu là lệnh trừ...khi ko co mượn thì còn đúng...có mượn thì lại sai...và ai có cách hiệu chỉnh nó ko?
              VD : 58h - 9h = 4fh (sai với kết quả mình mong muốn,mình muốn là 49h)

              thêm cái nữa là nếu dùng lệnh trừ...mình lập trình làm sao để cho nó trừ mà ko ảnh hưởng tới các cờ nhớ được ko các bạn.
              vì mình chỉ lấy 59 - xx ( xx là 1 số luôn nhỏ hơn hoặc bằng 59)...
              vì khi mình làm cái đồng hồ countdown...trừ 10 số đầu tiên là đúng...10 số sau nó nhảy loạn xạ cả lên...
              mong mấy bác chỉ giáo
              thanks tất cả đả đọc
              lệnh ADD thì có hiệu chỉnh bằng lệnh DA còn lệnh SUBB có 2 trường hợp là CY=0 và CY=1. để thục hiện phép trừ này tất cả các bộ vi xử lý đều thực hiện phép bù 2 bạn ah. vì phép trừ liên quan đến cờ CY nên trước khi trừ thì thêm lệnh CLR C. sau khi thực hiện lệnh SUBB, nếu CY=0 thì kết quả là số dương còn CY=1 kết quả là số âm và đích có giá trị bù 2 của kết quả. kết quả thường được để ở dạng bù 2, nếu chuyển thành kết quả thông thương thì bạn dùng lệnh CPL để lấy bù rồi rồi INC để lấy bù 2 là xong.
              VD:
              CLR C
              MOV A,#4C
              SUBB A,#6E
              JNC THOAT
              CPL A
              INC A
              THOAT: R1,A
              ★♀♥♂Oº°(¯`◦_ _◦´¯)°ºO♂♥♀ღ ★

              Comment


              • #8
                mình sai từ giá trị thứ 11.
                đầu tiên là 59-00,rùi 59 -01 ..... 59- 09,tới đây 59 -10 thì sai...ko đúng
                đàn bà sinh ra để đàn ông ăn hiếp...ko ăn được thì hiếp....

                Comment


                • #9
                  Nguyên văn bởi dinhthuan911 Xem bài viết
                  mình sai từ giá trị thứ 11.
                  đầu tiên là 59-00,rùi 59 -01 ..... 59- 09,tới đây 59 -10 thì sai...ko đúng
                  số hex 59h - 10h vẫn bằng 49h, chú up file mô phỏng và code lên đi

                  Comment


                  • #10
                    mình sai từ giá trị thứ 11.
                    đầu tiên là 59-00,rùi 59 -01 ..... 59- 09,tới đây 59 -10 thì sai...ko đúng
                    đàn bà sinh ra để đàn ông ăn hiếp...ko ăn được thì hiếp....

                    Comment


                    • #11
                      Nguyên văn bởi dinhthuan911 Xem bài viết
                      mình sai từ giá trị thứ 11.
                      đầu tiên là 59-00,rùi 59 -01 ..... 59- 09,tới đây 59 -10 thì sai...ko đúng
                      Bạn thử làm như bạn "thuongdtqb" chỉ xem sao.
                      Last edited by Ck33spkt; 07-08-2012, 23:25.

                      Comment


                      • #12
                        countdown.rar
                        đây...file đây.
                        bac coi gium e chỗ xulicountdown nhá.
                        no cứ chạy ko đúng ý mình...
                        đang giảm từ 59-58-57-56-55-54-53-52-51-50 thì tự nhiên trừ kiểu gì mà thành 43 ngon lành...
                        mong bác chỉ nhá.
                        đàn bà sinh ra để đàn ông ăn hiếp...ko ăn được thì hiếp....

                        Comment


                        • #13
                          Nguyên văn bởi dinhthuan911 Xem bài viết
                          countdown.rar
                          đây...file đây.
                          bac coi gium e chỗ xulicountdown nhá.
                          no cứ chạy ko đúng ý mình...
                          đang giảm từ 59-58-57-56-55-54-53-52-51-50 thì tự nhiên trừ kiểu gì mà thành 43 ngon lành...
                          mong bác chỉ nhá.
                          ở CTC xulicountdown đổi mov a,#59 thành #59h
                          ở CTC BCDTO7SEG_C đổi tất cả các dòng mov b,#10 thành #10h
                          vì giá trị đọc về từ 1307 là gói bcd dạng số hex nên phải chia cho cơ số 16 tức là 10h

                          Comment


                          • #14
                            hehe...chính sác rồi bác ak.
                            cảm ơn bác nhiều.
                            bác cho e xin số ĐT được ko...
                            có gí trục trặc về lập trình em gọi hỏi bác...cho nó tiện.
                            đuọc ko bác.
                            đàn bà sinh ra để đàn ông ăn hiếp...ko ăn được thì hiếp....

                            Comment


                            • #15
                              làm phiền mọi ng xiu nữa nha...
                              em đang dùng lệnh jc và jnc để giảm giờ...
                              bientam có giá trị là 6h
                              XULIGIO:
                              mov a,#23h
                              subb a,gio
                              jnc thoat ;nhay toi nhan thoat neu tru ko co muon cờ C = 0

                              subb a,bientam
                              mov gio_c,a

                              ret
                              thoat:
                              mov gio_c,a
                              ret
                              ........
                              phần lệnh phía dưới ,màu đỏ khi cho nó chay thì vxl lại ko đọc 2 dòng lệnh đó...
                              lấy 23 - 20,cờ C = 0 thì nó phải chạy phần lệnh màu đó chứ ta,kết quả nó ko cho ra số...
                              còn lấy 23- 19,cờ nhớ C = 1,nên nó chạy chạy đoạn code "thoat"...và kết quả ok
                              ai biết sai chỗ nào giúp mình với...
                              thanks
                              Last edited by dinhthuan911; 09-08-2012, 15:36.
                              đàn bà sinh ra để đàn ông ăn hiếp...ko ăn được thì hiếp....

                              Comment

                              Về tác giả

                              Collapse

                              dinhthuan911 hehe Tìm hiểu thêm về dinhthuan911

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

                              Collapse

                              Đang tải...
                              X