「アセンブラがディスクを破壊する!?」トラ技2002年6月号
ちょっと昔話を。
ラジオペンチさんところの
・おもちゃ病院用のDC安定化電源の製作
へのコメント、「アセンブラで書いた」に関し、
こんなことがあったと思い出しました。
トラ技にレポートしています。
↓
トランジスタ技術2002年6月号 p166
「アセンブラがディスクを破壊する!?」
表紙↓
発端はトラ技2000年7月号付属のCD-ROM。
この中に入っていたAVRマイコンのアセンブラ。
AVRASM EXE 106,578 99-01-27 1:30
AVRASM: AVR macro assembler version 1.30
(Jan 27 1999 01:30:00)
Copyright (C) 1995-1999 ATMEL Corporation
このアセンブラを使って
『エラーのあるソースをアセンブルすると
ディスクが壊れる』
というバグが出現するのです。
エラーの無いソース(アセンブルエラーなし)では
このバグは出てきません。
EEPROMに初期データを入れない時も大丈夫。
chkdskした痕跡から、こんなことを推測。
・アセンブラでエラーが生じたときは
作りかけたEEPROMデータファイル
は不要。
・他のファイルと一緒にファイルを消去
という流れの中、このファイルだけ
「ファイルのクローズ前にファイルを消去」
をしているのかも。
このファイルを消去しているINT21をスキップするように
パッチを当てて解決しました。
そのため、本来なら消えてしまう一時ファイルも
残ったままに。
EXEファイルへのパッチ当て、MS-DOS環境ではあたりまえの
スキルでしたが、今はさてどうでしょう。
もう行うこともないでしょね。
というか、アセンブラを単独では使わない世界になって
しまいました。
※参考
おもちゃ病院用CVCC電源 ←このソースファイルです。
ダウンロード - volt1.zip
パッチを当てたAVRASMを同梱しています。
コマンドプロンプトで実行を。
| 固定リンク
「トラブル遭遇」カテゴリの記事
- 「UART←→IrDA」変換IC、MCP2122のクロック供給 #3 トラブル遭遇!(2022.06.28)
- 温湿度センサーDHT11、ライブラリを使うと氷点下の温度がおかしくなるぞ!(2022.03.10)
- ありゃま「多治見無線」の丸形コネクタ、納期が「1年」(2022.03.04)
- オペアンプの出力につなぐ大容量コンデンサ ほんとにいいの?(2022.02.26)
- オペアンプ ICL7611(2022.02.24)
コメント