;; Knihovna pro časová zpoždění od 5us do 1s. ;; Snažil jsem se vytvořit kompromis mezi užitím minimálního ;; počtu registrů a nepříliš hlubokým vnořením do zásobníku (CALL) ;; del1s: CALL del200m del800m: CALL del400m del400m: CALL del200m del200m: MOV R6, #254d ; 1CS MOV R7, #196d ; 1CS NOP ; 1CS NOP ;1 SC DJNZ R7, $-2 ; 196x4 = 784 SC DJNZ R6, $-6 ; 787x254 = 199898 SC ; chybí ještě 97 SC MOV R7, #48d DJNZ R7, $ RET ; 2CS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; del100m: CALL del20m del80m: CALL del40m del40m: CALL del20m del20m: ; 2CS MOV R6, #98d ; 1CS MOV R7, #100d ; 1CS NOP ; 1CS DJNZ R7, $ ; 100x2 = 200 SC DJNZ R6, $-5 ; 204x98 = 19.992 SC nop nop nop RET ; 2CS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; del10m: CALL del2m del8m: CALL del4m del4m: CALL del2m del2m: MOV R7, #255d ; 1SC nop nop nop nop nop DJNZ R7, $-5 ; 7x255= 1785SC MOV R7, #104d ; 1SC DJNZ R7, $ ; 104x2 = 208SC NOP RET ; 2CS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; del1m: CALL del200u del800u: CALL del400u del400u: CALL del200u del200u: ; 2SC MOV R7, #97d ; 1SC DJNZ R7, $ ; 2x97= 194SC NOP ; 1SC RET ; 2SC ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; del100u:CALL del20u del80u: CALL del40u del40u: CALL del20u del20u: ; 2SC MOV R7, #07d ; 1SC DJNZ R7, $ ; 2x7= 14SC NOP ; 1SC RET ; 2SC ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; del10u: CALL del5u del5u: ; 2SC nop ; 1SC RET ; 2SC