![]() |
|
Tài trợ cho PIC Vietnam |
MPASM Lập trình bằng hợp ngữ là một việc làm vô cùng vất vả, tuy nhiên, để hiểu và làm việc với vi điều khiển, hợp ngữ trở thành một công cụ khá đắc lực ... |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#6 |
PIC Bang chủ
|
chương trình thực hiện phép nhân PIC 16
Chương trình nhân 16 bit với 16 bit, kết quả lưu vào thanh ghi 16 bit
Code:
org 0x020 ;Cac thanh ghi của biến nhân và hệ số nhân mulcH Res d'1' ; MSB of multiplicand. mulcL Res d'1' ; LSB of multiplicand. mulpH Res d'1' ; MSB of multiplier. mulpL Res d'1' ; LSB of multiplier. ;Các thanh ghi lưu kết quả nhân prodH Res d'1' ; MSB of product. prodL Res d'1' ; LSB of product. index Res d'1' ; temporary counter ;Chuong trinh chinh start MOVLW d'0' ; Problem: multiply MOVWF mulcH MOVLW 0x0B ; 0Bh by 1016h MOVWF mulcL MOVLW 0x10 MOVWF mulpH MOVLW 0x16 MOVWF mulpL CALL multiply GOTO $ ; Endless loop Multiply CLRF prodH ; Clear product to make CLRF prodL ; way for new calculation. MOVLW d'16' ; Number of bits to calc. MOVWF index Multiply_loop BCF status,c RLF prodL ; Shift product left. RLF prodH BCF status,c RLF mulcL ; Shift multiplicand left. RLF mulcH BTFSS status,c ; If carry, add multiplier GOTO Multiply_skip MOVF mulpL,w ; to the product. Else skip. ADDWF prodL BTFSC status,c ; 16-bit addition: prod+mulp INCF prodH MOVF mulpH,w ADDWF prodH Multiply_skip DECFSZ index GOTO Multiply_loop RETLW 0h end Chỉ vậy thôi
__________________
Công ty TNHH Thương mại và Giao nhận R&P store.hn@rpc.vn - store.hcm@rpc.vn Học PIC như thế nào? |
![]() |
![]() |
|
|
![]() |
||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
Library cho MPASM, các module cơ bản | mafd_47a | MPASM | 12 | 06-09-2009 03:51 PM |
cho tôi fan mềm MPASM hoặc đường line dowload | lep | Chương trình dịch & các công cụ mô phỏng | 3 | 12-10-2008 03:00 AM |
Trình dịch cho MPASM của Microchip. | mafd_47a | MPASM | 8 | 20-03-2008 12:37 AM |
Sườn chương trình cơ bản bằng MPASM | falleaf | MPASM | 6 | 19-05-2006 03:28 PM |
Xin moi nguoi giup do! | anzuus | Cảm biến | 13 | 19-01-2006 02:49 PM |