English , Japanese

nesasm_x86 2.51 with auto-zeropage

This soft modified the "nesasm" - a NES assembler released by http://www.magicengine.com/mkit/,base version is 2.51.

Release Log and Download

Versionrelease dayfilecontents
2.51p beta32011/01/16nesasm_2.51p_beta3.7z

  1. added a ".autozp" directive(peseudo operand)

2.51p beta22011/01/16nesasm_2.51p_beta2.7z

  1. fixed an internal error by "lda $nnnn,x or lda $nnnn,y"
  2. fixed an exception when assembled with "-L" options and caused assemble errors

2.51p beta2011/01/04nesasm_2.51p_beta.7z

  1. first beta released.

Modified contents

  1. Execute on WindowsXP / Vista / 7. This use VisualStudio2010. Can't execute on Windows2000, may be.
  2. Release x86 and x86-64. It is not so significant to making to 64bit. :-)
  3. Added "-autozp" option. This means auto-judged zero page access.
    If you execute nesasm_x86 with -autozp , assemble "lda $86" , "lda ($86),y" and "lda ($86,x)" to "A5 86" , "B1 86" and "A1 86".
    you don't need to use "<" and "[]" directives.
    Note that there is a side effect in this option. The original assembled "lda $0086" to "AD 86 00". This assembled to "A5 86" , and you can't assembled to "AD 86 00" intentionally.
    Thus , it became to add this option.
  4. Added ".autozp" directive(peseudo operand). same "-autozp" option. .autozp 0 is off , 1 is on. This directive functions from -autozp option by priority. NOTE: Please describe by all operand.

License

License is based the original nesasm , and without warrantry. There is the license source in main.c.

* This program is freeware. You are free to distribute, use and modifiy it
* as you wish.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Please contact by the e-mail , minachun_at_2a03.jp (replace "_at_" to @)


nesasm_x86 2.51 自動ゼロページ判定対応

このソフトは、http://www.magicengine.com/mkit/からリリースされている、nesasm というファミコン向けアセンブラの改変版です。ベースは 2.51 です。

リリース履歴 および ダウンロード

バージョンリリース日ファイル内容
2.51p beta32011年1月16日nesasm_2.51p_beta3.7z

  1. .autozp ディレクティブ追加

2.51p beta22011年1月16日nesasm_2.51p_beta2.7z

  1. "lda $nnnn,x or lda $nnnn,y"といった命令のアセンブルで内部エラーが起きる不具合を修正
  2. "-L"オプションをつけたときにアセンブルエラーを見つけると例外が発生する不具合を修正

2.51p beta2011年1月04日nesasm_2.51p_beta.7z

  1. 最初のリリース

改変内容

  1. WindowsXP/Vista/7 でも動かせるようにしました。ベースコンパイラはVS2010。Windows2000以前ではたぶん動作しません。
  2. x86版の他にx64版も作成しています。もっとも、動作速度そのものはx86で十分に速いので、完全に自己満足のためのリリース(笑)。
  3. -autozp というオプションをつけました。これは、ゼロページアクセスの自動判定オプションで、このオプションをつけて実行すると、lda $86 とか lda ($86),y とか lda ($86,x) という文法でゼロページアクセスとしてアセンブルしてくれるもの。
    要するに "<" とか "[]" を使わなくてもいい、という話です。
    これには副作用があって、lda $0086 は従来だと「AD 86 00」とアセンブルされますが、このオプションをつけることで「A5 86」とアセンブルされ、意図的に「AD 86 00」とは出力されなくなります。
    そのため、このようなオプション付加タイプでの拡張を行いました。
  4. .autozp というディレクティブ(疑似命令)をつけました。意味は -autozp と同じです。0 を指定すると機能しません。1を指定すると機能します。-autozpオプションより優先的に機能します。注意点として、すべての命令の前に書いてください。

ライセンス

ライセンスは元の nesasm に準拠し、「責任持ちません」を主張する文を付加します。原文は main.c にありますが、ここではそこから引用します。

* This program is freeware. You are free to distribute, use and modifiy it
* as you wish.

ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。ここでいう保証とは、商品性、特定の目的への適合性、および権利非侵害についての保証も含みますが、それに限定されるものではありません。 作者または著作権者は、契約行為、不法行為、またはそれ以外であろうと、ソフトウェアに起因または関連し、あるいはソフトウェアの使用またはその他の扱いによって生じる一切の請求、損害、その他の義務について何らの責任も負わないものとします。

お問い合わせは電子メールにて。minachun_at_2a03.jp ("_at_"を @ に置き換えてください)