1 :
名無しさん@R800 :
02/01/10 09:19 ジャンプ命令でアドレスを手計算したよね? C9
RETだっけ?
H68TRから始めたから、ハンドアセンブルなんてしたことないよ。
PC-80/88時代は、アセンブラを知らずにハンドアセンブルしてた。 後からアセンブラというツールの存在を知って、なんて便利なんだ!と。 決して「買えなかった」って事ではないので sage。
88にはマシン語モニターに簡易アセンブラがついてた。 でも、インテルニーモニックだったからとっつきにくくて使わなかった。 持ってた解説書がZ80ニーモニックだったし。
1ラインアセンブラのほうが シンボリックアセンブラよりしっくり来てた奴前に出ろ!
アセンブラは買った事無いな。CP/M買ってフリーの使ったり、その後にS-OSだったり。 フラグ変化を無視して良い場合 3E 00 より AF。
8 :
名無しさん@R800 :02/01/10 12:54
LD A,0 → XOR A ですね。常用してました。
Z80基板作って、モニタをROMに焼いて・・・ 最初はハンドアセンブルしてた、 その後、ハンドアセンブラで簡易アセンブラを作った。
スイッチをパチパチして暗記しているIPLコードを打ち込んでから紙テープを読ませて・・・ ↑こんなバカ、じゃなくて本物のプログラマは実在するのか?
>>8 ゼビウスを作った人達は「LD A,0」を多用してたみたいだね。
ゲーム的には歴史に残るゲームなのに、作ってるのは素人集団。
12 :
ナイコンさん :02/01/10 14:44
今年38になりますが、気分はまだまだ素人です。
14 :
ナイコンさん :02/01/10 14:58
>>11 ゲ製板に、製作者本人(遠藤氏)がキャップ付でいるよ。
理由を聞いてみたら?
パッチ当てがやり易い M1サイクルが減って消費電力が下がる
CD0500
17 :
ナイコンさん :02/01/10 15:30
というか、全員やった事あるんじゃないの?
>11 xor aだったらフラグが変化するから ld a,0を使っていたか、 コンパイラを使っていたのではないですか。
>>18 アーケードでコンパイラ使うようになったのは、もっとずっと後になります。
自分もZ80覚えたてのときはXOR A猿だった。
その後、必要ないところはLD A,0にするようになったよ。読みやすいから。
コンパイラってもいろいろあるから。 N-BASICも一部コンパイラ(PL/M)で書かれていたんじゃないの?
21 :
ナイコンさん :02/01/10 19:23
22 :
ナイコンさん :02/01/10 20:20
23 :
ナイコンさん :02/01/10 23:03
なんか「キム少年のマシン語会話講座」(←間違ってるかも)みたいになってきたな(藁
アセンブラ欲しかったなぁ・・・。< M6800猿
25 :
ナイコンさん :02/01/10 23:28
CD5055
CALL-151
JR (-2-27)
>>10 昔のIPLは短かったし、何度も入力させられていたから、みんなやっていたとか。
そういう旨のことを、ウチの助教授がほざいていました。
MZ-80B vs Win2k 起動時間対決とかやってみたら面白そう。スレ違いsage
>>28 学校の片隅に転がってました。
さすがに授業でやったのは、穿孔テープ、穿孔カード、
マークシートカードだけですね。
マークシートカードは他の授業中に机の上でプログラムが
入力できるので重宝しました。
C3 01 00
初代88でハンドアセンブル。 大して知識ないのに、CMDなどの未使用BASIC命令を使おうとして、 実行>暴走>自動リセット を繰り返してた日々が懐かしい。
34 :
ナイコンさん :02/01/11 18:10
再ロードはカセットテープから?
文房具屋でコーディング用紙って売ってたよね。 アセンブラ用とか、フォートラン用とか。
>>35 なつかしい!
漏れは、Campusノートに線を引いて書いていたYO!
>>34 CMDやISETをPRINT命令やLOAD命令にしただけだったので、
最初は、手入力オンリー
ROM-BASICマンセー(T_T)
X1TURBOのROMバイオスは手品のようなコードがちりばめられており、結構勉強になりました。
39 :
ナイコンさん :02/01/12 03:25
8801のN88BASICのROMの、スタック馬鹿一代には参った。
ふと、こんなのを思い出しました。 関係のないレジスタを壊さずに HL=HL+A をやりたい時、 PUSH BC LD C,A LD B,0 ADD HL,BC POP BC これだと6バイト、 ADD A,L LD L,A ADC A,H SUB L LD H,A これだと5バイトでした。 後半がとても斬新でした。
42 :
ナイコンさん :02/01/12 04:20
>>40 絶妙な差し手で決まる7手詰めの詰め将棋のよう。
感動しました。前半の方は僕もよく書いたです。
無難というか、ADD HL,BCの用途目的のまんまっすね。
漏れも、懐かしくて思い出したよ。 5ビットデータのMSB2ビットだけ左にスライドする必要があったとき LD C,A AND 00011000b RLCA LD B,A LD A,C AND 00000111b OR B が、 LD B,A AND 00011000b ADD A,B で実現できることに気づいたとき震えたね。 我が厨房ハンドアセンブル時代。
44 :
ナイコンさん :02/01/12 22:46
ハンドアセンブル… レジスタの遣り繰り。 1バイトを削る努力。 新ルーチンの発明。 コード表とにらめっこ。 ビット操作に明け暮れる日々… 嗚呼!少年の日の無邪気さよ! あの集中力をもう一度!ううっ…(涙
LD A,0をXOR Aとするのは基本でしたけど、 たまにSUB Aって書く人いませんでした? あと、CP 0に相当するものが、OR A派と、 AND A派に分かれてましたよね。
>45 それ使っていましたが、sub a,aですよん。cp 0はor aかな。 実際よくハンドアセンブルしていたのはポケコン。 Z80はアセンブラ。
あ、違ったかな。subはa無しで、sbcがa有りだったかなあ。 間違っていたらスマソ。
>>47 ADD,ADC,SBCはHLレジスタが対象の場合があるからAつきで、
SUB,AND,OR,XORはA専用だったからAなしだったんですよね。
ちなみに自分の場合は、XOR(引き算をしたというフラグが
立たないため)とOR(ANDより名前が短い)だったのですが…。
SUB Aを使っていた理由は何でしょう?
49 :
ナイコンさん :02/01/13 10:27
Carry→A (00, FF) に、 sbc a,a をよく使ったね。
みなさん、PUSH POP は使うほう?
>>51 おれは使ってる…。もうメモリはいっぱい有るし、Z80速くなったし(涙
53 :
ナイコンさん :02/01/13 19:11
ex hl,bc するのに、push, pop使って push bc ex (sp),hl pop bc とかやってた。
>48 なんとなくかな。ポケコンにXORが無かったからかな。 なぜかSUBのほうだった。 今もZ80使っているけど、最近はCのほうが多い。
あぁ…なるほど、他のCPUの影響があったんですね。 そういえば、6502なんかもSUB(SBCだったかな?) を使うみたいだったから、そのへんの影響を受けてる 人もいたんでしょうね。 しかし今もZ80使ってるのってすごいですねー。
>55 aki-80とかです。まあたまにですけど。
57 :
ナイコンさん :02/01/13 21:09
>>55 6502 はレジスタ同士の演算なんかできないので LDA #0 とか素直に書きますよ。
65C02 なんかだと命令が色々拡張されてて ACC をクリアする CLA という命令とか
もあって便利でしたね。
58 :
ナイコンさん :02/01/14 00:11
>>44 禿げ同。本当、今では考えられないくらいの根性あったよな(w
59 :
ナイコンさん :02/01/14 01:31
>23 色々勉強になったね。 ちなみに、知らん人のために簡単に説明すると A=I(一人称) B=YOU(二人称) CP B 「ごきげんいかが?」 (私とあなたの状態を比較している) 応用で CP (HL) 「ここはどこ?」 AND A 「私は誰?」 LD A,0 おなかすいた。 XOR A はらへった!(フラグで強調) SUB A ・・・は何だったっけ? PUSH AF それはともかく(おいといて)
わかりやすいっすね。 厨房の俺にはありがたいっす。
Z80シリーズはホントにはまったなあ。 あの頃はハンドアセンブルすんのに、ボロボロになったコード表を 持ってた記憶がある。 あとNECのPC-80/88シリーズのCPUって、必ず「Z80A相当」 って書いてあったのが、あの頃は意味わかんなくて不思議だった。 単にライセンス生産してて、自社製チップを使ってたんだよなー。 「mPD780C-1」 今でも覚えてる(笑) んで88MRから4/8MHz切り替えになって、V1/V2モードで 混乱して。 あと隠し命令探すのも流行って、雑誌で特集組んだりしてたよな。 高速グラフィック画面消去プログラムのコードが、クロック数の 少ないPUSH命令のかたまりと知った時には愕然としたし(笑) でも、あの頃のユーザーが一番パワーあったよな。 だって速度を求めるのに、実行クロック数を計算しながら組んだり メモリを節約する為に、XOR Aみたいに同処理を短いコードで 組んでみたり。 Windows時代の今の若い人たちはホントにうらやましい。 5インチFDD2台積んだNECのPC-8031Wなんか本体の PC-8001よりデカくて、30万以上してたんだぜ(笑)
62 :
ナイコンさん :02/01/14 01:53
>61 IXをHとLにわけたり、しかも88やX1で組むとRAMだから 自己書き換えでIX+Aとかで前後128バイトのMAP検索とかもできちゃう。 今でも仕事でZ80使うけどROMだからなんも遊べなひ・・・。
>>61 ライセンス生産じゃないよ。マスクを勝手にピーコして勝手に生産。
だから互換じゃなくて相当。どうせ書くならμPDにして。
>>61 μPD780Cは、正式なライセンス生産じゃなかったと思う。
当時の正式なセカンドソースは、日本ではシャープだけだったかな?
μPD780Cだと、NMIの処理か何かがちょっと違うとかあったと思う。
実用上は全然問題ありませんでしたがね。
で、そういう部分が問題にならないように、「相当」とキチンと
書いてたんだと思います。
今時のWinプログラマだけど、SSEやMMXやキャッシュ効率やストールで悩んでる 投機実行って言っても宣伝ほどの実力はないからアセンブラは不滅
隠しコマンドで思い出したけど、NEC製チップってさ、 裏レジスタあったよね? 一度に全てのレジスタの交換しか出来なかったけど、レジスタの 量が倍に増えたので嬉しかった。 問題はプログラムがPC-80/88専用になる事だけど、 あの頃は機種専用プログラムが当たり前だったし。 だってアセンブラだから(笑)
>>66 Z80の元々の機能ですね。
EXXでBC,DE,HLのそれぞれの裏レジスタが使えた。
EX AF,AF'でAFの裏ね。
そういえば今アセンブラの勉強できる本ってあるのかな。 アマゾンで検索してもほとんどが在庫切れ。
69 :
ナイコンさん :02/01/14 02:02
ありゃ! すごい突っ込みが。 失礼しました(笑) 正式じゃなかったのか。 たしかに「相当」だったよね。 「μ」って機種依存じゃないのかって思ってさ。 スマソ。 しかしNECはVシリーズチップといい、そんな事ばっかり やってんのか(笑) 俺は結局286からはEPSON派になったが。
71 :
ナイコンさん :02/01/14 02:10
>68 Z80? 686? Z80ならエミュのソース見ながら解説ページで勉強、とか。
アスキーの「はじめて読む〜」シリーズはまだ売ってるよ。
>>69 東芝はだいぶ後になってからのライセンスだったんですよね。
MSX2あたりの時代だったような。
だからパソピアなんかもNECのμPD780Cだったはずですよ。
>67 裏レジは非常に使うのが難しかったですね。 よほどの事がないかぎり使いませんでした。
BASICのREM文でアセンブラ書いてなかった? 俺はずーっとそれだったよ。P6で。 当時はC言語のソースに憧れてBASICのREM文に意味泣くmain() とか書いて一人悦に入っていたな(w
>>74 確かに難しい…っていうか、それほど利用するチャンスが
ありませんでしたね。IXやIYのほうが使い道はありました。
裏レジスタは、元々は割り込み処理のために存在していた、
とも言われてましたが、そういう例はあまりなかったような…。
77 :
ナイコンさん :02/01/14 09:50
PC8801用のCP/Mは、糞でIX,IYが使えなかったような記憶がある。
78 :
ナイコンさん :02/01/14 10:13
>>77 システムコールの前に PUSH IX; PUSH IY
システムコールの後に POP IY; POP IX
というふうにやってもだめだったの?
昔はZ80の命令表を暗記していて「脳内アセンブル」なんてことが 出来る人が居ましたナア…。 さすがに相対ジャンプ計算まではやってなかったみたいだけど。 自分が初めて使ったアセンブラはMSX用のROMカセットでした。 Coralという会社から出ていた。と思う。
80 :
ナイコンさん :02/01/14 11:16
>79 当時は直接16進でうちこんでいく人は結構いたよ。 ジャンプも自動的に頭の中で変換されるらしい。 ハードやってる人だと自然にそうなっちゃうみたい。 でも88でモニタに直接16進でダカダカ打ってくのを見たときにはちょっとひいた。
81 :
ナイコンさん :02/01/14 11:22
>76 サブに飛ばすときに、PUSHPOPするよりもとりあえず裏がえしとく みたいな使い方はシテタと思う。 Cの変数みたいだ。ローカルな。
裏レジは良く使った。やっぱ割り込み処理。 組み込み用途ばかりだったから、たまたまそうなだけだと思うが。
>>79 Z80が出る前の8080時代でしたが,脳内アセンブルしてました.
16進でなくて8進で覚えるのがミソ.
>>77 PC8801のCP/Mって、ASM.COMかDDT.COMの仕様と勘違いしてない?
BIOSが勝手にIXやIYを使って壊すから、とか、 割り込み処理ルーチンがそういうことする、とか。 MSAだったらやりかねないかも…。
>>76 えー、裏レジ使わないでZ80の最適化は語れないよー。
レジスタの割り当ては、もう細心の注意を払ってさぁ・・・
それでも10%の高速化の為にルーチンの80%を書き
なおすなんて事はよくあったよ。今考えるとアホくさい
けど、当時はそれが楽しかったりしたんだ。
87 :
ナイコンさん :02/01/14 17:57
>>79 16進ダンプ見ながら、脳内逆アセンブルする人も
結構いたと思う。
>>75 アセンブラと関係ないんだけど、
FMのKコンパイラって、ソースをBASICの注釈で書くようになってたね。
元々強力なフルスクリーンエディタ(?)をROMで持ってるんだから、
それを使おうというわけで。うまい方法だと思った。
同じ方式のアセンブラとかあったのかな。
89 :
ナイコンさん :02/01/14 18:41
FFシリーズの初期メインプログラマだったナーシャ・ジベリは、 完璧脳内アセンブルができる人だったらしい 彼の開発環境にはプリンタはなく(バグが出ないから) さらに命令クロックも考慮したコーディングをしていたらしい なにやら、どのルーチンに分岐しても、それを処理する クロック数が常に同じになるように作られていたらしい 今はカルフォルニアでレストランを経営しているらしい
>>89 恐ろしく懐かしい名前が。
聖剣2...。
>>89 仕事で彼のコードを見せてもらったことがあります。FCです。
adxとせずinxを並べたルーチンを呼んでるところとかあったな。
>今はカルフォルニアでレストランを経営しているらしい
いいことを聞きました。
92 :
ナイコンさん :02/01/14 21:08
ハンドアセンブルのおかげで、16進を逆方向に言えるようになった人は 多いと思う。
>>86 脳内アセンブルで裏レジ使って、混乱して吹っ飛ばしたことも、しばしば。
CPUクロックの遅い時代って、ほんと最適化が必要でしたね。
「お、こりゃ便利だ」とか思ってIX,IY使ったら、激遅で使い物にならなかった
なぁ...
Z80の裏命令を初めて知った時も、試しに使ってみたら、吐くほど遅かったし。
>>92 16進逆順とはちょっと違いますが、ANK文字の
アスキーコードは、今でも即座に16進数で言えます。
もう、何の役にも立ちませんが…ね(藁
>>88 >同じ方式のアセンブラとかあったのかな。
富士通純正のアブソリュートアセンブラが同じ方式だったよ。
>>93 昔、IX・IYの利用価値について、知人と言い争ったことがあった。
でも、絶対使わないと逝った自分も、最終的には使った。
頻出する固定データが4バイト以下のプログラムなら、
LD A,(nn)を使うより、LD A,IXHなどを使うほうが早い。
欠点は、アセンブラが対応していないので・・・
97 :
ナイコンさん :02/01/14 22:52
BASICMasterJrに6単位TTYを繋いでハンドアセンブルでドライバを 作ったことがある。なかなか動かなかったが逆アセンブラは作って いたのでそいつで逆アセンブルしたらすぐバグが見つかって動くよ うになった。なんで逆アセンブルすることにすぐに気がつかなかっ たのだろうか。
Cのスタックフレームや構造体のアクセスには IX, IY レジスタって 便利なんだけどね。ハンドアセンブルじゃそんなコード書かんしな。
>>96 オレはインデクスレジスタが2本のCPU以外ではゲームを作る気にならんかった
ふつう、アセンブラでも敵キャラを構造体にして持つよね
Z80のインデクスレジスタのオフセットって-128〜127だけど、 負のオフセットって意味あったのかな?
101 :
ナイコンさん :02/01/14 23:02
68系のニーモニックであこがれていたのが SEX 別スレにもこの話題があったか。 で、 100を踏んでみる
100 とられてしまた... 今日は嫁とSEXして寝る。 最近アレなので、潤滑ゼリー使用。
すまん、99じゃなく100だった 俺は嫁がいないから自分で抜いて寝る
嫁に拒否されてすごすごと戻ってきました。
>>77 "8801用"っていうCP/Mはありましたか? 8801の8001部分を
使っていたのではなかったでしたっけ。
>>85 割り込みで壊れるのであれば、77の説明が付くけどね。
MSAって当時も、「あれは使わないほうがいい」って言われてた
し、いまだに恨みに近い感情を持っている人が多いようですね。
>>99 そういえば、彼はバリバリゲームを作っていて、
漏れはエミュ作ったりFDプロテ外したり、ゲームは作ってなかった。
ゲームならインデックスの利用価値はありますね。
>>105 >割り込みで壊れるのであれば、77の説明が付くけどね。
>MSAって当時も、「あれは使わないほうがいい」って言われてた
MSAなら後から出してたTurboPascalは動いたのかな?
ま、当時CP/MでZ80のコードって極一部だったけどね。
108 :
HD64180 :02/01/15 01:15
隠しコマンドマンセー
"8801用"っていうCP/Mはありましたか? あったよ。
アセンブラは持ってましたが、というかICEを使って結構環境は良かったです。 ただ外回りでロムライターしかない場合は、泣く泣くハンドアセンブルしてましたが。
その昔、TKー85をZ80書籍片手に入力しようとしたが、 付属のマニュアルはインテルニーモニックで解説。 厨房だった漏れは、Z80のニーモニックを脇に書き込んで ROM内基本ルーチンの動作を辿ったことがあった。なつかしい
8080の後継として8085を出すような会社が21世紀になっても栄えているんだから不思議
懐かしい〜。 一旦コードを書いたあと、ステートを減らす方法を考えるのが楽しかったなぁ…。 おかげで「Z80秘伝の書」ボロボロ(笑)。
>>112 やっぱ互換性が重要ってことよ。
パソコン本体だって同じだったよね。
BASICの遅さにイラついてハンドアセンブルで機械語の世界へ。 しばらくするとハンドアセンブルが面倒でBASICでアセンブラ作った。 更にしばらくするとBASICのアセンブラが遅くてイラついてアセンブリでアセンブラ作った。 若かーたよね(笑
私も逆アセンブラならBASICで作りましたねー。 中途半端で出来は悪かったですが、それでも無いよりマシでした(笑)。
PCとかZ80とか68Kじゃなくて、マイコン組み込みで 現役でアセンブラコリコリ書いてるんですけど...。 つい最近まで4ビットCPU使ってたyo!
118 :
ナイコンさん :02/01/20 08:57
お前らにJavaをやる資格はな〜い ハンドアセンブルから出直してこ〜い と思わなかったりする今日この頃。
メモリマップから設計していた頃の考え方が抜けなくて メモリが細切れになってるんじゃないかと心配しながらプログラム組んでます
「アセンブラが買えずハンドアセンブルした人の数」 ↓ 「Windowsソフトをオールアセンブラで組もうと企んでいる人の数」 にはならないね
>>124 参考までに、今Windowsのソフトってアセンブラで作れたりするんですか?
>>125 作れるよ
ダンプリストを直打ちして作ることも可能
がんばってくれ
>>126 それはどもです。ダンプリストにチャレンジしてみます
128 :
おもいだせん :02/02/04 15:46
RET:C9 JP:C3 CALL:C?
DI:F3 HALT:76 NOP:00 LD BC,xxxx:01 RST 38H:FF LD A,xx:3E XOR A:AF 無駄な記憶だ・・・
8ビット×8ビット乗算にADD HL,DEを使うのは素人
8ビット×8ビット乗算にADD HL,HLを使うのは素人
MSX使ってたときがんばってたなぁ
私は去年、MSXでやった。 急にやりたくなったんだもん、しょうがないじゃない。
136 :
ナイコンさん :02/02/07 06:19
アセンブラがなかったので作ってしまったわたしはこのスレ参加不可ですか?(笑) (ぽけこんで)
EXX
138 :
ナイコンさん :02/02/07 06:35
SEX
139 :
ナイコンさん :02/02/07 10:10
>>138 ホントにあるんだよな・・・。
でもアセンブラはやっぱり変態アセンブラBASEでしょ。
140 :
ナイコンさん :02/02/07 11:41
>>139 BASEはクソ。逝ってよし。つーか、BASEでソース書くなよ。>某メーカープログラマ
ゲーム移植で一番最初にしなくちゃいけなかったのはBASEの表記の資料をあつめること。
ZASMなどのZilogニモニック派はBASEは大嫌いだった。
つーか、スレ違いだな。
SEXは6809命令だね
141 :
ナイコンさん :02/02/07 20:24
被乗数:Ereg 乗数:Areg 結果:HLreg
PUSH DE
PUSH AF
LD D,0
LD H,D
LD L,D
SCF
ADC A,A
LOOP1:
JR NC,SKIP1
ADD HL,HL
ADD HL,DE
JR SKIP2
SKIP1:
ADD HL,HL
SKIP2:
ADD A,A
JR NZ,LOOP1
POP AF
POP DE
両方とも使いますが?
>>131-133
8ビット加算&右シフトと、乗数と結果をLregで共有するのがポイント テーブル使わないでもっとクロック削れるかな ; HL = H*L XOR A RR L JR NC,$+3 ADD A,H RRA RR L JR NC,$+3 ADD A,H RRA RR L JR NC,$+3 ADD A,H RRA RR L JR NC,$+3 ADD A,H RRA RR L JR NC,$+3 ADD A,H RRA RR L JR NC,$+3 ADD A,H RRA RR L JR NC,$+3 ADD A,H RRA RR L JR NC,$+3 ADD A,H RRA RR L LD H,A
143 :
ナイコンさん :02/02/12 12:30
>>64 #でZ80のセカンドソースのパターンかいてた知人から聞いてけど、ザイログからは
ろくな資料無しで自分達で作ってたそうだ。
で、隠し命令はエンコードの関係上の偶然の副産物だったそうな。
で、#が嶋氏をヘッドハントしようとしたけど、条件面に折り合わなくなって、
暫くして(ASCII系列の)VMテクノロジーだっけに移転したんだっけ。
工房の頃、アセンブラの命令表見てて、「LD A,Aとかって何かに使えないかなぁ?」って
考えた時にM1サイクルにあわせて、データバスをフェッチすれば、MMUもどきのバンク切換
専用命令とかに応用できそうな気がしてASICのパターン起こそうと考えたな。
他に、何か使えそうな用途ある?<LD A,Aとか
144 :
ナイコンさん :02/02/14 23:13
>>142 6502あたりでは大昔から定石となっている乗算手法なんだが8080では無意味だったりする
8080との腐れ縁で損しているZ80ってところかな
145 :
ナイコンさん :02/03/01 19:11
そういえば昔一定のメモリ領域内で双方のプログラムを戦わせる〔領域を自分のコードで埋める) コアウオーズって知ってる方います?
146 :
◆KnrmAajY :02/03/02 07:27
ハンドアセンブル・・・ 日立S1の時にやってたことあるけど、 効率がぜんぜん違う。 でも、X68000のGCCを見て以来、 アセンブラは使うまい、と決めた。
M80
>>146 え?そう?
こりゃ一生アセンブラから抜けれないと思ったよ…gcc2になっても。
149 :
◆KnrmAajY :02/03/03 01:02
>>148 自分ごときの最適化能力じゃ、
GCCのレベルと大差ないってことがわかったんだ。
Cに比べて効率悪い分だけ損ってわけ。
それに今じゃ、CPUの速度がアホほど上がってるし・・・
150 :
オサーンPG :02/03/13 05:36
BASICでアセンブラと逆アセンブラ自作したよ。 ハンドアセンブルなんて(自分には)できっこないって思いこんでたから(笑)
152 :
オサーンPG :02/03/17 01:52
>>151 正解。VICーC64ユーザー。で、アセンブラ作ったのはC64で。
VICでは当然無理。
>>143 ZAX社のインサーキットエミュレータ(ZICE)は、LD A,A命令
が来たら、そこでBREAKするという機能を持ってた。もちろん
その機能を無効にする事もできた。
154 :
ナイコンさん :02/03/24 00:30
な、なつかしー。 リアル厨房のときに使ってたハンドアセンブル用ノートは 消しゴム跡だらけだった。コマンドを挿入するたびに それ以降を消して書き直しとかしてたなあ。 リロケータビリティのために相対アドレッシングにしてたら JR命令を書き直ししなきゃならなかったりたりして。
初めて買ったマシン語入門の本に 「マシン語はBASICと違ってプログラムの修正ができません。できたとしても1バイト書き換える程度です」 なんて書いてあって「???」だった。 実際にハンドアセンブルしてみて「あぁ、言いたいことはわかったけど、誤解を招く文章でもあるな」と 思った。 MSXの場合モニタをロードするところから始めないといけないのがナァ。MONコマンドがうらやましかった。
156 :
オサーンPG :02/04/06 19:47
>>155 その為にところどころムダに3バイトのNOPか、
例えば
jp _nxt
_nxt ld a,(sample_X)
みたいなダミーのジャンプをいれといて
ICEで飛び先を変えて修正するとかしてましたな。
あ。パソコン単体だと無理か…。
157 :
ナイコンさん :02/04/08 03:45
オレは貧乏で機械すら持っていなかった。 従って、アセンブルだけでなく、プログラムの実行から ハンドでやっていた。MZ80でそうやって作ったプロ グラムを打ち込んでその通り動いた時は感動した。
158 :
ナイコンさん :02/04/10 01:23
BASICのREM文に記述するタイプの「ハンド」アセンブラ。 もちろん、シンボルもハンドアセンブル。
159 :
ナイコンさん :02/05/12 01:08
ファミベーでやってた。アセンブラなんて当然なかったから・・・。 MSXでもしばらくやってたな。
"Hello, world"をCでコンパイル。 ↓ アセンブラ・ソースを出力。 ↓ なんじゃこりゃあぁ!!
161 :
ナイコンさん :02/05/15 02:33
6809の相対ジャンプは計算が面倒だったのでダイレクトページ使いまくり。 LEAX命令なんてハンドアセンブラでは存在意義さえ分からなかった。
リアル厨房の時やってた。ハンドアセンブル。 相対ジャンプの計算が苦痛ダッターヨ。 前へ跳ぶ時と後ろへ跳ぶ時で違うんだよね。 PCは既に次の命令を指してるからね。
163 :
ナイコンさん :02/05/24 09:15
なるへそ、でも会社ではCしかつかえないので鬱
164 :
ナイコンさん :02/05/24 12:19
授業中にやってたな、ハンドアセンブル。
165 :
ナイコンさん :02/05/25 10:19
>>153 BOXですね。なつかしいな。
この他にもソフィアのinVなんか使いました。
166 :
ナイコンさん :02/05/25 11:01
みなさんハンドアセンブルでどれくらいの大きさのプログラムを作りましたか。 まさか10Kオーバーなんて人はいないですよね。 わたしは、ワンボードマイコン時代でせいぜい500バイトくらいまでです。
コモドール64のプログラムをハンドアセンブルで書いてました。
ファミリーBASICでも書きましたねぇ。
6502って最高ですよ。
それを設計した天才連中がARM社を設立したんですねぇ。
日本語のページがあたーよ。
http://www.arm.com/jp/
168 :
ナイコンさん :02/06/12 17:10
工房の頃、BASICに逆スクロールルーチンを混ぜてMSXで動かしたりしました(w それにしても、よくZ80のハンドアセンブルなんてものにトライしようとしたな… >あの時のオレ ところでZ80って、今だとパチンコ・スロット以外に何に使われてるんでしょうか?
169 :
ナイコンさん :02/06/12 20:13
170 :
ナイコンさん :02/06/12 20:23
CD5055 はデバッグの必需品 でも88はマシン語モニタが超強力だったからあまり。
171 :
ナイコンさん :02/06/12 20:46
BASICから呼ぶスクロールルーチンくらいならトライするって程の量じゃ全然ないような。 つーかハンドアセンブルするまでもなく素でコード書けるようにすぐなったぞ。
I/Oプラザに載ってたような痛い自慢だな。
>>168 前Z80でデータロガー作りましたが、何か。
特に記録したいものもなく、いまだに実験していません。
175 :
ナイコンさん :02/06/17 01:10
Z80は不滅でしょう。 512のROMの方が先に無くなる(た)。
プログラム途中で挫折したのであれなんだが・・・ 昔って雑誌にアセンブラのリスト載ってなかったっけ? 打ち込んでSAVEして使ってくれって
178 :
ナイコンさん :02/06/17 08:15
ハンドアセンブルプログラムのデバッグでの、コード削除はまあよいとして、 追加は鬱陶しいですよね。 ここにいる皆さんは、もういい年していると思いますが、 今、ハンドアセンブルでプログラミングする根気はありますか?
数十バイト位のプログラムなら、やれるかも??? <- 数十バイトで何できる?!!
180 :
ナイコンさん :02/06/17 23:17
>>178 他に手段がなければできるかもしれん。
でも今はフリーのアセンブラがあるからな。
まずクロス環境構築するだろうなあ。紙に手でコード書くなんて耐えられない。
頭の中でアセンブルするんだろ?ふつー。
もし、プログラミング手法がハンドアセンブルだけになったら、 私はプログラマーをやめますが、SEだったらやります。
76
185 :
ナイコンさん :02/09/05 21:54
ハンド逆アセンブラーage
x86のオペコードのってどこで調べるの
187 :
ナイコンさん :02/09/07 14:17
>>150 漏れもBASICでアセンブラ作ったな。
MZ-1500
ラベルの使える本格的なやつだったので、
プログラムがでかくなって苦労した。
懐かしい
ぶっちゃけインテル表記使ってた人いる?
はい。 というかv30使い出してからintel表記使った。 でも、z80のときはzilog表記だったけど。 86使いの人にはintel表記はあまり違和感ないです。 あと、LSI-Cが吐くコードがintel表記だったので知らないと困ったし。
191 :
ナイコンさん :02/09/07 21:46
>>189 mviとか
lxiとか
88のモニタのaコマンドはIntel表記だったんで。
8080のコードしか書けない罠だった。
192 :
ナイコンさん :02/09/08 04:56
なんでインテル表記だったんだろうね。 契約結ばずに勝手に互換CPU作ったから材ログに遠慮したのか?
アセンブラの字句解析がラクだから。
>>38 著しく遅レスだがBIOSとRAMを行き来するトンネルに
感動した覚えが。
RST命令萌え。
ハンドアセンブルか懐かしいな というか俺はPC-8801の市販ソフト数本作ってるけど モニタに向かっていきなり16進数入力でプログラムしてた。 (フローチャート見ながらいきなり16進数で入力) コードとの対応ほぼ覚えちゃってたし。 気味悪がる先輩とかいたよ....
196 :
ナイコンさん :02/11/10 15:22
VIC-1001はマニュアルの後ろのほうにマシン語の コード表があったので素手でやってました って言うか、市販ソフトでオールBASICとかだったころ 小学生がオールマシン語・・・・
197 :
ナイコンさん :02/11/10 16:34
>>196 自慢げに書いてるけど、で何を作ったの?
ROMルーチンやらVRAMやらキーボードの入力I/Oやらの資料もあったのか?
そういうのわからないのにやれる事といったら大した事じゃないと思うけど
画面にキャラクタを表示したとか、どうせそんなレベルじゃないのか?
198 :
ナイコンさん :02/11/11 01:31
電波新聞社『Z80マイコンプログラムテクニック』でおぼえた。 その後、8086のメモリ管理の面倒さに嫌気がして Z80とともにハンドアセンブルは卒業した。
>>197 いいじゃん、それでも十分かと。
漏れもシューティングもどき作ったなー。MSXだけどさ。
まさかBASICでシューティングは作れない。マシン語の速さは麻薬的でした。
敵弾をどうやって自機にむかって飛ばすかとか悩んだのはいい思い出。
BASICと違って三角関数とかで楽できないモンねぇ。つうか小学生は知らないけど。
20個以上の敵弾が飛び交った時はガッツポーズでした。マジうれしかった。
そういや、連打判定ルーチン組む過程で、論理演算の簡略化とか知らずのうちに
やってた。それが論理演算と理解したのは大学に入ってからだった・・。
ガキが夢中になると何でもやっちゃうパワーあるんだなと、大人になって実感したよ(笑
とにかく面白かったよ。ハンドアセンブル。
今時のパソコンじゃ金銭的にも知的レベル的にも敷居が高すぎて、そういう原始的なワクワク感
て経験しにくくなったんじゃないかなー。どうでもいい懐古駄文でしたね。スマソ。
200
201 :
ナイコンさん :02/11/11 14:24
>>199 いや、いい話だよ。昔のパソコンはベーシックが付いてるのが普通だったけど、
最近のパソコンはそういうのが無いから作る楽しみが無くて可哀想に思う。
・・・あのー授業で使ったZ80頭脳のロボット演習で ハンドアセンブルしているんですが。 いまだに現役の私は逝ってよしですか?
203 :
ナイコンさん :02/11/11 15:34
>>202 別にぃ。
電子系・情報系ではZ80使った実験演習があるところも多いね。
ウチのガッコでもZ80やったよ。
204 :
ナイコンさん :02/11/11 19:05
BASE80最強!!! EXECモニターよ、ありがとう!!!
>>202 いいね!そういうマシン語での制御の経験ってやっぱ貴重。何がどう良いかはウマクいえないけど。
>>203 うちもやった。ボード上のブザーで音楽鳴らしたりしたんだけど、あまりに周囲から浮きすぎて理解されなかた。
仕方なくテキスト通りのしょぼいLED点滅モータ制御・・。
せっかく、MSX時代にPSGデータから拾った音階-周波数ウェイトの対応表(手書き)を
引っ張りだしてきて作ったのにー・・。
ああ、おれはノートすらもったいなくて、 広告の裏でハンドアセンブラしてたよ。 相対ジャンプのアドレスはあとで計算できるように 赤いボールペンで四角に囲って。 アセンブル終わってから「1,2,3,...,9,A,B,...1F,10..」と数えていった(w。 BIOSが何やってるのか知る必要があって、 逆アセンブラも作っちまったなー。 勢いでアセンブラも作ってやろうと思ったが、 これはシンボルとかどうしていいのか分からず、 結局断念。逆アセンブラは言ってみりゃ置換する だけだもんな。 今はもう10年以上前の高校生のころ。 金は無かったがやる気はありまくりだったのー。
207 :
ナイコンさん :02/12/03 04:43
あの頃は若かったage
俺、今パチ○コのプログラマーだけど Z80現役です… 高校のとき趣味でハンドアセンブルしたのがMSXのZ80だったな…
パチンコはZ80なのか!
210 :
ナイコンさん :02/12/19 20:10
北朝鮮が中古のパチンコ台を輸入して、Z80抜いてミサイルに搭載して いるって問題になった時があったね。
(^^)
バカめ!! パチンコというのはなぁ、Y字型の木の枝に輪ゴムを巻き(以下省略されました)
213 :
ナイコンさん :03/02/26 16:03
FM7のプログラムのバイトで3日徹夜して納品にこぎつけた. 久しぶりに家に帰って寝入りばなに電話があった. 朦朧とする意識の中電話を取った気がしたが,ふと気がついたら 電話機の前でうずくまって受話器を持ってぶつぶつ言っている私がいた. 「そこの番地の内容はは8Eですよね,それを7E 21 30 に, 2130番地から 8E 21 00 .... 」 無意識でマシン語レベルでパッチ当てたのは後にも先にもこのときだけ. それでちゃんと動いたからすごいよなぁ > 私の中の人 (藁
214 :
ナイコンさん :03/02/27 07:05
何でもSimple is Bestですな 今の複雑なシステムは何の得にもならん。 今更アセンブラだけで組めと言うのも酷だがナー 糞なPC/AT規格が勝ったというのが…
215 :
bloom :03/02/27 09:10
216 :
冬厨ひお++ ◆BSF/iBOFUY :03/03/09 16:51
・ー・)つきあってくれ(・ー・)つきあってくれ(・ー・)つきあってくれ (・ー・)つきあってくれ(・ー・)つきあってくれ(・ー・)つきあってくれ (・ー・)つきあってくれ(・ー・)つきあってくれ(・ー・)つきあってくれ (・ー・)お前らも実は女だろ?俺と付き合え。
217 :
ナイコンさん :03/03/09 19:17
日立ベーシックマスターJr.は 何故か標準で6800マシンコードリファレンス&入門書が付いていた。 こんなの普通の人間は見ねぇよ・・と思いつつ ありがたく利用させていただきました。 後の進路で非常に役立った感謝。
218 :
冬厨ひお++ ◆BSF/iBOFUY :03/03/09 19:43
・ー・)つきあってくれ(・ー・)つきあってくれ(・ー・)つきあってくれ (・ー・)つきあってくれ(・ー・)つきあってくれ(・ー・)つきあってくれ (・ー・)つきあってくれ(・ー・)つきあってくれ(・ー・)つきあってくれ (・ー・)217も実は女だろ?俺と付き合え。
219 :
ナイコンさん :03/03/11 11:27
「買えなかった」どころか、そもそもアセンブラなんか売ってなかった罠。 みんなハンドアセンブルしてた。それが当たり前だった。8ビットの時代。 あとは、I/OかASCIIに簡易アセンブラが載ってて、それを打ち込んで使った。
220 :
ナイコンさん :03/03/11 12:28
>>219 つーか、この時代はPC持ってるというだけでも金持ちの部類だったのだが・・・・
PCなんて手が出ない。ところで「初見では回避不能な弾幕」がないゲームってあるの?
176 名前: 175 [sage] 投稿日: 03/03/11 11:13 ID:???
ldx #$2130
222 :
ナイコンさん :03/03/11 15:15
>>220 そう、ナイコン族は指を咥えてみてるしかなかったのねん。
俺はポケコンマシン語入門でハンドアセンブルじゃったよぉ
あぼーん
224 :
ナイコンさん :03/03/14 15:39
>221 jmp $2130 2130: ldx #$2100
225 :
ナイコンさん :03/03/15 01:56
APPLE][をてにいれたが、マシン語の命令がわからなかったので、 0からFFまで打ち込んでROM内の逆アセンブラで命令調べて、 動作させレジスタダンプさせて調べ上げた。 懐かしい思い出です。
Z80A
227 :
ナイコンさん :03/03/18 01:30
まあ漏れのH68/TRはアセンブラ内蔵だったワケだが・・・。
228 :
BASE86 :03/03/23 09:11
BASE86という謎のプログラムが手元にあるが、これはナンだ? 多分、キャリーラボで自社製品の開発に使用されていたらしいのだが。 キャリーの製品は、会社清算時にフリーソフトになった、という噂は 本当なんだろうか。
229 :
ナイコンさん :03/04/04 21:07
懐かしいですね。小学校6年当時に近所のプログラマーの人に Z80の本を貰って、ハンドアセンブルして作ったのは PC8001の左スクロールのプログラムだった記憶があります。 電源切るしかなかったけど、動いたときは本当に嬉しかった。 サイクル表を見て、少しでも速く動くように考えたりとか。 そういえば、友達にPC88でグラフィック画面を速く消そうと思ったら LDとかでちんたらやらないで、SPをVRAMの先頭アドレスに合わせて PUSHすればいいじゃん等と言われて、驚いたことがあった。 今じゃすっかり普通の職場でまったりと運転手やっていま・・・したのに PHPでプログラム組まされてます。今のPCはわかんないよ!
230 :
ナイコンさん :03/04/08 14:33
ぽっくんも、8bit時代には小学生だったので、
(お年玉2年分(100%全財産)で激安ショップでポケコンPC-1500を無理して購入、
2年後に再びお年玉2年分(100%全財産はたいて)で、すでに旧機種となっていて投売り激安なPC-6001mk2購入)
金も無く、しかも悪いことに超超超田舎に住んでいたので、
周囲に、アセンブラを貸してくれるような「近所の機械好きな お兄さん」もおらず、
どうしようも無い環境の中、ハンドアセンブル以外には選択肢が無かった(ぉ
>>229 > PHPでプログラム組まされてます。今のPCはわかんないよ!
確かに、今のPCやサーバ上でプログラミングするのは厄介だよなー。
ハンドアセンブルで、ミニマムにコンパクトに、『全てを自分が把握/掌握』して
プログラミング出来た時代が懐かしい。
今は、OSやらミドルウエアやらサーバ上のdaemonやら、
さらにその上に被さって動くスクリプト処理エンジンやら、ごちゃごちゃごちゃごちゃと、
とにかく『他人が作った(頭の悪い、しかも微妙に不安定な)システム』が、
重層的に重なり合って動いていて、
『その上に さらに』自分の組んだプログラムを、
「下層レイヤーの全てと、周囲の全てに気を配りながら、そおっと そおっと慎重にバランスを取りながら置く」。
イライラするし、キィィィィィィイイイィィ!!!!ムカーーーつく!!ってなるよなぁ(笑
自分もやはりアセンブラの存在を知らずにハンドアセンブルしてますた レジスタとRAMをやりくりしてハードを直接叩いてた時期が一番 「プログラムしてる!」って実感があったなあー 今は人が作ったもの同士を配管してるだけ、って感じがして空しい
232 :
ナイコンさん :03/04/12 09:42
>231 それはいえる。ある意味楽にはなったけど ある意味、楽ではなくなった感じがする。
233 :
ナイコンさん :03/04/12 22:34
>>231 あのころはパソコンの隅から隅まで知ってたし、知らないと何もできなかった。
今は正直なにも知らない。第一ディスアッセンブル自体が違法?なんだよね。
(^^)
∧_∧ ( ^^ )< ぬるぽ(^^)
236 :
ナイコンさん :03/04/29 09:49
あご
>>229 PUSHでVRAMクリアするってのはやったよな。
画面の下からクリアされるでやんのw
ところで、pc-8001はz80だけど、確かFDの制御もz80がやっていて
二つのCPUを並列動作させればより早くなるじゃん。
って思って挑戦してみたけど、いまいちうまくいかなかったなぁ。
やってみた人いる?
FDの制御にCPUそのものを搭載していたのか... 恐ろしい世の中だな。 それに倣って、Pen4を搭載したFDD作る香具師はおらんのかな。
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
240 :
ナイコンさん :03/05/26 11:50
>>237 > ところで、pc-8001はz80だけど、確かFDの制御もz80がやっていて
> 二つのCPUを並列動作させればより早くなるじゃん。
> って思って挑戦してみたけど、いまいちうまくいかなかったなぁ。
> やってみた人いる?
88で、FDD内のZ80に演算を分担させてるゲームは実際に有ったよ。
ある意味すばらしい。よし、俺はビデオカードに演算を・・・・
>>241 シルフィードやヴァクソルなんかもそうじゃなかったっけ。
C64でやってました 6502は最高です
__∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
ハッキリ言ってアメリカなどの多民族国家では黒人の方がアジア人よりもずっと立場は上だよ。 貧弱で弱弱しく、アグレッシブさに欠け、醜いアジア人は黒人のストレス解消のいい的。 黒人は有名スポーツ選手、ミュージシャンを多数輩出してるし、アジア人はかなり彼らに見下されている。 (黒人は白人には頭があがらないため日系料理天などの日本人店員相手に威張り散らしてストレス解消する。 また、日本女はすぐヤラせてくれる肉便器としてとおっている。 「○ドルでどうだ?(俺を買え)」と逆売春を持ちかける黒人男性も多い。) 彼らの見ていないところでこそこそ陰口しか叩けない日本人は滑稽。
∧_∧ ∧_∧ ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。 =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕 = ◎――――――◎ 山崎渉&ぼるじょあ
アセンブラが買えないんじゃなくて、アセンブラが動くようなマシンが買えなかった というほうが正しいのだが。
(⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
250 :
ナイコンさん :03/09/23 04:32
はじめてのマシン語(MSX) という本を買って、ハンドアセンブルしてますた。 モニタプログラムを自作して打ち込んでますた。 その後、PC-9801の3.5吋モデルを購入して、クロス開発が 出来るようになってウマー
いまだに趣味としてハンドアセンブルやってます。 Win上のテキストエディタでシコシコと。 命令表はHTMLで書いておいてあったり。
252 :
ナイコンさん :03/12/24 19:54
6809でやってた人なんていないよね。
253 :
ナイコンさん :04/01/01 12:05
ノシ いるよ。 パソがFM-NEW7だったから「はじめて読む6809」買ってきて覚えた。 でもハンドアセンブルしたのってメモリコピールーチン程度だけどw
漏れもやったな。命令表広げながら。 6809のシングルボードコンピュータを使った簡単なロボット の制御用だったけど。もうかれこれ20年も前の話だけどね。
255 :
ナイコンさん :04/01/09 11:33
自分でアセンブラ作った人多いだろうなあ 漏れもその一人
このスレ見て、ハンドアセンブルというものをやってみたくなりました。
…でもどうすればいいんだろ…
とりあえず、Cは一通りできる。逆アセンブリなら多少経験有り。
普通にアセンブリ言語覚えてからにしたほうが良いですか?
ハンドアセンブルについて書かれた本などを探そうと思い検索かけたのですが、
日記みたいなページと、懐かしかった〜ってやつばっかでした。
それから、こんなん見つけときました。
http://www.game3rd.com/soft/z80edit/
PICマイコンボードでも作ればいいんじゃない?
※ハンドアセンブルのやり方。 1. 紙に(いや別にテキストエディタでもかまわんが)アセンブリ言語でプログラムを書く。このとき紙の左半分を空けておく。 2. 命令表を見ながら、命令に対応する機械語を書いていく。 例: ORG 3000H ; #MSX EQU 1FE5H ; 3000 11 07 30 LD DE,MSG 3003 CALL #MSX RET ; MSG: DEFB "Hello!",0DH,00H ; END
おっと、ageた方がいいかな?
261 :
ナイコンさん :04/03/28 21:41
6809・・・なつかしい!ハンドアセンブルやってました。FM77AV いかに早いコードにするかクロックのサイクル表見ながら 格闘していたもんです。 今では・・・もう不要ですね。CPU勝手に速いし。
今はちまちまクロック削るんじゃなくて アルゴリズムで高速化する時代だね。 ゲームプログラマーやってるけどこっちの方が大変です。
アセンブラ持ってたけどなんでかX-BASICで リンカ機能をつけたアブソリュートアセンブラ 作ったことがある ほんとに実行コードを吐いて自分でビックリした
いやー、俺なんか田舎者だから教えてくれる人もいなくて、 広告&ダンプリストだらけのI/Oが便りだった。 少ない小遣いで高価な機械語の本買ったのに1年寝かせてしまったしなー。 しかし多用した命令は今でも忘れないものだな。
265 :
ナイコンさん :04/04/11 23:33
嬉しいなぁ、6809ユーザいるねぇ。 リターンが39だったのは覚えてる(藁。
こんなスレがあったんだ。 試験機の制御用に使ったシャープのポケコン(中身がZ80相当のやつね)で 処理ルーチン書いてた頃を思い出してしまった。 それが高じてVZエディタのマクロで逆アセンブラまで作ってしまって、 ROMの全ルーチンを解析するまで逝ってしまったのが懐かしい。
FANFUNがハンドアセンブルと知った時は衝撃を受けた ような記憶がある
>>100 真ん中にアドレス初期値を持ってきて、
256バイトのテーブルとして普通に使っていたよ。
>>268 それなら符号なしのオフセット 0〜255 の方が使いよくない?
88だったので8080の1パスは付いてた でもz80命令はなかったので2バイト適当に入れておいて後で ED B0 とか入れ直していたり 0バイト先を相対ジャンプ先に指定して後で数え直したり... テープセーブする前に走らせたら…無事に残っていることを祈ってリセットボタンしかなかったw
>>269 符号つき8ビットだったのは相対ジャンプの演算器を流用してたからじゃない?
いや、おもいっきり推測だけど。(^^;
ポケコン用の1パスアセンブラつーか、ニモニックで打ち込めるメモリエディタは自作したな。 ハンドアセンブルである程度出来上がったら、そのツールを使って動いてるそれ自身を修正してゆくの。 いまこの命令を実行してるから、このルーチンなら修正しても大丈夫だ、みたいな。
273 :
ナイコンさん :04/10/06 22:24:11
FANFUNってPC-8001のゲーム? エニックスですよね。
FM7懐かしい〜 7E FE 00 だったかな あるいはexec -512 これは憶えてる。
MZのシステムプログラム(アセンブラ)買ったけど ちょ〜〜遅くて使い物にならず、結局ハンドアセンブルした そういやI/Oにのったディープスキャンってゲームはハンドアセンブルしたって書いてなかったっけ?4K超位あったよ確か
SEX命令
FD E5 PUSH IY ← ぷっしー
76
279 :
ナイコンさん :2005/03/26(土) 17:04:40
MSXのマシン語入門みたいな本にアセンブラのリストが付いてたから、それをそのまま打ちこんで使っていた。 しかし、それだとFDD使えなかったから、MSX2に買い換えた時、結局もう一回アセンブラを入力し直すはめになった。
ハンドアセンブルする時、相対ジャンプの基準点が次の命令のアドレス だという事を知らず、うまく動かなくて悩んだあの頃。
アセンブラって何? ニーモニックを使って書いたコードがアセンブラ? ニーモニックを使って書いたコードをマシン語に変換するプログラムがアセンブラ? それとも上の二つはどちらもアセンブラ? 混乱してきた。 誰か説明して。
282 :
ナイコンさん :2005/04/06(水) 00:25:28
そもそもアセンブラが無かった。 コモドール64 ハンドアセンブルでスクロールルーチン組んでゲーム作ったよ。 6502は良かったなぁ〜。(遠い目)
>>281 ニモニック表記のソースコードをアセンブラって言うパターンが多いけど
正確にはアセンブリ言語だよね?
で、オブジェクト(機械語・マシン語)に変換するプログラムがアセンブラ。
ハンドアセンブルでアセンブラを作るのは、かなりつらい。
当時はBASICコンパイラとか考えなかったし。
>>262 昔のコンピュータの1サイクルと、今のコンピュータの1サイクルの差を考えれば自明の理かと...
たしか、PC-8801って4MHzだっけ?
今のPCは最速で4GHzだったと思ったから...
285 :
ナイコンさん :2005/05/01(日) 16:10:42
命令を16進数でほとんど覚えちゃって フローチャート見ながらいきなり16進数入力してプログラムしたな 宇宙人を見るような目で見られた
287 :
マイコン少年 :2005/10/16(日) 09:42:12
DJNZ 1
288 :
ナイコンさん :2005/10/16(日) 13:01:04
Z80っちゃ命令1000個くらいあったっけ。
700個ほどだよん。
たぶん990個
291 :
ナイコンさん :2005/10/17(月) 18:50:35
厨房の頃、98のDISK BASICでゲームとか作ってたとき ループでウェイトかけるとCPUクロック数で速さが変わってしまうので タイマーで正確にウェイトかけるために機械語使ってた。 領域確保とかよくわからんので、配列変数宣言して、その配列の中に ハンドアセンブルした機械語コードをREAD, DATAで直ぶちこみしてた。 なつかしいな
292 :
ナイコンさん :2005/10/18(火) 21:51:42
コモドール64用のゲームをハンドアセンブルで作ってました。
293 :
ナイコンさん :2005/10/21(金) 00:38:54
アセンブラをハンドアセンブルした。 カセットテープからの2パス入力方式。 テキストエディタもハンドアセンブルした。 サブルーチン毎にパッチエリア設けて工夫してた。 んで、アセンブラとテキストエディタをアセンブラでアセンブルしなおした。 そのエディタとアセンブラで CP/M用BIOSとインテリジェントFDコントローラのファームをアセンブルした。 やっと CP/Mが動くようになってカセットテープインタフェース基板と一緒に捨てた。 キーボードより秋葉の路上で売ってたテンキーの入力の方が速かったあのころ。
294 :
ナイコンさん :2006/01/10(火) 13:00:00
今、何故かZ80
295 :
ナイコンさん :2006/01/10(火) 17:04:48
ターボアセンブラつかっていたよ^^ ターボC++とかターボパスカルも持っていたよ^^
296 :
ナイコンさん :2006/01/11(水) 22:01:13
CP/M上のTurbo Pascalは良く出来ていたなー。 手続きや関数に external が使えたので、アセンブラで作ったマシン語 ルーチンを置いて、極限まで8bitパワーを引き出していたのを思い出した。
未だに8bitで一番まともなコンパイラだと思う・・・TP。
298 :
ああMSX :2006/02/07(火) 21:18:12
MSXでBASICを勉強したあと、本に載っていたアセンブラを打ち込んで使いました。 それから逆に戻ってハンドアセンブルでマシン語を勉強しました。 昔のパソコンはゲームぐらいしかできなかったけど、あの時のほうが面白かった。
299 :
ナイコンさん :2006/02/08(水) 18:46:57
Z80の命令は、拡張命令の部分について、 ザイログ公称の命令数と、論理的に動作を予測させる(ザイログ保証外)の 命令数とありまして、命令数は少し違うんだよ! 知ってた?
300 :
ナイコンさん :2006/02/08(水) 18:51:12
MZ700の末巻にあった、8ビット列からの逆アセンブラ表は 非常に使いにくかったけど、CPU命令の動作原理の基本であり、 今となっては昔の思い出ですね。そこらへんの参考書なんかより、 原理がわかりやすかった。逆アセンブルには気が狂ったけど。
301 :
ナイコンさん :2006/02/09(木) 16:39:11
ダンブリスト見て脳内逆アセンブル 又はコード表なしで脳内アセンブル できた人。。。挙手ノシ
302 :
ナイコンさん :2006/02/20(月) 11:05:14
ハンドアセンブルはまぁやったけど 結局めんどくさくなって 自分でアセンブラ作ったな
>>301 ぁぃょ!ノシ
3E とか 21,76,C3,C9なんかでブロックを見分けて、そっから展開してたな。
俺はインテルニモニックから入ったんで、Z80系は良くわからん・・・。
304 :
ナイコンさん :2006/11/27(月) 01:17:59
hosyu
305 :
ナイコンさん :2006/11/27(月) 21:17:38
hoshu
306 :
ナイコンさん :2006/11/30(木) 06:47:49
ld hl,c376h ret
21 76 C3 C9
308 :
ナイコンさん :2006/11/30(木) 10:00:47
アセンブラとアルハンブラの区別が付かんかった俺も参加していいですか? Oh!mzの1982/12だったと思うんだけど、Zilogニモニックと、それを疑似BASIC文 で表現した一覧表がものすごく良くできてた。傑作だったんで、2冊買って、 いまでも保存してあるよ。LD A,R(ED 5F)みたいな普通のアセンブラでは出力 できないようなものまでしっかり網羅してあった。
材ログ って 映画の
310 :
ナイコンさん :2006/12/01(金) 03:11:28
アセンブラはコピって回ってきたのを使ってたな マニュアルが無くて困った
ウチの社の製品はまだ8085を使ってまつ。 Z80と違って相対ジャンプがないのでROMライターにチョクでプログラムを 書き込むときは結構面倒です。 8085のアセンブラは方言がきつくて面倒だったんで、そんなことしたりした んですが。
312 :
ナイコンさん :2006/12/12(火) 19:06:08
詳しく
313 :
ナイコンさん :2006/12/12(火) 20:51:33
>Z80と違って相対ジャンプがないのでROMライターにチョクでプログラムを >書き込むときは結構面倒です。 ??? ROMライター直書きは、絶対ジャンプの方が遙かに楽だと思うが
プログラムの部分がまとめて移動した時とか? なわけないよな・・・
当時は F E D C B A 9 8 ... と逆算出来るようになってたな
316 :
ナイコンさん :2007/01/07(日) 21:35:13
ハンドアセンブルでアセンブラを作るという発想はなかったのか?
317 :
ナイコンさん :2007/07/12(木) 07:38:36
マクロアセンブラを使って、クロスアセンブラは作ったけどな。 >313 リロケータブルじゃなかったということね。ポケコンにPOKE文を使って リロケータブルモニタを手入力したのがなつかしいなあ。
318 :
ナイコンさん :2007/07/12(木) 09:17:44
【論説】朝日新聞の倒閣キャンペーンの異様さ、切ないまでの政治的願望は、日本ジャーナリズム史に残るだろう tp://news22.2ch.net/test/read.cgi/newsplus/11184123463/l50
>>316 下手したらキーボードのキーリピート速度の方が
紙に書くより遅かったりして
マシン語ダンプリストとアセンブリ言語とどちらが早く入力できるか
議論していた時代だと思ってくれると多分当たってる
321 :
ナイコンさん :2007/07/30(月) 06:21:40
Z-1GRは?
不幸にもマクロアセンブラが無料でついてくるX68000から入ってしまったので ハンドアセンブルする機会は無かった。
>>316 ...半年前か。
若い頃にZ80自作マイコンでテキストエディタとアセンブラを自作した。
電卓キーボードとLED表示でメモリ書き換えしてGOというモニタは学校のアセンブラで作ってあった。
卒業してからキーボートとCRTディスプレイのインタフェース作ってこれのファームはハンドアセンブル。
CRTインタフェースのキャラクタゼネレータROMデータも電卓キーボートから手打ちで入れてROM焼き。
ROMライタインタフェースも自作で書き込みプログラムもハンドアセンブルしたが大したことはなかった。
エディタは一行追加、一行削除の機能だけにしたので簡単だった。
エディット行を境にテキストを二分してバッファの前と後ろに張り付けて挿入のレスポンス上げた。
それでも1000行近くなるとエディット行の移動に結構時間かかった。
できたテキストはカセットテープにテキストの読み書きしてた。
アセンブラはIntel8080ニーモニックをエディタで出力したカセットテープから二度読みする2パス方式にした。
当時のIntelニーモニックはZilogニーモニックよりアセンブラ作りやすかった。
どんなアドレッシングでもオペコードがLDっていうのはコーディングは楽なんだがアセンブラからするとマシン語決めるのに手間取るので。
で、これのハンドアセンブルするのがかなり辛かったな。
ラベルが多すぎると2パス目にラベルテーブルサーチしてるあいだにカセットが
オーバランしちゃうんだよね。
んでテキストバッファでかくしたり色々と調整に苦労。
サブルーチン一つごとに32バイトのパッチエリア確保したりもしてたな。
このエディタとアセンブラでZ80搭載のFDインタフェースのファームとCP/M用BIOS作ったよ。
CP/Mが動いてからはZilogニーモニックでM80アセンブラ用に書き直してメンテしてた。
もうアセンブラを作る気は無いがマイコンいじりはしてる。H8のキットとかで。
今はGNU binutilが充実していてお手軽。
>>1 あえて言うが、それは
C3
だ。
・・・・で分かる人、何人残ってるのだろうか >> 日本
(ちなみにC9はサブルーチンから戻る命令です、あえてC3を選んだ
>>1 に敬礼)
326 :
ナイコンさん :2007/10/14(日) 15:12:29
NOP age
328 :
ナイコンさん :2007/10/22(月) 12:47:31
329 :
ナイコンさん :2007/10/24(水) 22:11:23
BCDの存在意義は死ぬまで理解できないと思う
330 :
ナイコンさん :2007/10/25(木) 15:01:32
買わなくても雑誌に載ってた簡易アセンブラで十分だったし。 8801内蔵のアセンブラをザイログ方式に修正するパッチも載ってたよな。 みんな16進を自分で打ち込んで使ったもんだ。
332 :
ナイコンさん :2008/08/28(木) 17:33:53
>>324 いや、
△: 18 □
○;
だ。
理由は○-△-2=□だから
333 :
ナイコンさん :2008/08/28(木) 17:51:11
キモデブ三十歳男死ねよキモデブ三十歳男死ねよキモデブ三十歳男死ねよキモデブ三十歳男死ねよ キモデブ三十歳男死ねよキモデブ三十歳男死ねよキモデブ三十歳男死ねよキモデブ三十歳男死ねよ キモデブ三十歳男死ねよキモデブ三十歳男死ねよキモデブ三十歳男死ねよキモデブ三十歳男死ねよ キモデブ三十歳男死ねよキモデブ三十歳男死ねよキモデブ三十歳男死ねよキモデブ三十歳男死ねよ
334 :
ナイコンさん :2008/11/01(土) 00:47:26
さすがにハンドアセンブラはないな 最初のがPC-8801(初代)だったから一応モニタにワンラインアセンブル機能はあった ただインテルニーモニックなのでZ80を覚えたところだったんで使いずらかった 書籍にパッチ当てプログラムが有ったんで楽にはなったが 経験の有る人に聞いたら修正等でジャンプ先ずれるだけでそれまでの作業が大部分ムダになるので とてもやる気にはなれない(気が短いほうなので)と思った それに近いのは雑誌に載ってるダンプリストの修正を試みたぐらいかな
335 :
ナイコンさん :2008/11/01(土) 00:49:30
×さすがにハンドアセンブラはないな ○さすがにハンドアセンブルはないな
パソコン買ったらマクロアセンブラとリンカが無料で付いてきたから ハンドアセンブルする必要はなかった。 MSXではしかたなくやった。アンチョコみながらシコシコと。
337 :
ナイコンさん :2008/11/07(金) 01:43:01
>>336 最初はNOPだらけだと想像する
俺の場合はそのうちブロック転送プログラムを作り
出来る限り相対ジャンプを使うようにした
ユーザー解放のRST 38Hを利用して相対コールルーチンを作った
結果はプログラムが冗長になりスピードも低下したがw
338 :
ナイコンさん :2008/11/07(金) 01:44:20
×解放 ○開放
339 :
ナイコンさん :2008/11/09(日) 17:08:15
俺はアセンブラでなくパソコンが買えずポケコンでハンドアセンブルしたよ 独自のBEEP音を出すコードを書いたけどそれ以来ハンドアセンブルしてないな 面白かったけど、ただ音出すだけでずいぶん時間かかったからなー このスレのおかげでまたハンドアセンブルしたくなったよ
340 :
ナイコンさん :2008/11/10(月) 01:08:00
コードを書くのはある意味知的好奇心を満足させるが(デバッグも含めて) ハンドアセンブル作業は単なる肉体労働だからなあ
341 :
ナイコンさん :2008/11/10(月) 18:21:47
>>340 「肉体労働」って表現ピッタシだな
高校生のとき友達がハンドアセンブル専門のパシリほしいとか言ってたしな
そういいたくなるのも一種の中二病だろうな。
343 :
ナイコンさん :2008/11/13(木) 02:23:40
ハンドアセンブルも最初のころは造ったプログラムを早く動かしたくて ある程度夢中になれるから(その過程で同じ動作をする命令でも生成するバイナリは異なるとか発見もあって) 勉強にもなり無駄な労力を懸けたとは感じなかったけど 慣れるに従い(ほとんどニーモニックとマシン語の対応を覚えてしまった)この単調な作業がイヤになってきた たぶん労力・時間はコーディング+デバッグ1に対して ハンドアセンブルは4ぐらい(やる気が乏しいから能率も低下)
>>40 後半は判りにくい。5バイトならこれで同じことが出来る。
ADD A,L
LD L,A
JR NC,xx
INC H
xx:
>>344 JRの条件を満たす場合のみ24ステートかかる。満たさない場合は19ステートだ。
ゲーム作るにはNGなコードだな。
>>40 は20ステートで安定動作だからこっち使う。
おまえほんとにゲーム作ったことあんのか? 仕事でゲーム作るときに条件ごとのステート数あわせなんてしないよ。 ひととおりの処理が済んだらどのみちV-blankまで待つだけだからな。 ※PC-8001での音楽再生みたいなフルパワー状態の時は別だが。
>>346 負け惜しみカコワルイ
vblankに余裕で間に合うような簡単なゲームしか作ったことないのかな
>>346 負け惜しみカコワルイ
vblankに余裕で間に合うような簡単なゲームしか作ったことないのかな
何をひとりで勝ちとか負けとか言ってるんだ
350 :
ナイコンさん :2009/04/24(金) 18:09:18
Z80のマシン語を勉強しているのですが ソース「LD B,10H」とマシン語「06 10」 ソース「LD C,11H」とマシン語「0E 11」 ソース「LD A,0FFH」とマシン語「3E FF」 などソースとマシン語の対応性が見えてきません。 パッと見10,11,FFが共通してるぐらいで。LDときたら最初の二つの16進数が 一定になるのではなさそうですね。 どう対応するのか教えていただけると大変助かります。 よろしくお願いします。
>>350 Z80のオペコードは、16進数でなく8進数で見ると対応が見えてくる。
「LD B,**H」->「06」->「006」
「LD C,**H」->「0E」->「016」
「LD A,**H」->「3E」->「076」
>>350 ZilogのサイトにZ80のマニュアルが置いてあるから
それを見れ
353 :
ナイコンさん :2009/04/24(金) 19:58:54
>>351 どうもありがとうございます。
まだピンときませんが対応性を考えて見ます。
>>352 英語読めませんけど翻訳するなり翻訳しなくても
出来る範囲でプログラムの対応性を追ってみたいと思います。
当時、ガキだったからBASIC視野しかなく、アセンブラやテキストエディタの存在もしらなかったorz...
355 :
ナイコンさん :2009/05/09(土) 16:50:57
age
356 :
ナイコンさん :2009/05/28(木) 22:51:31
お〜懐かしい! アセンブラか〜 今でも忘れない AD9FFBFA・・・・ おれのCPUは68B09だったからZ80とちがってちーと面倒だったな〜 作画もテープもぜ〜んぶBIOSコールでやるから 何回もAD9FFBFAって 入れたっけな〜。そうそう CPUが2個乗ってたけど RAMに同時にアクセス出来ないからいちいち片方にハルトかけて 共有領域にコマンド送ってたっけな〜。 した〜けど当時のベーシックって偉大だな〜 WINだって何だって当時のROMBASICの上で 起動してんだもな〜 最近の若いやつぁBIOSがベーシックI/Oシステムだって事知らないんだもな〜
日本語でおk
今時の若いもんにしたら暗号だよ
>>356 当時を知ってるからわかるけど、説明できてない感じ。説明する気もないのかもだけど。
「何言ってるかわかりません」って言われないか?
360 :
ナイコンさん :2009/05/30(土) 03:27:34
'YAMAUCHIコマンド' なんて言ったらもっとわからないだろうな
どっちかというとググった知識だけで語ってる厨房に見える。 というか、BIOSが何の略か、どんな使い方をする物か程度の事は、門外漢でなけりゃ 若い奴だって当たり前のように知っているぞ。若者なめんな。
今時BIOSコールしても互換性保てるのなんて、メインフレームくらいじゃないのか
エディタをベーシックで作ったつもりが、ただのテキストでしかなかった中学時代。 動いてるのか確認がとれないまま脳内逆アセンブルしながらマスターしてしまった高校時代。
364 :
ナイコンさん :2009/06/02(火) 02:08:42
>>356 たぶん同年代?、FM7or8か?
>>359 さんの言う通り文意がのたってる
若い人に何かを伝えたいのなら世代間格差を考えないと・・・
若い人はそもそもこんな板には来ません
アセンブラなんかやると日常言語まで低級化してしまうんだね
>>362 今のPC互換機もBIOSコールは最低限の互換があるよ
最近はバグ持ちのBIOSも多くなってきてて困るけど
>アセンブラなんかやると日常言語まで低級化してしまうんだね マイクロ命令のレベルにまで行ったら、 一日の大半を会話に使わないかんようになりそうだ 企画書にいたっては、ページ多すぎで、もう読みきれねえよ
369 :
ナイコンさん :2009/06/02(火) 22:16:11
.
低級の意味がわかってないゆとりw
371 :
ナイコンさん :2009/06/15(月) 00:36:32
59のおっさんが敢えて書く 俺の時代でもハンドアセンブルは必要無かった 知的興味でやった事は有るが(Z80ニーモニック)
男は黙って2パスアセンブラ
>>371 バグ取りするのにマシン語そのまんまで直接書き換えとかやりませんでしたか、父上?
>>371 日高徹氏も59歳だな
35歳で初めてコンピュータに触れて・・・
自分でアセンブラ作ったというからハンドアセンブルはしてなかったようだ
アセンブラを作る時に、ハンドアセンブルしなかったのか
MF-ASMを使ってて使いにくいから改造してMF-ASM2を作ったようだし、 アセンブラを使ってオリジナルアセンブラを作ったんだろ
377 :
ナイコンさん :2009/06/21(日) 00:26:56
MF-ASMて懐かしいな 確かアスキーからでた書籍に有った
378 :
ナイコンさん :2009/06/30(火) 13:33:06
>>378 つまり、18はZ80のJR命令のコードなので
> △: 18 □
> ○;
は○に飛ぶなら相対アドレス計算をするのに○-△-2を□に
書くよね、って話だと思う。
C3とかC9とかは覚えてたけど、18はすっかり忘れていた。
ハンドアセンブルだとめんどくさくて相対ジャンプはほとんど
使ってなかったからなー
380 :
ナイコンさん :2009/07/05(日) 03:25:04
MF-ASMか・・・ 確か88用だったような・・・ 88はモニタにワンラインアセンブル機能があったんで使ったことは無いが(但しインテルニーモニック) 当時でもアセンブルツール(エディタ、アセンブラ、リンカ、デバッガー等当然フロッピーベース)は有ったが20万ぐらいはしたかな? FDDを持ってても(当時は本体と同じくらいの値段)ツールがない人には有用(ましてテープベースでも使える) テープベースで使うにはベーシックモニタからソースを全部rem文で記述しセーブ・・・ 今はいい時代になったもんだ
381 :
ナイコンさん :2009/07/05(日) 03:59:08
8080系(Z80を含む)のニーモニックは断然ザイログの方が憶えやすい 簡単にいうと理由は 1.インテルの方は使うレジスタによって最初の命令の記述を変えなくてはならない 2.ザイログの方は命令は同一で記述の中でレジスタとかメモリを指定するから楽 まあ結局はなれの問題だが
>>380 モニタアセンブラは98にも付いてたが、まともなソフトを作るのにはかなり使いにくい代物だった
HIT-88が発売されたのは88の時代が終わりかけの時だったなと
98のモニタプログラムは大変出来が良かったと思うがな あれだけでもOSとして十分使えるできばえだったと思う BASICなんか入れないで、モニタが起動するようにしてあれば メモリー管理もイメージの扱いも思いのまま 「ああ俺今コンピューター使ってるよ」って気分がしてよさそうなのに SIMHで遊びすぎかな
384 :
ナイコンさん :2009/07/11(土) 05:11:54
>>383 俺が98を買った時はN88-BASIC86(disk版),MS-DOSが最初から添付(販売店のサービスか?)
DOSでsymbolic debuggerが使えるから必要ないけど
好奇心から何回か試した(結論はまあまあ)
販売店のサービスでコピーしたのを付けてくれるとかよくあったね
386 :
ナイコンさん :2009/07/16(木) 02:21:45
LD A,00H じゃなくて XOR A とかやってたでしょ
387 :
ナイコンさん :2009/07/16(木) 07:58:01
懐かしいな
ASCIIのおまけに付いてきたニーモニック表を愛用した。
389 :
ナイコンさん :2009/07/16(木) 16:15:29
やめちゃおっかな・・・
391 :
ナイコンさん :2009/07/17(金) 17:51:12
オレのマイコン人生は MONリターンから始まったんだな。
390 名前:ナイコンさん :2009/07/17(金) 01:13:12
>>389 人生?
393 :
ナイコンさん :2009/07/19(日) 14:19:22
なんで上位と下位が逆になるの?
その方がなにかと都合がいいから
68系なら、そんな不便などない。
通信系じゃ都合わるいから68系の方が重宝されてる。
そいいえばx68kってレジスタ長は32ビットなのに16ビットって聞いた気がするけど実はどうなの?
32bit環境を視野に入れつつもデータバス幅が16bitである68000を、モトローラは謙虚にも 16bit MPUであると言っているから。8bitからの拡張でしかない16bitとはかなり違う。 プログラマから見た時には問題無く32bit幅のデータを扱える。 MPU側で勝手に上位下位の2回に分けてデータバスを通してくれるから。 2回に分けるという時点でわかると思うけど、速度的にちょっとだけペナルティがつく。 が、2倍以下に収まるので概ね問題無く使える。 16bitなんだと思い知らされるのは、乗算と除算、メモリに対するローテートやシフトが 16bit幅でしかできないくらいかな?(32bit化された68020以降ならできる)
中央演算装置としては、68系はいいものだったのに。
401 :
ナイコンさん :2009/07/26(日) 08:51:06
>>395 逆というのは16bitのデータがメモリに下位上位の順で格納される事か?
メモリのダンプリストなんかを見るとそんな印象を受けるが
ひと纏まりのデータを下位から順番にメモリに格納するには理にかなったやり方
コンピュータアーキテクチャ上ではちっとも逆でない
>>397 68系はよく知らないがほんとかよ(配列データや文字表示などが面倒になると思うが)
あと通信うんうんも教えてくれ
403 :
ナイコンさん :2009/07/26(日) 20:39:49
>>402 レスdなるほど
エンディアンという術語は不勉強で初めて知った(最近はアセンブラどころかプログラムもしていない、せいぜいhtmlスクリプト書くぐらい)
通信の話はよく解った
ビットの番号はLSBを0にするのと、MSBを0にするの、どっちが正統なの
エイドリアーン!
>>404 ビットオーダーもバイトオーダーもビッグエンディアンが正統。当然MSBを0とするべき。
大きいって事は良い事だ!ってメリケンさんも言ってるしね。
何よりネットワークバイトオーダはビッグエンディアンだし。
>>406 サンキュウ
思いっきりスッキリしたよ
ビッグエンディアンでバイトを並べて、左から順番にビットに番号を振ればいいんだね
ごく自然な振り方だね
それに対してリトルエンディアンでLSBを0にすると・・・
バラバラやないかー、まとまりねーな
リトルエンディアンだと、データ幅が変わってもアドレスが常に同じになるから そういう意味では便利
うそつかない
人間の見た目、ネットワーク上の互換性に合わせるならビッグエンディアン
拡張続きのアーキテクチャの都合、現在普及しているアーキテクチャ(主にIA)と互換性をとるならリトルエンディアン
ということになるんでしょ。
>>407 もはや人間の見た目で自然・不自然とか言ってられる時代じゃないね。
歴史的事情における正統なんてこういう分野じゃ意味無くしてる。
もし、今流通しているアプリケーションのようなものが、「ダンプリスト」で発売されたら、どんなことになるだろう。 カセットサービスくらいはしないと無理か。
BD-ROMにダンプリストがテキストファイルで保存されていて、 インストーラが実行ファイルに変換して配置する。
OCR
ブラウン管式モニター画面に表示したものを写真に撮って印刷してあるので、 歪みが多くてOCRに掛けられない。 放電プリンターで印字したものを印刷しているので、時が途切れ途切れで、 これまたOCRに掛けても読み取りが上手くいかない。 さらに、発売から数ヶ月後に「De bug別冊」として、誤りのあった部分のダンプリス トが掲載された本が出る。
Bugの報告はよくあったよな 一度掲載プログラムを入力すると、Bugの報告が出るかも知れないから次号も買う 次号のプログラムも入力するので、Bugの報告が出るかも知れないから次次号も買う 結局何年も続けて購読する羽目になるんだよ あれは出版社の陰謀だったのでは、なんてことないわな
あの頃って、バグがあって動きがおかしいので翌月と言うより、リストそのものに誤りが あって動かないからDe bugに掲載という場合がほとんどだった。 「どうして、記事にする時は動いているのに、リストで出すと動かない間違いがあるんだ?」と 不思議だった。
def seg の値を変えてくれというのは、機種によってBASICの嵩が変わった事への対応だと思うが ダンプの修正は def seg のずれからくるジャンプ先の変更とかになるのか?
419 :
ナイコンさん :2009/08/07(金) 23:15:00
そうなんだ!BUG報告は陰謀だったんだ、へー、納得。。。
ダンプリスト見ながら活字拾ってたんだよ多分
リロケータブルにしないから〜
422 :
ナイコンさん :2009/08/08(土) 04:32:09
80年ころか 雑誌のダンプリストで 写植じゃなく直接プリンタの印字が印刷されてた(I/Oとか) Bと8が判別し難かった
見づらい I l 1 (大文字アイ、小文字エル、数字の1)とか , . (カンマとピリオド) ; : (セミコロン、コロン) Q O 0 (キュー、オー、ゼロ)
424 :
ナイコンさん :2009/08/09(日) 08:57:04
おれは「4」と「A」を良く間違えた
>>410 文章と数字で書く方向が違うと言うのがそもそもの混乱の元なんだよな
そう考えるとビッグエンディアンが自然とは言い難い
>>425 お前は数値を書く時、下桁から書くのか?
たしかに、ビッグエンディアンは人間の感覚にマッチしている。 MC680x0なんかは非常に、アセンブリ言語で組むのに混乱しなくてすむ。 しかし、MC68000のアドレスバスが23本しかないために、 奇数あどれすへのアクセスが直感的にできないのにはがっかり。
はて?確かにアドレスバスは23本だが、アドレスレジスタは24ビット幅が有効であり、 最下位ビットはワードの上位下位を区別するために使われていて、奇数アドレスの バイトデータを普通に読み出せるから、極めて直感的にアクセスできるが? MOVE.B $010203,D0 LEA $C00000,A0 MOVE.W #24-1,D1 LP: MOVE.B (A0)+,D2 DBRA D1,LP また、命令長が全て2の倍数に揃えられ、ワード単位アクセスが基本になるのだから、 積極的にワード境界をまたいでワードやロングワード単位でメモリへアクセスすべき 理由はどこにもなく、全ての命令とデータを2バイト境界にアラインメントすれば 良いだけの話。むしろ命令長が可変でデコボコしたメモリアクセスをするような設計 スッキリしていると思うが?
429 :
427 :2009/08/10(月) 23:49:40
>>428 ご指摘の通り、デコボコしたメモリアクセスを防ぐ方がスッキリしている。
ただ、データが綺麗に2バイト単位でない場合って結構あるけど、どう?
データ構造を自分で設計できるのならば、データ長が奇数であれ偶数であれ、先頭は 必ず偶数アドレスへ配置するようにすれば済む。奇数だった場合は1バイト余る。 ただそれだけの事。 バイトとワードが混在して詰め込まれてるような酷い設計のものを扱うときは、 仕方ないからバイト単位で扱えばいい。
>>431 言っていることは正当であるけど、
8ビット野郎としてはバイトとワードの混在は少ないメモリの習慣で……。
仕方なくバイト単位で扱うと、せっかくの16ビットバスがもったいないような……。
かといって、x86系は使いたくないし。
8ビット野郎は8ビットの頭しかないよ
ビットフィールドならまかせてくれ
>>432 おまいはデータ構造が複雑になるとプログラムができないことを自白しているんですねわかります
俺がリアルにハンドアセンブルしたのは8ビットの頃だけだな16ビット以上はアセンブラ使ってた
普通にMASMがどこにでも転がってたからなw 1つの機種、1つのOSでまとまるのも悪くないと思ったよ
MASMが転がってたところなんて見た事ねえ。
当時のMS-DOSのシステムディスクにMASMがついていた(別売りの機種もある)
3.0を最後に付いてない。
HASとDISならフリーでダウソした
フォースフィールドならまかせてくれ
話はもどるが、
>>436 にあるように、奇数アドレスでも.evenつけとけば偶数アドレスに
直してくれるから
>>429 の発想じたいが68でプログラム組んだこと無いってことがよくわかる
445 :
ナイコンさん :2009/08/21(金) 22:12:27
>>441 ホント?
それで添付エディタはEDLIN?
えらいアンバランスだな
普通にmifesががどこにでも転がってたからなw 1つのアセンブラ、1つのエディタでまとまるのも悪くないと思ったよ
雑誌の付録かなんかでredがついてたし、それまでCでエディター自作してた
448 :
ナイコンさん :2009/08/23(日) 14:43:03
>>447 ソース書くのに使用したエディタは?
それともクロスコンパイル?
450 :
ナイコンさん :2009/08/24(月) 04:01:04
>>449 ほんとにEDLINを使ったことある?
デバッグはDOSに付随してるdebug.exeで出来るが
ソースの修正は一行づつしか出来ないし
その都度セーブしないと結果が反映されないしろものだぞ
なにか問題でも?
真のハッカーは道具を選ばない。自分の環境でできる事をやる。 市販エディタの違法コピーをもらってきて使いやすいだの何だの言うような雑魚とは 違うって事さ。
なら一生江戸燐使ってれば 道具を選ばないんだろ?
>>450 その苦痛から開放されるためのエディターをEDLIN使って作ったと
なんかおかしいこと言ってるか?
ちなみにRS-232Cで88から転送ってのもやったし、一太郎3.1でテキスト保存とか
QBの編集環境も使ってた
EDLINが使いにくかったからエディター自作したんじゃねーかよ
>>450 はアホか?
高度な技術を持つ諸君が、低度な罵倒のしあいとは、見苦しいですぞ。
PCなんか無くてもハンドアセンブルできる俺最強
458 :
ナイコンさん :2009/08/24(月) 23:33:09
459 :
ナイコンさん :2009/08/24(月) 23:57:32
自分用のニーモニックで書いてた人! はーい!
専用の原稿用紙みたいなものがあったなー。
道具を選べるほど選択肢が少なかった昔と今は環境も違うし すぐ道具がないからできないと言って力の無さを道具のせいにするなってことだろ
普通は道具がある機種を初めから選ぶ 道具のない機種を選んで四苦八苦するのは自業自得
道具を使うための道具が無いと何もできない低脳がいるようだ
ならOSからツールから全部自分で作れば? 目の前に窓機があっても絶対使うなよ
>>462 おっさん・おばちゃんだらけのこの板で何を語ってんだか。
ニワカ乙。
466 :
ナイコンさん :2009/08/25(火) 18:40:52
HAL9000って、 次期自分の改善された分身を考えて作れないのかな? 自動的に回路を工夫して適切に改善して、 動作も妥当性を考えられるようなロジックを 自動で生成する、前機能の改善機能が自分で 組める自己のロジックを自動で改善する 自己改善生成器
はじめからワープロとか表計算とかゲームとかいっぱい入ってる機種とは どのメーカーのなんて機種でしょうか?
469 :
ナイコンさん :2009/08/27(木) 00:11:59
FとN
昔はこっそりソフト満載インストールして売っていた所もあったみたいだしな
Windows 95 or MS-DOS Windows 95 or Windows 3.1 or MS-DOS ( Lotus 1-2-3 and 一太郎 ) or ( EXCEL and WORD ) なんて時代もあったな。
FとNがふっとんだ
473 :
ナイコンさん :2009/08/27(木) 23:17:23
当時の主流 F、N、C、D、I、S、S その他 P、H、G、S、・・・
474 :
468 :2009/08/28(金) 03:37:44
機種名がわかりませんが?
475 :
ナイコンさん :2009/08/29(土) 17:17:43
マイフェースが買えなくて needといフリーのエディタ使ってた 結構便利だった
476 :
ナイコンさん :2009/08/29(土) 20:17:49
マイフェス 懐かしすぎだって!(笑)
今でも使ってるよ
478 :
ナイコンさん :2009/08/29(土) 21:45:08
先生の目をうかがいながら オーガスタしてマイフェス
レッドじゃあないのか?
SHIFT+HELPで、一瞬にしてマイフェスでソース編集してるっぽい画面。
ボスがきた?
482 :
ナイコンさん :2009/09/13(日) 23:11:48
CALL : CD
483 :
ナイコンさん :2009/09/16(水) 21:20:24
20MBのHDDが20万円の時代
SASI接続
SXSIってSCSIとSASIの両方使えたよな
486 :
注目 :2009/10/28(水) 11:58:25
5インチ2Dを10枚セット\5000で買ってたのは思い出したくない
488 :
ナイコンさん :2009/12/08(火) 04:22:35
DOS時代だが 添付されてるエディタがEDLINなので config.sys,autoexsec.batを書くにもめんどくさかった 友人からmifesを入手し(違法コピー、本体のみ)目から鱗 masm,ms-c(これも違法コピー)で本格的にプログラミングが出来るようになった WINに移行するまで愛用、現在でも有るようだが・・・ ちなみに今常用にエディタはEmEditor(フリー版)w
489 :
ナイコンさん :2009/12/08(火) 04:25:40
488訂正 DOS時代だが 添付されてるエディタがEDLINなので config.sys,autoexec.batを書くにもめんどくさかった 友人からmifesを入手し(違法コピー、本体のみ)目から鱗 masm,ms-c(これも違法コピー)で本格的にプログラミングが出来るようになった WINに移行するまで愛用、現在でも有るようだが・・・ ちなみに今常用のエディタはEmEditor(フリー版)w
×本格的にプログラミングが出来るようになった ○本格的に犯罪が出来るようになった
DOS時代のフリーウェアなんて、 違法コピーのエディタやコンパイラで作られたものも多いんだろうね。
コンパイラはLSI-Cの試食版で十分。 バイナリエディタでマシン語をガーッと入力していってもいいし。 エディタだってフリーのがそれなりにあったし。 わざわざ違法コピーする理由がどこにもない。
493 :
ナイコンさん :2009/12/10(木) 00:50:10
PC-9801F2時代に、FFTをハンドアセンブルで作った。原本はFORTRANソースから。 モニタプログラムから逆アセンブルでき、一応ステップ実行やレジスタダンプなど最低限のことできた。
494 :
ナイコンさん :2009/12/10(木) 01:01:27
PC-9801F2時代に、FFTをハンドアセンブルで作った。原本はFORTRANソースから。 モニタプログラムから逆アセンブルでき、一応ステップ実行やレジスタダンプなど最低限のことできた。
最低っていうな F2のモニターはOSだろが
Z-80ならOh!誌のおかげでほぼフリーに近い価格(雑誌代だけ)のアセンブラがあったけど、 PC-98は無かったのか?
98はモニターにアセンブラ、ディスアセンブラ機能があったからな 64KByte またがる命令はサポートされていなかったけど まあどうしてもって言うなら DOS 買って debug 使えば十分だったし
PC88のモニタにもアセンブル/逆アセンブルの機能があった。 けど8080ニモニックだったので、Z80から覚えた俺は使う気になれなかった。
ああそうだ、88はひどかったね Z80コンパチならザイログ表記が当然だと思うんだが NECは何を考えてあんなのにしてしまったんだろう
>>499 Z80が標準になってからも、CP/Mは8080のアセンブラしかついてなかったからね。
MACRO80とか別売りだったし、そんなもんでしょ。
そのくせ相対ジャンプだけはサポートされてたけどね。 JRNC xxxxとか、勝手に付け足したニーモニック。
502 :
ナイコンさん :2009/12/25(金) 17:29:19
3.3cの拡張キットにMASMはいってなかったな なのでTASMかってきた
MASMは3.1の途中までではなかったか? 3.1は複数あったはず。 今日Windows32アセンブリの古本買ってきた。 まだ見てないがMASM32てあるんだね。
125〜129の頃かな。 少なくとも011には付いてなかった。 仕方なくLSI-CのR86使ってたよ。
505 :
ナイコンさん :2009/12/27(日) 12:59:20
3.1まであったのか〜 付属のソフトはTASMセット買ったので使わなかったけど 付属の本がよかった
システムコール解説は充実してたね。 特にEMSの解説は気合が入ってた。というかLIMの資料丸写しだけど。
507 :
ナイコンさん :2009/12/29(火) 16:21:51
オレはナショナルセミコンダクタのSCANFとかいうCPU とTTLと256バイトのスタティックメモリーで自分の計算機 を作って、アキュムレータをインクリメントして出力ポートに 出力し、LEDをピカピカさせるプログラムを機械語でつくった。
SC/MPでなくて? 見たことも無いですが、 安田寿明先生三部作の記憶です。
509 :
ナイコンさん :2010/06/03(木) 01:12:33
さすがに現在ではプログラム全体をアセンブラで書く事はないだろうが 個々のモジュールに関しては手動でアセンブラチューンを施す事もあるのかな?
今ではコンパイラが吐き出したコードを見て、 こんな命令もあるのかと思うことばかりになった
windowsの時代に入ってからもフルアセンブラでやってる人達はいるよね 自分も細々とはやってたし 昔は自分でヘッダコンバートとかしたり試行錯誤もたまにしたけど 最近なら環境も資料も豊富だしやろうと思えばできるね まあとは言ったものの自分も趣味ではたまにやって楽しむことはあるけど 最近はSSE関連で使うくらいだ
ワシはBASICしかしらないけどマシン語を扱えるツレを見て覚えてる事は 「8ビット時代のハードは、メモリが少なくて単機での開発環境構築が辛そう」 かな、 PC88で大きめのプログラムを作ってるときだったかな・・・・・ なんか PC98でC言語でまずソース書いて、コンパイルテスト後、 PC88に直接マシン語を書いてたり、PC88とPC98とで、RS232Cで繋いで PC98でアセンブル(機械語化?)して88に転送してました。
書込みで転送してしまった・・・・ 謎なのは ツレは98と88で転送が出来るのに、わざわざ98でCを書き、88でハンドアセンブルしてる意味が 未だにわかりません。
とうりかかったので。1res増やしとく
なんでやねん
素人なのでVC++とか勉強したあとで、某サイトでmasm32をDLして 試したときは目からウロコでした。Win用exeがこんなに小さく作れるのかって驚き でもmasmの違法配布とかでその後もめたらしいけど 自宅でTK-80とかFM-8とかいじってた頃は、アセンブラのことなんてサパーリ× PC-9801に移ってからも assumeの意味が理解できずw いつもdebugで手で打ち込む始末 orz まぁそれでも、機械語の表を目で追ってhexに脳内変換するよりは楽だけど 忍者テスト&保守兼用の駄文ゴメン
保守
assume 入門書だと「おまじない」って言葉でごまかしているからね
アッザムの事だと思ってたよな
∧_∧
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/ ←
>>235 (_フ彡 /
521 :
島本町で凄惨なイジメを受けて廃人にされた方へ :2014/08/08(金) 05:02:36.89
>大阪府三島郡島本町の小学校や中学校は、暴力イジメ学校や。 島本町の学校でいじめ・暴力・脅迫・恐喝などを受け続けて廃人になってしもうた僕が言うんやから、 まちがいないで。僕のほかにも、イジメが原因で精神病になったりひきこもりになったりした子が何人もおる。 教師も校長も、暴力やいじめがあっても見て見ぬフリ。イジメに加担する教師すらおった。 誰かがイジメを苦にして自殺しても、「本校にイジメはなかった」と言うて逃げるんやろうなあ。 島本町の学校の関係者は、僕を捜し出して口封じをするな 子供の時に受けた酷いイジメの体験は、一生癒えない深い傷になる 「暴力とイジメと口裏合わせと口封じ」の町やそういう町に巣食うヤクザ・チンピラ・ゴロツキ・不良・ いじめっ子・殺人鬼・ダニ・ノミ・シラミなどを監視して非難するのは暮らしやすい町を作るのに必要だ
WindowsだけがOSではありませんよ、最新64bit OSに触れるチャンス!
・ Menuet OS [
http://www.menuetos.net/ ]
WindowsにもLinuxにも依存しない独立型最新64bitOS。
Flat Assembler標準搭載、アセンブラでプログラミングをするコトが前提の、異彩を放つ開発環境。
システムコールが公開されていて、アセンブラから自由に呼び出せる。
フロッピー1枚で起動でき、HDDを必要としないコンパクトサイズ。
・ Flat Assembler [ FASM:
http://flatassembler.net/ ]
Menuet OS標準搭載のコンパクトサイズのインテルニーモニック64bitアセンブラ。
Windows版も用意されている。
アセンブラが買えないのでノーブラです
毎回ハンドアセンブルは面倒なので、ソースコードBASICなアセンブラを作った記憶はある。
BASICで作ったアセンブラでアセンブラを作った
527 :
ナイコンさん :2014/12/27(土) 07:52:09.84
既成ルーチン呼び出すだけなら紙に書けば充分だよね。 …ところでテクニック集の本が行方不明なんだけど、 どっかネット上で定石を分類しているようなサイトってないんだろうか? 言語比較的な所はよくみかけるんだけども。
アセンブラ? Z80のなら探せば日本語以外で結構あるもんだよ
529 :
平岡一族 ◆lQvwmSuS2w :
2015/01/21(水) 09:32:50.79