2008年06月18日
みなさん、こんばんわ。
マニアックなケロタン少佐デあります(^^;)ヾ
先日交換したサクションとエアクリ用の
異径シリコンと耐熱バンテージが届いたデあります♪
さて、いつ取り付けようかなぁ~~~(汗
Posted at 2008/06/18 19:36:09 | |
トラックバック(0) |
MPV | 日記
2008年06月18日
みなさん、こんにちは。
ケロタン少佐デあります(^_^)ヾ
またまた、ケロタンはレベルが1つ上がったデあります♪
チャララ・タッ・タッ・タァ~~~♪
スキル『16bitの除算』を覚えた・・・!!!!
以下、AVRアセンブラでのプログラム例
* 検証内容は、時速60km/h時での車速パルスからの計算 *
;************************************************************************
; 16bitの除算
; 車速パルス数から速度計算
; * 符号なし16÷16ビット(35400÷589)試験 時速60km/h *
; * SP_H,L = SPEED_PALUS(16ビット)
CAL_PALUS: ; 基準時間40us( HEX(8a48) = DEC(35400) )
LDI DV16YH,HIGH(35400) ; 被除数(=35400)を設定
LDI DV16YL,LOW(35400) ;
MOV DV16XH,SP_H ; 除数(=589)を設定,HIGH(589)
MOV DV16XL,SP_L ; LOW(589)
RCALL DV16U ; 符号なし割算実施( 解 = DV16R , 余 = DV16M )
CALEND:
RET ;終了。呼び出し元へ復帰
;16bit割算実施
DV16U:
CLR DV16MH ;剰余上位バイト初期化
SUB DV16ML,DV16ML ;剰余下位バイト、キャリー フラグ初期化
LDI CNT,16 ;桁(ビット)計数値初期化
DV16U1:
ROL DV16RL ;被除数/商を1桁左移動(商対応桁=0仮設定)
ROL DV16RH ;
ROL DV16ML ;剰余を1桁左移動
ROL DV16MH ;
BRCS DV16U2 ;現在の剰余減算可で分岐
CP DV16ML,DV16XL ;現剰余減算可か検査
CPC DV16MH,DV16XH ;
BRCS DV16U3 ;現剰余減算不可で分岐
DV16U2:
SUB DV16ML,DV16XL ;現剰余から除数を減算
SBC DV16MH,DV16XH ;
ORI DV16RL,1 ;商対応桁=1を設定
DV16U3:
SUBI CNT,1 ;桁(ビット)計数値減数(キャリー フラグ=0)
BRNE DV16U1 ;16桁(ビット)分まで継続
RET ;呼び出し元へ復帰
;*************************************************************************
シュミレーション結果良好デあります♪
今後、車速感応回路に応用の予定♪・・・(^_^)ヾ
Posted at 2008/06/18 15:52:44 | |
トラックバック(0) |
プログラミング | 日記