PICアセンブラ統一スレッド
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGむろんCASLでもありません。
世界で最も普及している制御用マイコン、PIC
あるいはZ80のアセンブラについて語りましょう。
関連スレ
電子工作を語るスレ2
http://hobby.2ch.net/test/read.cgi/hobby/1053518868/l50
関連URL
電子工作の実験室
http://www.picfun.com/
PICアセンブラ
http://www6.ocn.ne.jp/~sunnydog/
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNGだいっきらいだ
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNGhttp://science.2ch.net/test/read.cgi/kikai/1040610345/
関連で,こんなスレッドもありんすが。
0009デフォルトの名無しさん
NGNG0010山崎 渉
NGNG│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNGそこんところが判らん奴がPICを語るな
0013↑
NGNG0014デフォルトの名無しさん
NGNG8080は出来そこないのコントローラー
0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNGぼうや、RISCって知ってる?
0018デフォルトの名無しさん
NGNGおまえ ROMP しってるか?
0019デフォルトの名無しさん
NGNG0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNG0022デフォルトの名無しさん
NGNGガタガタ言わずに、PICを極めろ。
0023デフォルトの名無しさん
NGNGPICはアセンブラで使ってこそだ。
0024デフォルトの名無しさん
NGNGhttp://www.rantyan.net/akira/linkvp.html
0025デフォルトの名無しさん
NGNGみっともないな
0026デフォルトの名無しさん
NGNGhttp://pocket.muvc.net/
0027デフォルトの名無しさん
NGNGしらないからって話をそらそうという先方か?
0028デフォルトの名無しさん
NGNGそんな男に生理中にもかかわらずぶち込まれちゃいます。
カワイイ顔して大きなオッパイしてやるときはやります。
アップが多いので血のついたチンポの出し入れがモロ見えです。
素人援交女がいっぱい!!
無料ムービーを観てちょ。
http://www.geisyagirl.com/
0029デフォルトの名無しさん
NGNGauto変数の実装方法とういか。
0030デフォルトの名無しさん
NGNG墓穴を掘ったな
話をそらしてるのはオマエ
0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNGここはPICマイコンのアセンブラスレだからさ
0033デフォルトの名無しさん
NGNG32が非難しているぞ
0034デフォルトの名無しさん
NGNG非難してるんじゃなくて避難しろって言ってるのでは?
0035デフォルトの名無しさん
NGNGPICのライバルはCPLDであって他社ワンチップマイコンではないわけだよ。
0036↑
NGNG0037デフォルトの名無しさん
NGNG0038デフォルトの名無しさん
NGNG漏れはPICで十分だけどな。
0039_
NGNG0040デフォルトの名無しさん
NGNGリニアなアドレス
+5V単一電源で書きこめる
長い目で見れば、PICを追い越すだろう、アマチュアレベルでは
0041デフォルトの名無しさん
NGNG0042↑
NGNG0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNGPICをC言語で使うような奴はAVRやH8を使うべきだ。
0045デフォルトの名無しさん
NGNG同意 「PIC」のCはComputerじゃない。Controllerだ。
0046デフォルトの名無しさん
NGNGその上でPICがコンピュータでないことを示せ
0047デフォルトの名無しさん
NGNGあっけらかんとした彼女達にはビックリ。かなりマニアックな作品だ。
出血こそ確認できませんでしたが痛い、
と言っていた女が次第に感じていくプロセスがかなり興奮しました。
この作品には続編があります。またのお楽しみということにしておきましょう。
素人の援交のみ!無料ムービーをどうぞ。
http://members.j-girlmovie.com/main.html
0048デフォルトの名無しさん
NGNGだから、エロゲ出来るのがコンピュータ
出来ないのはコントローラだって
0049デフォルトの名無しさん
NGNG活かそうが活かすまいが、仕様を満たしてよりコストの低い物が
出来れば問題ないはずだが
0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNGgikoneko[X] = gikoneko[X] | gikoneko[i];
これをアセンブラで書くとどうなりまつか?
0052デフォルトの名無しさん
NGNG;~ Line : 00010 gikoneko[x] = gikoneko[x] | gikoneko[i];
MOVF (LocOpt+1),w
movwf ACC
clrf ACC+1
movlw 1
call GetSPO2
call AddD
call LoadPACCA
call PushA
MOVF (LocOpt+2),w
movwf ACC
clrf ACC+1
movlw 2
call GetSPO2
call AddD
call LoadPACCA
call Pop2A
iorwf ACC,w
call Pushn
MOVF (LocOpt+2),w
movwf ACC
clrf ACC+1
movlw 2
call GetSPO2
call AddD
call Pop2A
MOVF ACC,w
movwf FSR
MOVF ACC2,w
movwf 0
0053デフォルトの名無しさん
NGNGあちこちのスレにコピペしてますな。他人の善意を食い物にして、楽しいかい?
0054デフォルトの名無しさん
NGNG煽り厨房は気にするな
0055デフォルトの名無しさん
NGNG他のスレにも、同じ質問を書いているのはなぜ?
C言語なら俺に聞け! Part 63
http://pc2.2ch.net/test/read.cgi/tech/1060085935/891
0056デフォルトの名無しさん
NGNG一切なかったということは、PICに関する固有の質問ではない。と、いうこと
なんだろうなぁ・・・ 向こうのスレでも書き逃げみたいだし。
早く夏休みは終わって欲しい。
0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNG出来れば問題ないはずだが
この考えが今の駄目社会の初潮だな。
私設保育園のガキの輸送をするのに、アメ車が安かったかたといって採用するような事が実現してしまう考え方だよ。
0059デフォルトの名無しさん
NGNG要求仕様を書いてる奴が、現実をロクにしらない思考停止者である事でもある死な。
要求仕様から、元の需要、想定市場を見極め、要求仕様のバグを対処したシステムとすることが肝要だ。(当然、最初の納品にはバグ対処は入れない)
0060デフォルトの名無しさん
NGNG市販のAPIを呼び出してるのですがそのAPIのごく一部のメソッドがうまく呼び出せないため
VBならそのAPI対応しているとマニュアルに書いてあったため、VB6のあくてぃぶXDLLでDLLを作成したところ開発環境でうまく動いてテスト環境では上手くうごきません
DLLって作成したコンパイル環境とかによって動く動かないあるんですか?
0061デフォルトの名無しさん
NGNGすいませんさくじょしてくらさい
0062デフォルトの名無しさん
NGNGそうは逝っても機械は勝手に設計してくんねんだもん。
0063デフォルトの名無しさん
NGNGではないだろ
設計くん を使えよ
0064デフォルトの名無しさん
NGNGよっと、ム板はすれ違いだと思う。
0065↑
NGNG0066デフォルトの名無しさん
NGNGバカ発見!
ソフトウエアを作るのに言語は関係ない。プログラミング言語は手段に過ぎない。
スイッチバチバチだってソフトは作れる。
0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNG58がオナニーするのは勝手だけどね
「手段」と「目的」の区別がついてない人は困るなあ
0069デフォルトの名無しさん
NGNG>>67は若者
ちうかスイッチばちばちって懐かしいな(´Д`;)
0070デフォルトの名無しさん
NGNG荒 ら し は 放 置
の 方 向 で
0071デフォルトの名無しさん
NGNGなどと屁理屈を言ってみる。
0072デフォルトの名無しさん
NGNG0073デフォルトの名無しさん
NGNGIMSAI8080か?
0074デフォルトの名無しさん
NGNGどこのサイトに行けばいいのですか?
0075デフォルトの名無しさん
NGNGアセンブラスレがあったんだけどね。
この板でスレたててみたらどう?
0076デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1060928704/l50
007774
NGNGでも俺はまだ基本的なこともできないヘタレなので
さすがにスレを立ててまでは、といった具合です。
とりあえず気合で頑張ってきます
0078デフォルトの名無しさん
NGNG0079デフォルトの名無しさん
NGNGメインルーチンに戻ってしまうのはどうするの
0080デフォルトの名無しさん
NGNGA)プログラミングテクニックを聞いてるの?
B)それともそういう現象が起きて困ってる?
A) メインでメモリに書き込み
タイマー割り込み内で メモリを0でなければDEC
サブルーチンでは0になっていればreturn
スタックポインタを書き換えられるなら、割り込み内でDecして0になったら
スタックポインタを巻き戻してしまうテクニックが使えるんだけどね
B) たいぶんバグか、でなければWDTが働いてるんじゃないの?
008179 フォルトの名無しさん
NGNGA)です
DTMFの遠隔操作スイッチをやろうと思って
いたずら防止にコマンド入力に時間制限を
したかったのです
例 D→2→1 (これを2秒以内に打たないとタイムオーバーでMainに
D=スタートコマンド
2=スイッチ番号1〜8
1=ON=1 or off=0 コマンド
なるほど
割り込みして飛んだルーチンは判定だけでいいのか
84FのPICはスタックポインタ変えられないので
前者で挑戦してみます
ありがとう
008279 フォルトの名無しさん
NGNGreturnで抜け出さないといけないのかな?
goto mainなんかで抜け出すのは
NGなんでしょうか
008379 フォルトの名無しさん
NGNGjp mainで割り込みルーチンから抜け出すのはOK?
0084デフォルトの名無しさん
NGNGステートマシンというものをお前はなんだと考えているのだ?
PICでネスティングはするなつうか、できないつうかやってはいかというか。
リカー渋とか、歳入とか言い出すような算符が必要なテーマにPICは全く不向きだぞ
0085デフォルトの名無しさん
NGNG抜けるのはOKだけど、スタックポインタをリセットする方法がないCPUでは
どんどんスタックポインタが進んでしまう。
サーキュラバッファになっているので問題はないが、
スタックアベリラブルビットを使ってスタックが溢れたかどうかを
チェックする事が出来なくなってしまう。
デバッグが困難になるバグを入れ易くなるから止めた方がいいよ。
008679 フォルトの名無しさん
NGNG>>85
ありがと
このままだとゴミ箱行きなような感じがするので
タイマー割り込みはあきらめます
遅延プログラムにキー入力監視を入れて
やってみます
ていうか 勉強やり直し(´・ω・`)ショボーン
0087デフォルトの名無しさん
NGNGタイマ割り込みの回数数えて、入力待ちで割り込み回数をチェックして規定値を越えたらアウト。
でいいんでないかい?
割り込みで色々こなそうとするから破綻するでよ。
0088初心者
NGNG大変初歩的な質問で申し訳ないのですが、アセンブラで、変数のワード定義するには、
どのように記述すればよいのでしょうか?参考になるサイトなどございましたら、
教えていただきたいと思います。
宜しくお願い致します。
0089デフォルトの名無しさん
NGNGそれともアセンブラで作ってるの?
0090初心者
NGNG宜しくお願い致します。
0091デフォルトの名無しさん
NGNGProgramable Interrupt Controller
ピックと呼んでたよ。
0092デフォルトの名無しさん
NGNGだから、カウンタ廻しといて、その値を読めばいいだろが。
割り込みなんか使うなよ。PICで。
PICで割り込みとか使うシーンはスタンバイから起きるときだけだよ。
0093↑
NGNG0094デフォルトの名無しさん
NGNG変数って言っても、PICだとファイルレジスタを使う訳だから、
ファイルレジスタ上に 上位バイト、下位バイト、
それぞれを定義して 扱うしかないと思うけど。。。
0095デフォルトの名無しさん
NGNGorgで先頭アドレス定義して
ラベル res 1 で変数を定義って・・・・サンプルコードの一つでも見ればわかる筈だから違うか
0096初心者
NGNGやはり、そうやって使用するしかないんですね。
実は、上司がDWとかで定義可能みたいなことを
教えてくれたので、できるものなのかと・・・。
読む時の命令も違うとか・・・。
まあ、解決しましたので、いいです。
ありがとうございました。
0097デフォルトの名無しさん
NGNGマクロアセンブラなら、そういう機能を自分で追加すればいいんですよ。
0098デフォルトの名無しさん
NGNGDW:Declare Data of One Word
RES:Reserve Memory
できるんだね…知らなかったYo
0099デフォルトの名無しさん
NGNG0100デフォルトの名無しさん
NGNG誰か教えてくだされ。
ご存知の通り、PICはハーバードアーキテクチャで、
命令領域とメモリ領域が独立した空間に存在して、
バスも独立している訳ですが、くだんのDWってのは、
命令領域に定数宣言する命令らしいですねぇ…
で、何に使うの>これ(DW)
ROMを覗くときのコメントって事でええの?
それともウマイ使い方が他にあるのですか?
0101デフォルトの名無しさん
NGNG0102100
NGNGそーか、上位機種には16bit命令体系と言うのもあるんですね…
14bitまでのしか使った事なかったので読み飛ばしてました(w
ありがとうございました。
0103デフォルトの名無しさん
NGNGhttp://headlines.yahoo.co.jp/hl?a=20031006-00000012-yom-soci
茨城県内の食肉処理場に持ち込まれた牛1頭(1歳11か月、ホルスタイン種)がBSEに感染していたことが確認されたと発表した。
外国のBSE検査は、生後24ヶ月以上・・・ってことは、輸入牛肉は・・・
0104あい
NGNG使ったらはまっちゃった(笑)
一緒にはまってみない?(笑)
http://navi-on.jp/0.php?p=20
0105デフォルトの名無しさん
NGNGH8以上は許してやらぁ
0106デフォルトの名無しさん
NGNGAVRも時と場合によっては許してホスィ
0107デフォルトの名無しさん
NGNG0108デフォルトの名無しさん
NGNG別にいいと思うけどね。 ただ わざわざC使う人は、仕事が速いのかと思ったら遅い人が多いね。
>>107
よく知らないで言うんだけど、手榴弾って原価廉そうじゃない。 売れるかな?
それに、もし電波か磁気信号かで投げ手を識別する方法だと、相手に利用されちゃうでしょう
というのをふまえて頑張ってみたら? 自分なら兵器に関わるくらいなら会社辞めるけどね。
0109フォルトの名無しさん
NGNGPIC12F629の日本語データ―シートって無いのですか??
0110↑
NGNG0111フォルトの名無しさん
NGNG0112デフォルトの名無しさん
NGNG会社じゃなくて趣味で作るんじゃないの?
0113デフォルトの名無しさん
NGNG0114デフォルトの名無しさん
NGNG350円
0115デフォルトの名無しさん
NGNG0116デフォルトの名無しさん
NGNGAVRはサイクルが一定じゃないからヤダ。
GOTO $+1
が個人的には好きですが
0117デフォルトの名無しさん
NGNGWDTを設定して、入力毎に再設定。
こうしとけば、一定時間内に入力がない=再設定もされない
から勝手にリセットされる。
いや、単なる思いつきなんだけど・・・・・・
011879 フォルトの名無しさん
NGNG単純にリセットされると
スイッチの情報もCLRされるから
スイッチのデーターはEEPROMに書き込んで
org 0 すぐにそのEEPROMを読みportに出力
すれば見た目上 リセットしていると見えませんね
ちょっと試してみます
0119デフォルトの名無しさん
NGNG0120デフォルトの名無しさん
NGNGBSF F,b ってありますが、Fは0<=F<=127ですよね?
書き換え対象ファイルは、STATUSの RP0 RP1 で指定しますよね?
FSRは8bitある訳ですが、BSF INDR,b で 書いた時は、
RP0と FSRの最上位ビットは、どちらが使われるんでしょうか?
0121デフォルトの名無しさん
NGNG皆さんは、割り込み部と 通常部、スタックの振り分けはどの程度の配分になさっていますか?
割り込み内部では3、通常部では4ぐらいですか? それとも割り込み内部ではサブルーチンは使いませんか?
0122デフォルトの名無しさん
NGNG素人の俺様が答えてやる。間違えてても知らんぞ
>>BSF F,b ってありますが、Fは0<=F<=127ですよね?
よくわからんが、8ビットじゃないのか、でも、オペコードどだと7ビット
君の使用するのはそんなにメモリが多いのかね?
>>書き換え対象ファイルは、STATUSの RP0 RP1 で指定しますよね?
メモリのことだな。つーかバンク0にすべて配置されているのしか使ったこと無い。
たぶんバンク1の状態でもバンク0も両方かわる気がする。
>>FSRは8bitある訳ですが、BSF INDR,b で 書いた時は、
>>RP0と FSRの最上位ビットは、どちらが使われるんでしょうか?
これもバンク関係なく指しているメモリの内容が変わる。
つーか2行目の意味がわからん。FSRはポインタでINDRは今指している
メモリのことだからBSF INDR,bはFSR番目のメモリのb番目をセットすという
いみだろ。
>>121
それはプログラムによりけりだろ。小規模しか使ってない俺に言わせると
手続き型のプログラムっぽいから増えるだろ。深い所では割り込みかけなきゃ良いじゃん
割込み部では1、割込み自体で1だから計算間違えるなよ。
チップごとに微妙に違うのでデータシート嫁!
0123あれ?
NGNGADDWF PCL,F ;←どこがおかしい??
RETLW 05H
RETLW 0AH
0124デフォルトの名無しさん
NGNGADDWF PCL,F
RETLW05H
RETLW0AH
普通に通りますが
一度入れなおしてみたら
0126120
NGNG>よくわからんが、8ビットじゃないのか
BSF Bit Set f
-------------
Syntax [label]BSF f,b
Operands:
0≦f≦127
0≦b≦7
Operation:
1→(f<b>)
Status Affected:
None
Description:
Bit 'b' in register'f' is set.
>君の使用するのはそんなにメモリが多いのかね?
→PIC16F877とかも使う事もあるずら。 シャドウの効かない部分も出てくるっす。
>たぶんバンク1の状態でもバンク0も両方かわる気がする。
コンパクトな石だと、シャドウが活きているのもありますね。
>割込み部では1、割込み自体で1だから計算間違えるなよ。
そうですた。忘れてたYo どもども。
0127120
NGNGFSRを使った間接アドレス指定時は、バンク切り替えはIRPを使うんですね。
RP1とRP0を使うのは直接アドレス指定時だけなんですね、失礼しますた…
ではでは。
0128デフォルトの名無しさん
NGNG0129デフォルトの名無しさん
NGNGアーキテクチャを学んだらC。
わすれてアセンブラ。
0130あら
NGNGアセンブルしたのをライターで書き込むとエラー
ほんでもって動作確認すると不動です。
で、コンフィグでCPについて何も記述しないで
アセンブルしそれをライターで書き込むときに
ライターの画面でCPを有効にして書き込むと
エラー見たいなのが出るのですが動作は一応OKです
509でプロテクトしたい場合、後者のやり方が正解なのかな?
0131OK
NGNG0132デフォルトの名無しさん
NGNGつーか、おめでたいヤツだ
0133デフォルトの名無しさん
NGNGこの場合、bank0/bank1の同じアドレスなら(たとえば20H とA0Hは) どちらでも同じRAMですか?
そうでないと、割込みを使う時 Wの保存先のメモリに困ると思うので、たぶんそうだろうと思うのですが
0134デフォルトの名無しさん
NGNGまずwww.microchip.com/1010/index.htmいってデータシートを見つける!
そうすると
英語だけどメモリマップをみると同じと書いてあるね。
バンク1でもアクセス20h−5Fhって書いてあるから。
特殊レジスタの周りにある空白のRAMって使えないんだね初めて知ったよ。
さて俺は本当のことを言ってるでしょうか?自分で確かめてね。
0135デフォルトの名無しさん
NGNGまたいでないかチェックさせようと
tblRead
addwf PCL,1 ;
RETLW xx
...
tblRead_end
if (tblRead ^ tblRead_end) & (-256)
error "table page "
endif
こんな感じのチェックを入れてるのですが、
こういうのは良く使うと思うので、もっと便利機能があってよいように思います。
どうなんでしょ?
0136デフォルトの名無しさん
NGNG0137デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1072883528/
海外でよく使われていうる掲示板スクリプト
専用のオフラインリーダー作って下さい。
必要な条件はID、PASSを管理できること、
OpenJaneみたいな三面型の見た目。
簡単にローカライズできるように言語ファイルを採用
0138デフォルトの名無しさん
NGNG後閑氏の本(PIC活用ガイドブック P196)だと
MAX-RS:14-2 , 7-8 , 13-7 , 8-3
てなっているんですが
(自分は9ピンー9ピンのストレートケーブルを使っているためこんな感じ)
アクノリッチというソフトで通信を確かめてみても
CTSという左下のランプしかつかないのです。
秋月のプログラマキットだと電源を入れないでもCTSとDSRが点灯します
つなぎ方これであっているんでしょうか?
それかPIC16F877用のプログラムでPIC16f873を動かしているのがげいいんなんでしょうか?
いろんなページ見てもT2inやR1outをつないでいたりいなかったりと
どこのつなぎかたをすればいいのかわかりません。
0139デフォルトの名無しさん
NGNGCTS/DSRが必要ならつなぐし、でも、自作ソフト同士ならあんまり必要ないよね
0140デフォルトの名無しさん
NGNG0141デフォルトの名無しさん
NGNGbanksel OSCCAL
movwf OSCCAL
みたいにバンク指定しても、このメッセージ
Message[302] xx.ASM xx : Register in operand not in bank 0. Ensure that bank bits are correct.
が出るって事は、bank を指定出来る疑似命令もあるという事ですかね?
0142141
NGNGNowBank set 0
SetBank macro lab
if ((lab ^ NowBank) & 0x80) !=0
NowBank set NowBank ^ 0x80
if (NowBank & 0x80)==0
bcf STATUS,RP0 ;bank 0/2
else
bsf STATUS,RP0 ;bank 1/3
endif
endif
if ((lab ^ NowBank) & 0x100) !=0
NowBank set NowBank ^ 0x100
if (NowBank & 0x100)==0
bcf STATUS,RP1 ;bank 0/1
else
bsf STATUS,RP1 ;bank 2/3
endif
endif
endm
I1 macro inst,lab
SetBank lab
inst (lab &0x7F)
endm
I2 macro inst,lab,ext
SetBank lab
inst (lab &0x7F),ext
endm
0143デフォルトの名無しさん
NGNGw/fのミス
bankのミス
といって、マクロ使いまくると、
他人が読めなくなるのはまあ仕方ないとして、
リストが読み辛いのも困りもの
結局アセンブラ自作するしかないかも
0144デフォルトの名無しさん
NGNG机上コーディングをちゃんとすれば問題ない。
「バグが入りやすい」んじゃなくて、オマエがヘボ(ry
0145143
NGNG机上で自分でやるより、自動化するほうが何倍も効率はあがるでしょ?
4bitマイコンを主に使ってきたけど、それと比べても
1、w/f方式は w用とf用に命令を別ければ大分緩和するのに
2、bank(128byte)はアセンブラでアドレスを解釈して自動的に挿入するべき
3、テーブル境界(256word)の警告は自動に
程度の事は大抵4bitのアセンブラでも標準だしね。
まあ、もう少し使う頻度が増えたらアセンブラ作るつもりさ。
0146デフォルトの名無しさん
NGNG必死だな がんばれよ
0147143
NGNG0148デフォルトの名無しさん
NGNGそれはアセンブラと言うよりコンパイラでは?
0149デフォルトの名無しさん
NGNG0150デフォルトの名無しさん
NGNG条件分岐がshortしかない命令セットで long条件分岐を出来るアセンブラとか
条件分岐がskipしかない命令セットで 条件分岐を再現するアセンブラとか
普通に目にすると思うが?
0151デフォルトの名無しさん
NGNG命令が1対1なら>>145の言い方はおかしくないか?(同一人物が言ってるかはわからんが。
1対1の言語って(今時あんまり聞かないが)いわゆるマシン語(機械語)じゃないかな。
もしPIC用語でアセンブラって言い方がまかり通ってるんだったら謝る。
0152デフォルトの名無しさん
NGNGようするにバンク切り替えを >>142のようなマクロで書かなくても自動でやってくれるアセンブラを作ろうって事でしょ?
returnや分岐先ラベルが無ければ前回配置した命令に応じてバンク切り替えするだけだから
コンパイラというには恥ずかしい機能だと思うが?
0153デフォルトの名無しさん
NGNG組込みマクロ命令のあるアセンブラでいいと思う。
0154デフォルトの名無しさん
NGNG自動挿入より警告に留める方が良いかもね。
まあ、展開ソースを出力すればいい事か。
0155デフォルトの名無しさん
NGNGそのアセンブラって言うのはあくまで「言語」での意味で、書式(からマシン後レベルに
変換する前)だけの問題でコンパイルはまた別問題って事か。
今までの書式のままコンパイル時にエラーorワーニングを出してくれる賢いコンパイルを
作り直すのかと思ってた。
0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNGttp://kawanishi.fc2web.com/elechbby/720timer.html
のD1だけを点灯させようとして、以下のプログラム
LIST P=PIC16F84A
INCLUDE "P16F84A.INC"
MAIN
ORG H'00000'
BSF STATUS,5
CLRF TRISB
BCF STATUS,5
MAINLP
CLRF PORTB
CALL MAINLP
END
を走らせたのですが、まったく点滅しません。
ハード的には問題ないようなので、ソフトの
問題だと考えているのですが、どの点がおかしいでしょうか。
0158デフォルトの名無しさん
NGNG0159デフォルトの名無しさん
NGNG点滅は1と0を交互にしなければいけないよね。
それにある程度時間を間にいれてやらないと人間の目には
付きっぱなし見える。
このプログラムは付きっぱなしだよね
プログラムはあってるように見える。
ちゃんとポートbを出力にしてるし。
あとはコンフィグのクリスタルはあってますか?HSかな。
WDTはちゃんとオフになってますか?
ぐらいしか思いつかん。
0160デフォルトの名無しさん
NGNG~~~~~~
0161デフォルトの名無しさん
NGNGわかってて質問してるでしょ
0162デフォルトの名無しさん
NGNGスタックあふれか
ぱっとみわからんかった
0163デフォルトの名無しさん
NGNG0164デフォルトの名無しさん
NGNG0165デフォルトの名無しさん
NGNGだましたな
0166デフォルトの名無しさん
NGNGttp://www.geocities.co.jp/Technopolis/7015/
0167デフォルトの名無しさん
NGNG指定ビットに変数を使用することはできるんでしょうか?
0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNG0170デフォルトの名無しさん
NGNG12C509を12ビットコアのまんまフラッシュにしたのかな??
それとも14ビットなのだろうか・・
0171デフォルトの名無しさん
NGNGMessage[305]: Using default destination of 1 (file).
すいません
0172デフォルトの名無しさん
NGNG意味は。。よくわかんないけど・・・・・・
0173デフォルトの名無しさん
NGNG確かに意味わかんない
0174デフォルトの名無しさん
NGNG単なる書き忘れだろ。だからデフォルトの物を使うぞって出てくる。
命令リファレンス見たら何が抜けてるかわかるはずだ。
0175デフォルトの名無しさん
NGNG上みたいにF(ファイルレジスタ)なのか
W(ワーキングレジスタ)なのか指定しなかった場合に出るみたいですね
DECF COUNT,F または COUNT,W
とちゃんと指定してやれば305は出ないです
指定しなかった場合はデフォルトでFになるっつーことです
0176171
NGNGみなさんありがとです
0177デフォルトの名無しさん
NGNG上の方で呼び出したら動かなかった。そのサブルーチンを上のほうにもって
きたら動いた。このミス・解決に結構時間かかった。
やはりページの管理は面倒ですね
0178デフォルトの名無しさん
NGNGreturnで戻ってくるのはそのままでなにもしなくていいんですか?
自分は1024ワード以下のチップしか扱ったことないので
0179デフォルトの名無しさん
NGNGCALLの場合は、飛んでくときのページ切り替えとか必要だけど
RETURNで戻る時はそのままなにもしなくていいんぢゃないかな?
漏れも16F84しかつかったことないので詳細不明・・・
0180デフォルトの名無しさん
NGNG2バイトなら
BTFSC STATUS,0
INCF
でいいんだけど、
具体的にはADRESL ADRESH を平均の為に加算したいのです。
ADDCが無いから一度に出来ないから
movf ADRESL , W
ADDWF AD_BUF , F
movf STATUS , W
andlw #1
ADDWF AD_BUF+1, F
movf STATUS , W
andlw #1
ADDWF AD_BUF+2, F
movf ADRESH , W
ADDWF AD_BUF+1, F
movf STATUS , W
andlw #1 ;後でCが必要なので
ADDWF AD_BUF+2, F
みたいに格好悪い
0181デフォルトの名無しさん
NGNG>178
飛ぶときのみページを切り替えてみたいで
戻るときは何にもしてないですね。
0182デフォルトの名無しさん
NGNGの意味がよくわからん
0183これでいいんぢゃないの???
NGNGADDWFAD_BUF,F
MOVLWH'01'
BTFSCSTATUS,C
ADDWFAD_BUF+1,F
BTFSCSTATUS,C
ADDWFAD_BUF+2,F
MOVFADRESH,W
ADDWFAD_BUF+1,F
BTFSCSTATUS,C
INCFAD_BUF+2,F
0184これでいいんぢゃないの???
NGNGADDWF AD_BUF,F
MOVLW H'01'
BTFSC STATUS,C
ADDWF AD_BUF+1,F
BTFSC STATUS,C
ADDWF AD_BUF+2,F
MOVF ADRESH,W
ADDWF AD_BUF+1,F
BTFSC STATUS,C
INCF AD_BUF+2,F
0185これでいいんぢゃないの???
NGNGADDWF AD_BUF,F
MOVLW H'01'
BTFSC STATUS,C
ADDWF AD_BUF+1,F
BTFSC STATUS,C
ADDWF AD_BUF+2,F
MOVF ADRESH,W
ADDWF AD_BUF+1,F
BTFSC STATUS,C
INCF AD_BUF+2,F
0186180
NGNG単に、STATUS のLSBのCを 加算の為にAccに読み出してるだけです
>>183
2ステップ小さくなってますね。 勉強になります。
最初のCが1でなければ加算しないからそのままスキップされる訳ですね
ADDC つまりキャリーを含めての加算命令って、やっぱり欲しいです。
0187これでいいんぢゃないの???
NGNGPIC18シリーズには、ADDC命令みたいのがあるらしいですね??
確か全部で77命令だったよな??
0188デフォルトの名無しさん
NGNG0189180
NGNGでも、24bitまで使う事は滅多にないだろという割り切りと思ってなんとか自分を納得させないと。
16bit迄なら必要ないですしね。
0190デフォルトの名無しさん
NGNG便利な命令が無いということは逆に考えればそれでけユーザーが自分の思いどうりに
いじくれるっつーことで 吉
0191180
NGNGmovf ADRESL , W
ADDWF AD_BUF , F
movf ADRESH , W
ADDWFC AD_BUF+1, F
movlW #1
ADDWFC AD_BUF+2, F
で済むんですよ。
64bit加算でも 16stepですむのに、
>>182さんの方法でも 2*(8+7+6+5+4+3+2+1)
ってなって単なる加算が2乗倍かかっちゃう。
0192デフォルトの名無しさん
NGNG0193これでいいんぢゃないの???
NGNG0195これでいいんぢゃないの???
NGNG0196これでいいんぢゃないの???
NGNG0197180
NGNGMOVF EXT_CF .W
CLRF EXT_CF
ADDWF A+n ,W
BTFSC STATUS,C
INCF EXT_CF ,F
ADDWF B+n ,F
BTFSC STATUS,C
INCF EXT_CF ,F
1加算で8サイクルだから 8x8=64サイクルだ。
これは1週間から1ヶ月くらい温めないとたぶん出来ないな。
0198これでいいんぢゃないの???
NGNG31行ってことね
0199180
NGNGようするに、ループで書くという事ですね?
0200これでいいんぢゃないの???
NGNG0201ソース
NGNG現在、MP3エンコーダを作成中(lame_enc.dllを基にPasscalに)
http://www.sesco.ne.jp/langdel/
0202180
NGNG目的は温度計です。
秋月で手に入る温度センサ S8100B を使います。 ADCと温度の関係は K0 -8mV/5V *2^10/度
ADCの値から 度にするには (T0-ADC)*625/1024 という事で
ADCの値を 625回 足してゆき1/1024 つまり10bitシフトすれば オフセット付きで温度が求まります。
で、この方法だとHEX-BCD変換が必要になるので、
(T0-ADC)*625/1024 から (W0-ADC*2^6)*625/2^16 とします
ADCの結果はADFM=0にすると左置きになるので 6bitシフトしたのと等価なので6bitシフトは不要
結局:
(W0-ADC)を加算しながら、3byte目の桁上がりから 10進加算 するのを625回すると
温度が度単位で10進数で求まる事になります。 しかも平均されているので安定する筈という目論見です。
625回加算するので時間はかかりますが、表示が目的なので、速度は不要だし、安定していた方が良いので
0203デフォルトの名無しさん
NGNGPIG20シリーズ
● 内蔵PLLで高精度クロック発生ユーザーがプログラムで任意の周波数に設定可能
(DC〜1GHz 0.1Hz刻み)
● 全てのI/Oに端子毎にプルアップ・プルダウンが設定可能
外付けのプルアップダウン抵抗が不要に!
● 高精度ボルテージレギュレータ内蔵 (昇圧も可能)
入力 MIN 1.2V MAX 30V 1.5V電池一本駆動が可能
外付け レギュレータ不用
● 最大シンク・ソース電流 100mA
● スタックレベル 256
● 全てのメモリ・プログラム空間において直接アドレッシングが可能に!
(バンク・ページの概念が無くなる)
● 全ての命令において1CLOCK動作
● 非接触(RF)によるプログラミング
ユーザーターゲットボードになんら手を加えることなく
挿し込んだままの状態でプログラム変更・書き換え可能
0204デフォルトの名無しさん
NGNGじゃ、命令セットを考えてOpenにしてプレゼントしたら?
02058806
NGNG何を作るのか??その方が大事だったりするわけよね
0206180
NGNG今までの自分のプログラムスタイルだと、ライブラリベースでの再利用がとても難しい。
でも、マクロベースでの再利用も、バンクが邪魔する。
慣れればそれなりに使えるのでしょうけど。
0207デフォルトの名無しさん
NGNG僕の場合はマイコンとかIC事態いままでまったく触ったことなかったから
むしろ既製概念とかがないからそういう意味での邪魔な知識が
まったくないから逆に良いんでしょうね
よくわかんないけど嫌ならAVRとか他の使いやすい?マイコンにすれば
いいでわないんでしょうか?
(AVRがどんなのかはまったくしりませんが・・)
0208180
NGNG命令セットを見て、比較命令が無いなとかで悩んでしまいます
で10進多桁 INC は
INCF BCDsum , F
BTFSS BCDsum ,3
return
BTFSS BCDsum ,1
return
DECF BCDsum , F
INCF BCDsum+1, F
てな調子で書いて、可読性の悪さに自分で唖然としてみたり。
でも値段が全てです。
0209Z80命
NGNG0210180
NGNG0211180
NGNGだからステップ数が増えても、再利用出来るようにした方がいい。
再利用が楽にするには、マクロで書くより、やっぱりライブラリ化出来る方がいい。
という事は、馴れから逃げてた奇妙なインデックス形式に挑戦しろって事だ。
という事で、
BCD_ADD:;input w = -9〜+10 ; INDF = (INDF+w mod 10),inc(FSR) ;output=carry
ADDWF INDF , F ; (INDF)+=w
MOVLW #256-10
ADDWF INDF , W ; W=(INDF)-10
BC BCDcy ; Branch on Carry
INCF FSR , F ;
MOVLW #0
return
BCDcy: ;--- (+ or -)
BTFSC INDF ,7 ; if (INDF).MSB=1 then
goto BCDneg
MOVWF INDF ; INDF=(INDF+w)-10
INCF FSR , F ;
MOVLW #1
return
BCDneg:;--- 負数 ;
ADDLW #20 ;wは -n-10なので+20して10-nとする
MOVWF INDF ; INDF=(INDF+w)-10
INCF FSR , F ;
MOVLW #-1
return
0212これでいいんぢゃないの???
NGNGINCF BCD_1,F
MOVLW D'9'
SUBWF BCD_1,W
BTFSC STATUS,C
RETURN
CLRF BCD_1
INCF BCD_2,F
MOVLW D'9'
SUBWF BCD_2,W
BTFSC STATUS,C
RETURN
CLRF BCD_2
INCF BCD_3,F
MOVLW D'9'
SUBWF BCD_3,W
BTFSC STATUS,C
RETURN
(ここにオーバーフロー処理)
RETURN
何桁でも増やせます
0213これでいいんぢゃないの???
NGNGCLRE BCDsum ですよね??
0214これでいいんぢゃないの???
NGNGCLRF BCDsum ですよね??
0215180
NGNGホントですね。間違えてました。
>>212
最初は、こういうコードだったんです。
1桁分の処理
INCF BCD_2,F
MOVLW #256-10
ADDWF BCD_2,W
BTFSC STATUS,C
RETURN
MOVWF BCD_2,F
でも、>>208方式なら8/10の確率で 2サイクル短くreturn出来るなとか考えて
でも、これからは INDF を使ったライブラリ化に挑戦します。
0216デフォルトの名無しさん
NGNG180のような融通の聞かないプログラムしてるような人達だたんでつね
なっとくでつ
これでわpicが可哀相でつ
0217デフォルトの名無しさん
NGNGおまえの煽り一つでお客さん居なくなったじゃねえか。
責任とってなんかネタ出せ!
0218デフォルトの名無しさん
NGNG>>216が融通聞くプログラムを書いてくれるから、生暖かく見守りましょう。
0219デフォルトの名無しさん
NGNG0220180
NGNG結構冗長に書いて、625回加算しても1/30秒で更新。
速すぎてチラツクので、不感帯処理を入れた上に、1秒は変更しないような処理を入れたり。
案外、冗長に書くのがPICを使いこなすコツなのかもと。
割り込み許可bit位置を間違えてて、信号を出すと無限割り込みになって止まってた原因がわからなくて日曜を潰したとかは秘密です
0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNG0223デフォルトの名無しさん
NGNG0224デフォルトの名無しさん
NGNGってことでつ 次の行に飛べってことでつ
意味ないように思えるが、一行で2行分のウエイトを稼げるのでつ
ちなみに GOTO $+2なら 2行先に飛べ
0225デフォルトの名無しさん
NGNG買って勉強しようかとおもったけどpicより難しそうなのでやめた
0226デフォルトの名無しさん
NGNG> 一行で2行分のウエイトを稼げるのでつ
ここがよくわかりません。
0227デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNGGOTO $+1って分岐だから2サイクルかかります
NOPを2回でも時間てきにはおなじですが
2ワードかかって損です。
GOTOは1ワードですみます。
これを知ってるとプチ玄人にレベルUPです。小手先の業ですが
そもそも容量の面でそこまでしなければいけない人ってここにいます?
0230デフォルトの名無しさん
NGNG0231デフォルトの名無しさん
NGNGWDTでWakeUPしてしまうのて何とかならないのかな?
それともWDT自体使わない方が良いのかな?
教えてエロイ人。
0232デフォルトの名無しさん
NGNG消費電流数倍以上らしいですぜ セニョール
0233教えてください
NGNGページ1にデータテーブルを置いてページの先頭でPCLレジスタに
データ番号を足しデータを取得する方法を試しているのですが、
(よく参考文献等に記載されている方法です。)
900番地以降に置いたテーブル内でPCLレジスタに値を足して
ジャンプすると800H番地台に飛んでしまいます。
PCLレジスタに値を足したときにPCHレジスタのbit8〜bit10が
クリアされてしまうように思うのですが、仕様なのでしょうか?
それともMPLAB IDEのバグ? 勘違い?ご存じの方宜しくお願いします。
(PCLレジスタに加算した場合、結果がオーバーフローしたとしても
PCHレジスタに影響しない記述は、みつけましたが。
(MPLB IDE v5.70.40使用 MPLB IDEアセンブラに設計中)
0234233
NGNG仕様を十分に理解しておらず勘違いだったようです。
スレを汚してすみませんでした。
0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNGしろだの、マナーーがうんたらかんたらだの・・・
あれだと発言するのがいやになっちゃうyo
0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNG0239ι
NGNGかれこれ7〜8年前に書いたプログラムのソースが
最近出てきたので、アセンブルしなおして焼いてみたのですが
うまく動きません。使ったPICは当時のまま、 PIC16C84-10です。
アセンブラを通した当時の .LSTファイルが残っていたので
調べてみると、今使ってるアセンブラと違うオペコードを吐いて
いるようなのです。
具体的には、 ニーモニック CLRW に対し、 昔のアセンブラは
0x0100というオペコードを吐いています。今使ってるアセンブラは
CLRWは0x0103だと言っています。データシートの命令セットサマリを
見ると確かに CLRWは 0x0103になっていますし、0x0100に相当する
命令が見当たりません。
いかんせん古いコードですので、当時どういう意図で
CLRWを使ったのか自分でもわからず困っています。
この 0x0100というオペコードは一体何なのか、0x0103と
動作がどう違うのか、0x0100の動作に相当するニーモニックはあるのか、
どなたか教えていただけないでしょうか。
板違い・スレ違いなら誘導お願いします。
0240`
NGNGてことは 0x0100でも 0x0103でもどっちでも良いってこと?!??!ですよね
おいらも試しにCLRWアセンブルしたら確かに 0x0103 はきますた
0241239
NGNG今最新のデータシートを見たら確かに 00 0001 0xxx xxxx
になってますね。僕の手元にダウンロードしてある pdfでは
00 0001 0000 0011 って書いてあるんです。実際本当に
xが Don't Careならいいのですが、CLRWのところ以外は全く
同じコードで当時作ったハードでやっぱり動かないので、
何か違いがあるような気がします。。
試しに INHX16ファイルを 0100に書き換えようと思ったけど、
チェックサムとかの INHX16フォーマットを調べるのが面倒で
まだやってません(^-^;)
0242通りすがり
NGNG最初movlw ffhとやった後にclrwとやってそのwがクリアされたかどうか調べてクリアされてればledが点滅というだけのものですが
hexファイルをメモ帳で書き換えて0x0103と0x0100と験しに0x10Fなんかでも試しましたけどどれでもオッケーでしたよ。
推測ですが、同じコードで当時作ったハード・・ということですからチップもしくは基盤周辺の部品が壊れてるとかはないんですか?
0243デフォルトの名無しさん
NGNG242氏の言ってるとおり部品が壊れてるとかが正解じゃないでしょうか
他のc84に焼いてみても同じなんですか?
0244239
NGNG16C84はまだどっか探せば出てくると思うけど、
ちょっとすぐには見つからないので後日報告しますね。
CLRWの含まれてない部分だけなら、たぶん正常動作
してるっぽいけど CLRW使ってるサブルーチンに飛ぶと
動作がおかしいので、ハードの故障は無いと思うけど、
PICが一部壊れてる可能性もあるかもしれないですね。
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNGプログラミングを教えてもらっても、パコでゲームばっかり作ってました。
で、あんまり役立たずなので、役に立ちたいと思って、PICのアセンブラ勉強し始めたのですよ。
はんだごても触ったことないけど、なんとか頑張ります(゜∀゜)
ちゅーことで、ここで質問は可?
0247デフォルトの名無しさん
NGNG0248デフォルトの名無しさん
NGNGじゃあ早速質問させてもらいます。初心者過ぎて恥ずかしいけど笑わないでね。
入出力の話がサパーリ分からないのです。
PICのアセンブラが出来る人がまわりに全くいないので、ちんぷんかんぷん。
PORTxってPICのどのピンをいじれるんでしょうか?
0249デフォルトの名無しさん
NGNG質問連発で貼りつかれても目障りだから推薦図書&サイト
http://www.amazon.co.jp/exec/obidos/ASIN/4416101082/
↑これはロボットつくろうとか考えてる中学生とかには最適かも。
モータードライブとかの説明も結構丁寧だった気がする。(まぁそれぐらいは企業のpdf見て学んだほうがいいような気がしなくも無いが)
サイトは>>1のが詳しいからそこ見るべし。一通りの事はできるはず
これからいろいろとカベがあるだろうが自分で調べるのも大事、がんばれ
0250デフォルトの名無しさん
NGNGほんとに自演だったらこんなに流れ早くないです。
>1のサイト行ってみます。よく見てなかったぜ…!
推薦図書も…お金の余裕があったら買ってみます。
ありがとでした。
0251デフォルトの名無しさん
NGNGPORTA PORTB は PIC のそれぞれ RAn RBn と書かれたピン(最高8本)に対応する
ちなみに足が8本のPICでは GPIO って名前になる
0252デフォルトの名無しさん
NGNG0253デフォルトの名無しさん
NGNG0254デフォルトの名無しさん
NGNG0255デフォルトの名無しさん
NGNG0256デフォルトの名無しさん
NGNG個人個人で作ると内容はいっしょなのに、記述がばらばらだろうし
せっかくの統一スレッドですからマクロも統一できればいいなぁと
k→f,if〜gotoとか皆が共通で使えるのが欲しい
0257256
NGNG0258デフォルトの名無しさん
NGNG五秒間ループの中である数を数え終わったら、五秒間ループが終わる
前にループから抜け出したいのですが、どのようにプログラムを組んだ
らいいかわかりません(><)教えていただけませんか?
0259デフォルトの名無しさん
NGNGわかりません(><)
0260256
NGNG"ある数を数え終わったら"がよくわからないのだが?
0261デフォルトの名無しさん
NGNG0262デフォルトの名無しさん
NGNGReadとWriteがあると思うのですが
Read,Write共にどういった役割でしょうか?
ハードにこうしてといった処理をする時はどちらに書き込むのでしょうか?
0263デフォルトの名無しさん
NGNGごめん。俺の修行が足りないようでスマン。
どれを使って、何がやりたくて、どこがわからないと書いてくれれば、もしかして理解出来るかもしれんので、お願い。
0264デフォルトの名無しさん
NGNGハードの制御0,1を読み取るのがRead?
ハードの制御0,1をかえるのがWrite?
0265デフォルトの名無しさん
NGNG何を見て質問してるの?
君、小学生?
0266デフォルトの名無しさん
NGNGメモリから読み出すのがリード。
決まったアドレスにあるメモリに数値を書き込むとその出力が
出力ピンに出てくるし、読み込めばピンのH/Lが読み出せる
通常はピン毎に入力か出力か決めて使う。
0267デフォルトの名無しさん
NGNGZ80を使用しているのですが「アセンブラで0EEHに0FFHを掛け結果をレジスタに入れる
ただし、プログラムは8500H番地以降に作成すること」という問題が出てきたのですが
分かりません。なにかヒントやアドバイスお願いします。
0268デフォルトの名無しさん
NGNGスレ違い
アドバイス
イッテヨシ
0269デフォルトの名無しさん
NGNG符号無しですか?
とりあえず簡単なのは0EE回 0FFHを足す事ですね。
0270デフォルトの名無しさん
NGNG0271デフォルトの名無しさん
NGNGorg 8500h
LD HL,0EEH*0FFH
これでいいかな
0272sage
NGNG0eeh
×0ffh
-----------
HL
goto END
0273273
NGNG違うところで質問したのですが、こちらを進められたのでこちらで質問します。
マイクロチップ社純正のアセンブラ「MPASM」を使用しています。
アセンブラで正確なストップウォッチみたいなものを作ろうとしているところで、
ひとつお聞きしたいのですが、
16F84(A)の動作クロックが8MHzの場合、1命令サイクルは0.5μsですが、
COUNT=3 として、以下の命令文では
LOOP NOP (1) (6) (11)
NOP (2) (7) (12)
DECFSZ COUNT,1 (3) (8) (13)(14)
GOTO LOOP (4)(5) (9)(10)
RETURN (15)(16)
と、この場合、16命令サイクルになりますが、ここから本題、
割り込みを使用した場合、
START NOP (1)
NOP (2)
NOP (3) ORG 0
NOP (4) START
NOP (5) ORG 4
←ここで割り込みが発生 → NOP (?)
NOP (6) NOP (?+1)
NOP (7) NOP (?+2)
? はいくらになるのでしょうか。
初めてプログラムしたり、回路を組むので、
どれだけの誤差が出るかわかりませんが、
できるだけ正確に組んでいきたいですので、
ご教授お願いします。
0274デフォルトの名無しさん
NGNGInterrupts - PICmicro Mid-Range MCU Family
ttp://ww1.microchip.com/downloads/en/DeviceDoc/31008a.pdf
10ページのFigure8-2を見るとわかるが、割込みはダミーサイクルが2つ入る
また、割込み要因が発生した瞬間に実行されている命令の次の命令
(割込み要因が発生した瞬間にFetchしている命令)が実行されてから
割込みに入るので
START NOP (1)
NOP (2)
NOP (3) ORG 0
NOP (4) START
NOP (5) ←ここで割り込みが発生 → ORG 4
NOP (6) NOP (9)
NOP (X) NOP (10)
NOP (X) NOP (11)
という形で割込みが発生した次のインストラクションNOP(6)が実行された後
ダミーサイクル2つ入ってORG 4のNOP(9)へ移る
0275デフォルトの名無しさん
NGNGZ80でCRC-16を求めようとしているんだが
どんな風に書けばいいか教えてくれ
0276デフォルトの名無しさん
NGNG0277デフォルトの名無しさん
NGNG0278huo ◆7zQ910Q9s6
NGNG0279デフォルトの名無しさん
NGNG0280デフォルトの名無しさん
NGNGたとえば プ プ プ プ プ プ プ プ ブ ブ ブ のくりかえし
外部スイッチによりリセット
外部信号により周期調整
のようなプログラム作るのにどれくらい勉強すればいいでしょうか?
0281デフォルトの名無しさん
NGNG人によって違うが3時間〜300年ぐらいじゃないかな?
0282デフォルトの名無しさん
NGNGテンプレにあるサイトを一通りよめばすぐ作れると思うよ
0283デフォルトの名無しさん
05/01/18 01:06:10エッチなのはいけな(ry
あるいは体感器かもしれないが、それはそれで違法ですから。
0284デフォルトの名無しさん
05/01/25 12:40:35そういえば、何年も前の話だけど、ニフティの電子工作フォーラムで始めてPICの
話題が出たときに、「おとなのおもちゃ」の開発者が発言して、モーターの制御に
PICを使っていると言っていたぞ。真偽のほどは確認できなかったけど。
0285emulator 8086
05/01/31 13:27:20ちょっと理解できないところがあります。コードは以下の通りです。
#make_COM#
ORG 100H
start:
mov [200H],al
mov al, data
and al, 0Fh
mov bl, data
shr bl,4
cmp al, 8h
jl end
add bl,1
end:
mov al,bl
mov [201H],al
ret
data db 68h
この問題では68Hをテストして答えが7になるのですが、
最初にdataをalに移した後、なんで0fHでandするのか分かりません。次に、
なんで、dataを右に4ディジットシフトするのか分かりません。最後に、8hと
比較するのも分かりません。どなたかよければ、ヒントください。
0286デフォルトの名無しさん
05/01/31 13:57:320287デフォルトの名無しさん
05/02/07 17:52:34どこへ帰るんだろう・・・
0288デフォルトの名無しさん
05/02/08 21:08:560289デフォルトの名無しさん
05/03/16 07:49:07PAアセンブラに見えた(w
and al,#0fh ;これって下位4ビットだけ使うって事でFA?!
わたしはビットマスクの時には
and al,#00001111b
と書く事を広めたい
0290デフォルトの名無しさん
05/03/17 07:07:02と、いいながらビットマスクは #(16-1)と書くけどね。
0291デフォルトの名無しさん
2005/04/09(土) 20:21:38PICのプログラムを始めたいのですが
WINXP、USB接続で可能な開発セットを
教えていただけないでしょうか?
宜しくお願いいたします。
0292デフォルトの名無しさん
2005/04/15(金) 19:57:15釣れますか?
0293デフォルトの名無しさん
2005/05/13(金) 09:47:16何でもおk
USB→RS-232のコンバータ買えばいいじゃないか。
0294デフォルトの名無しさん
2005/05/13(金) 22:03:41http://www.olimex.com/dev/pic-mcp-usb.html
秋月のプログラマよりおすすめ。
0295デフォルトの名無しさん
2005/07/11(月) 12:55:570296依頼人
2005/07/12(火) 15:51:17宿泊費、食費負担します。
場所は大阪です。
詳しいことはメールにて
0297デフォルトの名無しさん
2005/07/12(火) 16:37:41『書き込まれている』?
それって、他社製品のパクリ?
0298デフォルトの名無しさん
2005/07/21(木) 21:02:03ちょっとだけ詳しく。
0299デフォルトの名無しさん
2005/07/21(木) 22:32:05を作ってみた。ソフトウェアでNTSC信号を出す心意気に乾杯。
0300デフォルトの名無しさん
2005/07/22(金) 01:56:41(;´∀`)うわぁ
0301デフォルトの名無しさん
2005/08/01(月) 18:47:58ワロスwなんか偉い(笑)
0302デフォルトの名無しさん
2005/09/04(日) 02:44:18「PIC16F877Aで動くサブルーチンまたはプログラムを作成しなさい。」
という課題なんですが、先生がへタレで授業がワケわかりません。
というよりプログラムの授業やってません。
賢者の皆さんにはこれらのプログラミングを御教授いただきたく・・・
A0 EQU 20H
A1 EQU 21H
B0 EQU 30H
B1 EQU 31H
R0 EQU 40H
R1 EQU 41H
�@16ビット同士の加算、減算 (A1,A0)+(B1,B0)>>(R1,R0)
�A16ビットデータを8ビットで割る(B1,B0)/(A0)>>(R0:商),(R1:余り)
他にも課題はあるのですが、この2つの応用でなんとかなりそうなんで、
この二つだけ教えてください。
ちなみに8ビット同士の加減算はできます。
0303デフォルトの名無しさん
2005/09/04(日) 02:51:32よろしくお願いします。
0304デフォルトの名無しさん
2005/09/04(日) 18:14:54あのな、世間に出たら『上が馬鹿だからできません』ってのは通用しねえんだ。
そんなこといった瞬間に『そういう藻前も使えない奴だな(w』って言われちゃうんだよ。
だから、課題ぐらい自分でやれ。
先生がヘタレだというなら自分で参考書買って勉強シル。
0305302
2005/09/05(月) 04:58:17確かに。
テンプレにあるサイト見たらすぐに出来ました。
ありがとうございました。
0306デフォルトの名無しさん
2005/10/14(金) 00:13:250307デフォルトの名無しさん
2005/10/14(金) 00:28:350308デフォルトの名無しさん
2005/10/14(金) 00:39:410309デフォルトの名無しさん
2005/10/14(金) 00:41:04つ【PIC18Fnnnn】
■ このスレッドは過去ログ倉庫に格納されています