![]() |
|
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? |
|
|
|
| Ðiều Chỉnh | |
| Xếp Bài | |
|
|
Similar Threads
|
||||
| Ðề 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 |