「アセンブラがディスクを破壊する!?」トラ技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を同梱しています。
コマンドプロンプトで実行を。
| 固定リンク
「トラブル遭遇」カテゴリの記事
- Arduino UNO R4、GPTのレジスタ定義にミス発見(2025.05.06)
- 失敗は成功の母<第3回>: 同じ型名なのに内部回路が違う!?(2025.04.16)
- 中華製ボール盤 2018年に交換したベルトが再びアウトに(2025.02.19)
- イヤホンのケーブルが・・・(2025.01.24)
- ピンセット、危うし!(2025.01.09)
コメント