アセンブラおせーて!!!!!!!
■ このスレッドは過去ログ倉庫に格納されています
0001春夏秋冬
NGNG教えて
0012デフォルトの名無しさん
NGNG00139
NGNGてゆーか、それ1命令で書けるね。
PUSH A,B
とか
PUSH D
でもいいけど。
宿題には見えないな。ネタスレ?
0014春夏秋冬
NGNG0015デフォルトの名無しさん
NGNGADD AX,5
MOV DATA2,AX
0016デフォルトの名無しさん
NGNGこの便利さを知ってしまったら、もう機械語にはもどれないよ。
0017春夏秋冬
NGNG例えば4+7を計算し0140番地へ格納するのをつくれだったら
10 LD A、04H
20 LD B、07H
30 ADD A,B
40 LD (0140H)、A
50 RET
みたいなお願いーー♪
0018デフォルトの名無しさん
NGNG学校の課題なんだろ。
しかも、おまえ、ぜんぜんわかってねーだろ。
0020デフォルトの名無しさん
NGNGだったら>7参照かな。
汎用性はないけど「理屈を知れ」ってことだけならあれでいいのかも。
「5を10回足す」なんて書いたら板の住人に笑われるかな?
0022デフォルトの名無しさん
NGNG0101 (=5)
×) 1010 (=10)
−−−−−−−
0000
0101 (*A
0000
0101 (*B
−−−−−−−−−
110010
2進数の乗算は上のようになります。
たいしたもんじゃないですが。
で、注目して欲しいのは*Aと*Bのところ。
もとの「5」のビットパターンが(左にシフトして)そのまま出てます。
“元のパターンをシフトしたものか0しか出て来ない”ということで
2進の乗算は非常に単純です。
ということで、原理的には
5を左に1回シフトしたものと3回シフトしたものを
足しあわせればよいという事になります。
0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNGすごいわかりやすい。
0025デフォルトの名無しさん
NGNG0026デフォルトの名無しさん
NGNGおお。あんた賢いな。勉強になたよ。
0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNGLSL R16
MOV R17,R16
LSL R16
LSL R16
ADD R16,R17
0029デフォルトの名無しさん
NGNGアセンブラ… (・∀・)イイ!
http://pc.2ch.net/test/read.cgi/tech/1002267809/
アセンブラを知らない名無しさん
http://pc.2ch.net/test/read.cgi/tech/987869361/
***すれ立てるまでもない質問はここで 第6刷***
http://pc.2ch.net/test/read.cgi/tech/1004183881/
宿題見てやるよ
http://pc.2ch.net/test/read.cgi/tech/1003838158/
0030デフォルトの名無しさん
NGNG0031デフォルトの名無しさん
NGNG0032別のアセンブラスレが成長して欲しいのでsage
NGNGうちの先生になってくれるか,22さんのアセンブラ本欲しい。
0033デフォルトの名無しさん
NGNGはげどう。でも別スレはむずかしいにゃ。
降臨きぼんぬ。>>22師。
003422 ◆Esv3Kvbs
NGNG0035春夏秋冬
NGNGなぜ32になるんだ。
2進数命令でZ80はうごかないなぁ・・。むずい
0036混じれ酢
NGNG003735
NGNG0038デフォルトの名無しさん
NGNG0039デフォルトの名無しさん
NGNG0040デフォルトの名無しさん
NGNGSLA A //2倍(0AH)
LD B , A
SLA A //4倍(14H)
SLA A //8倍(28H)
ADD A , B //10倍(32H)
LD (0200H) , A
0041デフォルトの名無しさん
NGNG回数を減らせという指示なら
因数分解と2進分解する
10の2進分解は8+2だから3ビットシフトと1ビットシフトしたのを足す
10の因数分解は5*2 だから 5回足するのを2回足す
5も2進分解して 4+1だから2ビットシフトと元の値を足してもいい
他に
10=3*3+1だから3倍するのを繰り返して元を足してもいい
どれが一番速いかはCPUによる
掛算が数サイクルなら直接掛算するし
バレルシフタがあるなら2進分解が高速だし
レジスタの使い勝手によって (1+4)*2 や 3*3+1 が一番高速だったり
0042デフォルトの名無しさん
NGNGって、すっごく単純なCPUの話か?
0043デフォルトの名無しさん
NGNGアセンブラで書く位ならサイクル表とか持ってるだろうし。
0044デフォルトの名無しさん
NGNGORG 0100H
LD A, 5*10
LD (,0200H),A
DI
HALT
JP 0100H
END
0045デフォルトの名無しさん
NGNGそんな解析してたりするのかな。
0046デフォルトの名無しさん
NGNGたとえば、86系は2のベキ乗ならシフトにするけど、それ以外なら掛算にしてしまうね
0047デフォルトの名無しさん
NGNG2のべきプラスマイナス1のときにシフト&足し算or引き算
に変換することもある。
0048デフォルトの名無しさん
NGNGここってどうなんでしょ?
良くまとまってて解かり易いのですが
16bitCPU用なんです。
64bitに移行しようとしている今でも通用しますか?
アセンブリってそういうものですか?
0049デフォルトの名無しさん
NGNGあまり関係無いけど。
そのサイトにあるプログラマーになりたいってページに、
プログラムはパズル的な要素がありますって書いてあるけど、
具体的にどういうパズルの要素?
0050デフォルトの名無しさん
NGNG自分で考えるってところをパズルと喩えたんだろう
つーか>>49頭固すぎ
0051デフォルトの名無しさん
NGNG16bitでも32bitでも同じなのでしょうか?
0052デフォルトの名無しさん
NGNGでも考え方は同じ
0053バカボンのパパ
NGNGmov cx,0ah
mul cx
mov cs:[200],al
; これでいいのだ
0055名無しさん
NGNGクロスワードパズルみたいな要素。
0056名無しさん
NGNGどっちの方がいいですか?
0057デフォルトの名無しさん
NGNG後者
0058デフォルトの名無しさん
NGNG特殊な石だと、人間が命令を配置しなきゃいけないから、どのアドレスに
命令をはめ込むか悩む。
おまけに置くアドレスによって、どういう条件でジャンプできるかまで決まる。
例えば、
0-0-0 A5/1 0-0-5
という感じだったか。もう5,6年前にやったきり。
つーか、知ってる人間じゃないと全然こんな命令は雰囲気すらわからんよな(^^;
0059デフォルトの名無しさん
NGNGINTELのニーモニックも、IA-64で全然変わったからなぁ
0060デフォルトの名無しさん
NGNG0061sage
NGNGld b,10
mulub a,b ;ED C1
ret
0062sage
NGNGld a,5
ld b,10
mulub a,b ;ED C1
ld (0200h),a
ret
■ このスレッドは過去ログ倉庫に格納されています