トップページ⇒tech
62コメント21KB

アセンブラ言語

■ このスレッドは過去ログ倉庫に格納されています
0001かずNGNG
と言うのを習っていますが、はっきり言って全然分かないのですが、
どこか、質問できるHPとか知っていたらば教えて下さい。お願いします。
(CPUはZ-80と言うのを使用しています)
0002デフォルトの名無しさんNGNG
http://www.google.com/intl/ja/
に行って、「Z80 BBS」とか「Z80 伝言板」とか
入力して、[Google検索]を押しましょう。
つーか、そんな質問でスレ立てるなばかやろー
0003デフォルトの名無しさんNGNG
  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  | 1ってうざいよね〜
  \  _______
   V
  ∧_∧∧_∧   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ・∀・)´∀` )< だよね〜、誰か頃してくれないかな?
 (    )    )  \_______________  ∧ ,∧
 | | || | |                           (・д・,,)ペッ!!
 (__)_)__(_)            ∧ ∧?          、'(_@
                     (´⊇`)
                     ( 1 )
                     || |
  ∧ ∧ムカムカ           (((_)_)
  (#゚Д゚) ̄ ̄ `〜                   ∧ ∧
    U U ̄ ̄UU                     (   ) イッテヨシ!!
  へ                            |  ヽ
/    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ったく、サルみてーに糞スレ乱立させてんじゃねーよゴルァ!!
\________________________
0004デフォルトの名無しさんNGNG
「初めて読むマシン後」(村瀬康治著)という本を読むべし。
Z80CPUとコンピュータアーキテクチャについて非常に
分かりやすく説明している。サルでもわかる。
0005デフォルトの名無しさんNGNG
>>4
わ!その本持ってる。
図書缶からパクってきただよ。
00064NGNG
熟読すべし。ありがたい本だ>5=1 ?
0007デフォルトの名無しさんNGNG
>>1
「アセンブラ言語」なんて掻いてる妖邪、道は険しいで性根。
はっきり言って、キミにわ剥いてないと重う。
0008デフォルトの名無しさんNGNG
パクんなよ・・・>5
0009デフォルトの名無しさんNGNG
>>1

technical assembler
http://www.e-net.or.jp/user/missing-link/assembler/
自分もここ↑で、たまに答えてます。
0010かずNGNG
アセンブラ言語は難しいと思います。僕には無理そうです。
ですから、アルゴリズム、コーディングの考え方を学びたいと思います。
何か良い本とかありましたら教えて下さい。
0011デフォルトの名無しさんNGNG
>>10
終了の合図ですか?
0012デフォルトの名無しさんNGNG
>>9
あそこの看板娘絵に萌え。ハァハァ。
0013デフォルトの名無しさんNGNG
>>12
なんか頭に比べてガタイが逞しすぎない?
0014デフォルトの名無しさんNGNG
>> 5
Z80 のアセンブラは他の CPU より超簡単
A レジスタ中心に LD 使いまくれば OK
0015デフォルトの名無しさんNGNG
>>14
> Z80 のアセンブラは他の CPU より超簡単
> A レジスタ中心に LD 使いまくれば OK
命令の数が少なければ少ないほど実際のプログラミングは困難になるぞ。
68000のほうがレジスタがいっぱいある上に
どのレジスタも汎用性が高いからプログラミングは楽
0016かずNGNG
終了というわけではありませんが…。
僕は超々初心者なんで…あまり低レベルな質問では失礼かなと思って?
それでもいいですかね?
0017かずNGNG
レジスタ、メモリ…とかその辺の関係が良くわからないんです。
0018デフォルトの名無しさんNGNG
何度言ったら分かるんだ。
アセンブリ言語を アセンブルするのが、アセンブラだ。
0019奈奈氏NGNG
Z80....って、ああーっと、今年入った会社が制御系で、Z80で何か
組むように言われたのかな?
そのレベルならちゃんと教育しなきゃだめだなあ。
0020デフォルトの名無しさんNGNG
>>18
正しいのにネタっぽく聞こえるのはなぜだろう(w
0021リン・ラッセルNGNG
アセンブラ アセンブリ アセンブル

ケアル ケアルラ ケアルガ
0022デフォルトの名無しさんNGNG
>>17

正直言って壊滅的にセンスねえなぁ。その程度自分で調べてから人に聞けよ。
それが出来なきゃやめちまえ。
一応"トランジスタ技術 Special No6"を読めとだけは言っておく。

>>18
ワロタ
0023デフォルトの名無しさんNGNG
>>17
参考図書スレに挙がってるヘネシー&パターソン本を読みなよ。
0024アセンブラ五段活用NGNG
>アセンブリ言語を アセンブルするのが、アセンブラだ。

単純明快でいいね。俺も誰かに説明するときに使わせてもらおう。
0025デフォルトの名無しさんNGNG
トランスレーターってよく使われるの???
0026>25NGNG
何 が
 や
ね ん
0027っていうかNGNG
1は習ってるんでしょ。
大学だとおもうんだけど、教官に聞けよ。
まあ、よくできる友達でもいいけどさ。
0028デフォルトの名無しさんNGNG
>>18
ぢゃぁ、コンパイラがコンパイルするのはコンパイリ言語?
0029デフォルトの名無しさんNGNG
>>28
ぎゃははははっ。(核爆
そのフレーズ、いろいろと応用できそう。
0030デフォルトの名無しさんNGNG
>>28
インタプリタがインタプリットするのはインタプリティ言語なのか?
0031デフォルトの名無しさんNGNG
英語でAssembly language。だからアセンブリ言語(スペル違うかも)
Compile languageって言葉は、そもそもアチラにはあるのかな?
和製英語かも。コンパイル言語
0032デフォルトの名無しさんNGNG
>>27
友達居ないから2chに書いてんでしょ
0033デフォルトの名無しさんNGNG
ぼくには2ちゃんねるって大きな掲示板に、いっぱい友達がいるんだぞー。
0034厨房NGNG
>>33
突っ込んでほしい?
0035デフォルトの名無しさんNGNG
わーいわーいわーいわーいわーいわーい
0036デフォルトの名無しさんNGNG
いーわ
0037デフォルトの名無しさんNGNG
>>33
ぷ。
0038デフォルトの名無しさんNGNG
Compile languageって言葉はあちらにもコチラにもありません。
0039デフォルトの名無しさんNGNG
アセンブラ五段活用

未然形 アセンブラ・ない
連用形 アセンブリ・ます
終止形 アセンブル
連体形 アセンブル
仮定形 アセンブレ・ば
命令形 アセンブレ
0040デフォルトの名無しさんNGNG
>>39
誰かやると思ってた
0041デフォルトの名無しさんNGNG
斡旋鰤
0042デフォルトの名無しさんNGNG
>>1
実機は何を持っているのかな?
PC−8801でやるんだったらこの辺探してみたら?
ttp://www2s.biglobe.ne.jp/~silkworm/history/book88.htm

お奨めと言う訳じゃないけど、

�@Z80マイコンプログラムテクニック
基本的なZ80命令の解説と、実用サンプル集

�AZ−80 スーパーアセンブラ ZEAS−88
基礎用語の解説から始まる。オマケとしてエディタアセンブラ、
ZEAS−88のダンプリスト付き。
使いやすさ&実用的なアセンブラとして、これはお奨め。
(実は現在も愛用してたりする。)

10年以上前の物だけど、図書館に逝けばあるんじゃない?

ある程度実力が付いて来たら、
ttp://www2s.biglobe.ne.jp/~silkworm/d780c/z80code.htm
この程度の短いプログラムは理解できる様になると思うよ。
0043デフォルトの名無しさんNGNG
今更Z80って、儲かるんですか?
0044デフォルトの名無しさんNGNG
21 00 00 36 49 77 23 36 54 23 36 54 23 36 45 23
36 59 23 36 4F 23 36 53 23 36 48 23 36 49 23 18
E2
0045初心者NGNG
質問よろしいですか?

↑を
VISUALC++とZEAS88で逆汗するのとでは、全くちがうの?
とりあえずやってみろとか言わないでね。
0046初心者NGNG
M88でジコーウしたら暴走した。
0047デフォルトの名無しさんNGNG
中途半端な知識はやめれ。

>未然形 アセンブラ・ない
>連用形 アセンブリ・ます
>終止形 アセンブル
>連体形 アセンブル
>仮定形 アセンブレ・ば
>命令形 アセンブレ
語幹「アセンブ」のあとが ら・り・る・れ の4つしかないのなら
四段活用だろうが。五段活用だというなら

未然形 アセンブラ・ない アセンブロ・う
連用形 アセンブリ・ます アセンブッ・た
終止形 アセンブル
連体形 アセンブル
仮定形 アセンブレ・ば
命令形 アセンブレ
0048デフォルトの名無しさんNGNG
>>44
Z−80のコードだよね。
>>45
全く違う。VCはx86の逆汗専門。
ZEAS−88はエディタアセンブラ。
よってZEASで逆汗はできません。

当時はエディタ、アセンブラ、逆汗&ソースジェネレーター、デバッガ等
は別々に用意しなけりゃならなかった。
0049初心者NGNG
>>48
レスありがとう
ZEAS88(M88で)起動してみた。確かに逆汗できなかった。(^^;
ちなみにI/Oに掲載されてた「超高速グラフィックパッケージFOR元祖88」の
ソースが出てきた。

半端な知識で質問も恥ずかしいんだけど、
8BITの逆汗と16(32)BITの逆汗では、吐き出されるソースが
全くちがうと理解してよろしいのでしょうか
0050デフォルトの名無しさんNGNG
>>49
8bitか16bitっていうよりCPUの違いです。
同じ8bitでもCPU違うと全然違います。
005144NGNG
間違えた。6バイトめの77いらねえな。
つめると最後の相対ジャンプは18 E3だな。
0052デフォルトの名無しさんNGNG
>>44=51
ひょっとしてゼハチのコード表覚えてる?
漏れも昔は暗記していたものだが(トオイメ
0053bugcatNGNG
>>44
これだと
ずーーーっとたって、ぐるぐるまわってるPCが(HL)でかかれた
'E'の45Hのコードにきたときにこの命令でメモリに書きこまれる値が
確定できにゃいのでは
0054bugcatNGNG
53はまちがい

4*の段は(九九かい)

(HL) A B C D E H L
の順じゃなくって
B C D E H L (HL) A
の順だった。

45Hは、LD (HL),EじゃなくってLD B,Lですね
0055かずNGNG
また変な質問かも知れませんが、

僕は現在職業訓練所にいますが、そこでZ-80で簡単な(?)プログラムを作れと
言われているのですが、正直に言ってさっぱり分からないのです。
具体的に言いますと、
画面の上から4行全部を白(スペースで)で塗りつぶし、
真中の一番下の所から白球を発射させて、上の白い所にぶつかると、球が消えると
いう(ブロック崩しの様なもの)ものを作れと言われているのですが、
本当に分からなくて困っています。どなたかプログラムを教えて下さい。
お願いします。(ちょっと露骨かも知れませんが、お許し下さい。)

先生が、最初の所を教えてくれたプログラムを書きます。

10 ORG B404
20 LD HL,$0140
30 LD A,00
40 LOOP:LD (HL),A
50 INC HL
60 DEC BC
70 JP NZ,LOOP

でも、画面全体が、白くなるみたいです。どうしてですか?
(上から4行だけを塗りつぶしたいのですが、)
そこから教えて下さい。お願いします。
005644NGNG
>>53
うむ。まったく仰る通り。
ではPCを得るサブルーチン、例えば
D1 D5 C9
などを使ってその範囲をスキップするというのはどうか。
でも上のもそのコードを書き込む先が自分自身だったらダメか。

>>55
BCの初期値が不定のようだが。
0057bugcatNGNG
>>55
DEC BCって、ゼロフラグ変化したっけ??
0058デフォルトの名無しさんNGNG
>>55
えと、マシンは何なのかな?
0140からがキャラクタメモリかアトリビュートというのは分かるが...
PC8801はF???台とかメモリの最後の方にあったようなきがする

>>57
オレもしないような気がする(自信はまったくなし)
画面全体が白くなるということは怪しいよね、

なんか久しぶりにZ80でプログラム組みたくなってきたYO
昔はコード表だいたい覚えていたのに、今は21とC9しか思い出せない...
005958NGNG
まちがい。
変なプログラムなのでわけわかめになってた。
0140は80*4の意味だよね。
0060かずNGNG
>BCの初期値が不定のようだが。

これってどの様に設定すればいいのですか?
具体的に教えて下さい。お願いします。
0061かずNGNG
マシンは?

なんか古いものみたいで、はだかで組み立ててあるのでよく分かりません。ごめんなさい。
先生がくれたプリントのキャラクターコード表と言うものならば
手元にあるのですが、00が白ブランク、30が数字のゼロ、31が数字の1、
92がスペードのマーク、93がハートのマーク…
とかなっています。これで機種が特定できますか?
お願いします。
0062デフォルトの名無しさんNGNG
>>61
PC−8801の場合、E8H=スペード、E9H=ハートだから違うなあ。
ところでさぁ、>55のプログラムって先生が教えてくれたの?
激しくヤバイょ。お花畑出身の先生じゃないのかぁ?マジで。

まず、コメントが全く無い。マジック・ナンバーを使っている。
10,16進数の表記があいまいでメチャですわ。

では画面右上と1行下の左が、連続しているアドレスである事を想定した。

ORG 0B000H

;============================
;
;コノ ルーチン ハ ガメン ノ ヒダリウエ カラ
;4 ギョウ ブランク ヲ カキコミマス。
;
;SUB ヲ CALL スレバ カキコミ マス。
;
;============================

SENTOU EQU 0B500H ;ガメン ノ ヒダリ ウエ ノ アドレス
YOKO EQU 80 ;1 ギョウ ハ 80 キャラクタ
TATE EQU 4 ;4 ギョウ カキコミマス。
CHR_BRN EQU 00H ;ブランク ノ キャラ コード


SUB: LD HL,SENTOU      ;HL=ガメン ノ セントウ アドレス
LD BC,TATE*YOKO ;BC=キャラクタ ノ ゴウケイ スウ
LD D,CHR_BRN      ;D=キャラクタ コード (ブランク)

LOOP: LD (HL),D ;ガメン ニ 1 キャラクタ カキコム。
INC HL ;ガメン ノ アドレス ヲ 1 ツ ミギ ニ ススメル。

DEC BC ;カキコム キャラクタ ノ ゴウケイ - 1

LD A,B ;BC=0 カ ドウカ ヲ シラベル。
OR C ;(DEC BC デハ フラグ ハ ヘンカ シナイ タメ。)

JR NZ,LOOP ;キャラクタ スベテ ヲ カキコム マデ LOOP ヘ

RET

そうそう、ORGとかEQUの所、自分のマシンに合わせて設定してな。
■ このスレッドは過去ログ倉庫に格納されています