Mercurial > public > mk2
view code_part1/OSTC_code_asm_part1/wait.asm @ 485:e83f883c96b2
quick fix for wrong wait routines
author | heinrichsweikamp |
---|---|
date | Sat, 15 Oct 2011 13:45:15 +0200 |
parents | 42acd9316f7a |
children | c7b663939737 |
line wrap: on
line source
; OSTC - diving computer code ; Copyright (C) 2008 HeinrichsWeikamp GbR ; This program is free software: you can redistribute it and/or modify ; it under the terms of the GNU General Public License as published by ; the Free Software Foundation, either version 3 of the License, or ; (at your option) any later version. ; This program is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; GNU General Public License for more details. ; You should have received a copy of the GNU General Public License ; along with this program. If not, see <http://www.gnu.org/licenses/>. ; Wait routines ; written by: chsw, info@heinrichsweikamp.com ; written: 01/31/04 ; last updated: 11/05/07 ; known bugs: ; ToDo: ; ========================================================== ; WAIT 10 MICROSECONDS - 16 MHZ ; ========================================================== IFDEF SPEED_16MHz WAIT10US macro wait_temp movlw wait_temp call WAIT10USX endm ENDIF IFDEF SPEED_32MHz WAIT10US macro wait_temp movlw wait_temp call WAIT10USX movlw wait_temp call WAIT10USX endm ENDIF WAIT10USX movwf wait_temp goto JumpIn10us WAIT10USX2 nop nop nop nop nop nop nop nop JumpIn10us: nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop decfsz wait_temp,1 goto WAIT10USX2 return ; ========================================================== ; WAIT 1 MILLISECOND - 16 MHZ ; ========================================================== IFDEF SPEED_16MHz WAITMS macro waitms_temp movlw waitms_temp call WAITMSX endm ENDIF IFDEF SPEED_32MHz WAITMS macro waitms_temp movlw waitms_temp call WAITMSX movlw waitms_temp call WAITMSX endm ENDIF WAITMSX movwf waitms_temp goto JumpInMSX WAITMSX2 nop nop nop nop nop nop nop nop JumpInMSX: nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop WAIT10US d'99' decfsz waitms_temp,1 goto WAITMSX2 return