« 液晶表示をWindows-PCで真似る | トップページ | ワニロじゃなくってミノムシクリップ、断線間際で発見 »

2021年9月 7日 (火)

「アセンブラがディスクを破壊する!?」トラ技2002年6月号

ちょっと昔話を。

ラジオペンチさんところの
  ・おもちゃ病院用のDC安定化電源の製作
へのコメント、「アセンブラで書いた」に関し、
こんなことがあったと思い出しました。

トラ技にレポートしています。
  ↓
トランジスタ技術2002年6月号 p166
   「アセンブラがディスクを破壊する!?」
表紙↓
Tt1_20210907095001

発端はトラ技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をスキップするように
パッチを当てて解決しました。
  そのため、本来なら消えてしまう一時ファイルも
  残ったままに。

こんな記事です。
Tt2

EXEファイルへのパッチ当て、MS-DOS環境ではあたりまえの
スキルでしたが、今はさてどうでしょう。
もう行うこともないでしょね。
というか、アセンブラを単独では使わない世界になって
しまいました。


※参考
おもちゃ病院用CVCC電源 ←このソースファイルです。
  ダウンロード - volt1.zip

パッチを当てたAVRASMを同梱しています。
コマンドプロンプトで実行を。

|

« 液晶表示をWindows-PCで真似る | トップページ | ワニロじゃなくってミノムシクリップ、断線間際で発見 »

トラブル遭遇」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




« 液晶表示をWindows-PCで真似る | トップページ | ワニロじゃなくってミノムシクリップ、断線間際で発見 »