X



アセンブラ 13
■ このスレッドは過去ログ倉庫に格納されています
0303デフォルトの名無しさん
垢版 |
2017/08/27(日) 08:53:51.24ID:LSSLdcGe
>>300
機械語に一対一対応のGUI部品作れば良いだけだけど、結局並べるのにハードの知識が要求されるっていう。。。
アセンブラを文字で入力するかマウスで入力するかの違いしかねえ。
入力の速さ考えたら文字のが早いっていうね。
0305デフォルトの名無しさん
垢版 |
2017/08/27(日) 10:11:28.92ID:LSSLdcGe
どっちもただのジャンプ命令だから、GUI部品にした所で分かりやすくなるとは思えないが。。。
ジャンプ先のラベルを分岐かループかで色分けすれば?
0307デフォルトの名無しさん
垢版 |
2017/08/27(日) 13:04:01.25ID:LSSLdcGe
その通りだが、機械語と一対一じゃなくなった時点でアセンブラではなくただの高級言語。
0308デフォルトの名無しさん
垢版 |
2017/08/27(日) 13:14:42.34ID:KKCBM/yI
アセンブラマクロというものがなかったか?

それと、歴史的に機械語→アセンブラ→構造化→高級言語って進んてるんだから
構造化してないようなものは高級言語には入らないだろ

低級とか高級とかはどれだけハードウェアに近いかとか人間に近いかとかだが、
それでもアセンブラマクロがあるからって高級言語にはならんと思うよ
0309デフォルトの名無しさん
垢版 |
2017/08/27(日) 13:36:32.53ID:LSSLdcGe
そりゃそうだ。
命令とマクロは違うし。
それでもマクロ使えるのは高級アセンブラとか言われてたな。
0310デフォルトの名無しさん
垢版 |
2017/08/27(日) 13:42:52.40ID:KKCBM/yI
それは「高級言語のアセンブラ」ではないんだが、
わかってるか?
0311デフォルトの名無しさん
垢版 |
2017/08/27(日) 13:56:13.37ID:LSSLdcGe
両方の意味で使われてた気がするがなぁ。
マクロが豊富で高級言語っぽく使えるって触れ込み。

高機能アセンブラとも、高級言語風アセンブラともとれる。
マクロ使うかどうかはその人次第だろうが。
0312デフォルトの名無しさん
垢版 |
2017/08/27(日) 13:59:32.69ID:KKCBM/yI
マクロや擬似命令がついてるからって、高級言語にはならない

いったいそのトンチンカンな知識はどこで習ったんだ?
0313デフォルトの名無しさん
垢版 |
2017/08/27(日) 14:15:34.89ID:LSSLdcGe
誰が高級言語になると書いたよ。
高級言語「風」だ。
それにアセンブラメーカーの宣伝文句をそのまま書いただけだ。
(リーフアセンブラだったっけ?大分昔買ったやつ)

機械語を吐くって意味じゃアセンブラも高級言語も同じ。
むしろアセンブラのが機械語と一対一だから単純。
ループや分岐みたいなよく使う機械語パターンを文法によって吐くのが高級言語ってだけ。
0314デフォルトの名無しさん
垢版 |
2017/08/27(日) 14:23:55.78ID:KKCBM/yI
>その通りだが、機械語と一対一じゃなくなった時点でアセンブラではなくただの高級言語。

>機械語と一対一じゃなくなった時点でアセンブラではなくただの高級言語。

>高級言語。
0316デフォルトの名無しさん
垢版 |
2017/08/27(日) 15:50:51.76ID:3R3KU0xo
構造化を高級言語の条件にしちゃったら BASIC が可哀想だよ。
ラベルを明示的に書かずに分岐やループを書ければいいのなら OPTASM でやったよ。ずいぶん昔だけど。
0317デフォルトの名無しさん
垢版 |
2017/08/27(日) 17:13:47.31ID:KKCBM/yI
ID代えてもバカさを隠せないなんて、
おれ、こんななの初めて見た

構造化を知らないからこそ、BASICがどうたらって話が出てくるんだろうな

そんなに知ったかぶりたいのか?
0318デフォルトの名無しさん
垢版 |
2017/08/27(日) 17:55:08.59ID:3R3KU0xo
何を言いたいのか知らないが、人違いだよ。
0322デフォルトの名無しさん
垢版 |
2017/08/27(日) 20:09:47.58ID:02V7/aD0
>>314
マクロは文法とは違って単純に命令の塊を置き換えたもの。
ライブラリや文法よりはCのマクロが近い。
高級言語の場合、その言語のライブラリだったりランタイムがある。
だからアセンブラの中でも高級アセンブラって言われたりもするが、高級言語とは違う。
ループや分岐をGUI部品でとなると、それはマクロではなく文法のGUI化で、それはもう高級言語。
0323デフォルトの名無しさん
垢版 |
2017/08/27(日) 20:27:15.96ID:02V7/aD0
自分で言ってて分かりにくいな。
アセンブラのマクロは機械語と一対一命令に変換出来るのはアセンブラが機械語と一対一だから当然として、高級言語は高級言語の文法が機械語に一対一対応では無いので変換出来ない。
この機械語と一対一に変換可能かどうかが低級か高級の分かれ目じゃ無いかと思う。

なのでマクロをGUI部品にするならループとかの文法的なのじゃなくて、命令の塊を入れるフォルダー的な物になるんじゃ無いかな。
引数付きフォルダー?
0324デフォルトの名無しさん
垢版 |
2017/08/27(日) 20:41:51.40ID:02V7/aD0
x低級か高級の分かれ目
o高級アセンブラか高級言語の分かれ目

ああ、でもCも高級アセンブラって言われることあるから、上げ足取りされそう。
0326316
垢版 |
2017/08/28(月) 06:09:23.24ID:DdfTeNHz
KKCBM/yI の言う「構造化」って何のことだったのかな。
何が気に障ったのか本当に解らないよ。
0329デフォルトの名無しさん
垢版 |
2017/08/28(月) 22:04:27.60ID:RdiCBSRu
μOpとか言ったら笑ってあげる。
0330デフォルトの名無しさん
垢版 |
2017/08/28(月) 22:30:39.97ID:Wq6HqE7w
同一命令に対して複数の表記があるのは普通だし、
逆にアセンブラでは(命令の形では)記述できないようなのもあったりもする
即値によって命令を自動で変えてしまうとか
特定のプレフィックスを指定できなかったり

アセンブラは決して一対一を目指してるわけではない
0332デフォルトの名無しさん
垢版 |
2017/08/29(火) 00:03:33.22ID:f2JWn62j
やっぱり、「。」つけてる例のバカはバカだったな
0333デフォルトの名無しさん
垢版 |
2017/08/29(火) 06:25:34.28ID:gQsqxoLN
最近のCPUって中はμOpなんだし
外にも公開してでプログラミング可能にすれば効率よくね?
0335デフォルトの名無しさん
垢版 |
2017/08/29(火) 06:55:33.84ID:H/OLcuRc
それがIA64(Itanium)だったけど、互換性の壁に敗れた。
それに現行だと変換後、直接実行か0次キャッシュからしか参照しないから将来どっちもメモリから受け付けるアーキテクチャ出すとかしないと意味はない。
あとμOpはAMD CPUと互換性ない。
0343デフォルトの名無しさん
垢版 |
2017/08/30(水) 22:05:42.68ID:LHMhk1GJ
>>341
知ってますよ〜。
高速化の過程でRISC風命令に変換するようになったんですよね?
だから、最初からRISC命令なIA64はμOpに対する最適化の集大成+α。
Intelが思ってたほどコンパイラの最適化が出来なくてVLIW(だったっけ?)が上手くいかなかったらしいけど。
(上手く出来るコンパイラ作るのが難し過ぎたらしい)

もっと安くしてモバイルや組み込みから攻めてたら、もう少しいけてたかもなと考えると勿体無かった。
0344デフォルトの名無しさん
垢版 |
2017/08/31(木) 02:00:28.55ID:Ce9FMcgb
コンパイラに頼ってたら長続きしないよ
命令互換でもCPUによって命令のスループットもレイテンシもuOPも違うんだから
0345デフォルトの名無しさん
垢版 |
2017/08/31(木) 02:02:30.36ID:Ce9FMcgb
x64はuOP変換前提だとそんなに悪くない
苦手な処理は新命令で補ったし
レジスタも増えたし
0349デフォルトの名無しさん
垢版 |
2017/09/01(金) 11:34:57.90ID:siO2MJpg
口だけじゃなくて、やねうらおみたいに実績で示して
あの人は自分で自分を天才って言ってるけどそれだけのことはしているからね
0354デフォルトの名無しさん
垢版 |
2017/10/15(日) 13:58:03.79ID:DMOHal5+
ちょっとお尋ねします
手続きカウンタの値により手続き順に処理を飛ばすプログラムを考えています
この時手続きカウンタの評価が先頭につきますが
このオーバーヘッドがいやなのでProgramCounterに次の処理の飛び先をロードしてjumpさせたいのですが

if 手続きカウンタ==1 jump 処理1:  
if 手続きカウンタ==2 jump 処理2:
      :
if 手続きカウンタ==n jump 処理n:  手続きnが多いとオーバーヘッドが無視できなくなる
  else 出口:

処理1: {  
   :
  jump_出口:
手続きカウンタ +=1 }             // ここをPCに代入するための飛び先番地に変更


処理n: { 
   :
手続きカウンタ=1(手続きカウンタ初期化) // ここをPCに代入するための処理1の飛び先番地に変更
jump_出口: }

出口:

通常のCPUのJUMP命令は直値のみでレジスタ間接は無いので変化球技で実現する必要があります
こんな変なことをやって居る方はおられますか? 又、どのように実現したのでしょうか? 
0355デフォルトの名無しさん
垢版 |
2017/10/15(日) 14:23:06.17ID:UA81qQu7
x86とかならjump [mem] やjump reg があるよ
場合によっては、スタックに戻り先とジャンプ先を積んでretしてもいい
0356デフォルトの名無しさん
垢版 |
2017/10/15(日) 14:58:16.97ID:DMOHal5+
pushしてretで問題なさそうなのかな?
0359デフォルトの名無しさん
垢版 |
2017/10/15(日) 16:10:57.55ID:DMOHal5+
わいの今使ってるCPUのニーモニックを目を皿のようにして探しているんだが
レジスタ間接ジャンプがないんやでえええ
見方が悪いのかもな 普通そんなことありえないか・・・そうだよな?
テーブルジャンプなんて普通に使うもんな
0361デフォルトの名無しさん
垢版 |
2017/10/16(月) 00:11:29.28ID:7Byc8Q4r
Cコンパイラがあるならswitchでコード書いてアセンブラソース吐かせろ
多分テーブルジャンプになるんじゃないかな
0363デフォルトの名無しさん
垢版 |
2017/10/16(月) 00:53:45.76ID:+2vhlmuF
本当にジャンプ位置をダイナミックに決められないのなら、
2分検索とかでいいし、率がわかっているならもうちょっと頭の良い方法でも良い
1個ずつ分岐するのは大抵の場合効率が悪い
0368デフォルトの名無しさん
垢版 |
2017/10/21(土) 12:37:28.95ID:Hb3Ud/Wn
avrってメモリ保護とかあるの?
なければ
・jmp命令とオペランド(飛び先)をテーブルにする
・機能番号でテーブルからjmp命令を拾ってくる
・次のjmp命令を書き換える
だけじゃねぇか
そこだけram上でやればいい
0375デフォルトの名無しさん
垢版 |
2017/10/23(月) 17:31:11.48ID:lCIoxZis
罪linkx
0376355
垢版 |
2017/10/23(月) 17:36:41.36ID:zdzyG1CL
なんで俺が死刑なんだよ
変なことは書いてないだろ
0380デフォルトの名無しさん
垢版 |
2017/10/29(日) 16:53:13.43ID:crR+gSB3
 ┌○┐
 │死|ハ,,ハ
 │  |゚ω゚ )  
 │刑| //
 └○┘ (⌒)
    し⌒
0381デフォルトの名無しさん
垢版 |
2017/11/07(火) 14:26:10.97ID:r6tXNL/D
 ┌○┐
 │ハ|ハ,,ハ
 │  |゚ω゚ )  
 │ゲ| //
 └○┘ (⌒)
    し⌒
0387デフォルトの名無しさん
垢版 |
2018/02/28(水) 17:54:56.02ID:F8/eMdWm
6800の本買ってしまった
0389デフォルトの名無しさん
垢版 |
2018/04/11(水) 12:27:17.38ID:bG1z7LTF
Z80の本が出たときは我慢出来たけど
6800の本が出たときは逝ってしまった
0390デフォルトの名無しさん
垢版 |
2018/04/14(土) 19:53:08.11ID:xcHHAJfd
zeas88
一月かけて入力して動かなかった
三月かけてダンプをチェックしても動かなかった

思い出した
0392デフォルトの名無しさん
垢版 |
2018/05/23(水) 19:48:01.34ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

VM3VN
0394デフォルトの名無しさん
垢版 |
2018/07/05(木) 01:47:01.59ID:RfoszcD2
RS0
0396デフォルトの名無しさん
垢版 |
2018/09/05(水) 04:25:32.38ID:qK+vip/P
Intel記法とAT&T記法ってどっちがいいと思う?
思う? とか訊いておいて 実は俺のなかではAT&T記法のほうがいいと思ってるw
例えば
add eax,4
addl $4,%eax
という命令があってAT&T記法のほうはUnixで用いられているコマンド
(というかOS/2系列でも同じようなコマンドがあるが)
$ copy aaa.txt bbb.txt
の文法に並びがそっくりだし,変数に$を前置するというのもUnixで最もよく用いられているB系シェルの
変数を表わす規則と同じ。レジスタに%が付いてるのも分かりやすいと思う。

今主流なのはIntel記法なので 残念ながら俺は少数派なんだろうがw
0397デフォルトの名無しさん
垢版 |
2018/09/05(水) 11:09:53.34ID:/V9AsOwQ
add eax,4
0399デフォルトの名無しさん
垢版 |
2018/09/05(水) 11:52:27.66ID:vQx16S6k
>>395
チェックサムは、

・・・ A B ・・・SUM1
・・・ B A ・・・SUM2

見たいな間違いがあると、縦横チェックサムであっても、
間違いに気づく事が出来なかったなぁぁ・・・。
0400デフォルトの名無しさん
垢版 |
2018/09/05(水) 17:15:48.86ID:vQx16S6k
雑誌に書いてあったバイナリコード :
・・・ A B ・・・SUM1
・・・ B A ・・・SUM2

間違って入力したコード
・・・ B A ・・・SUM1
・・・ A B ・・・SUM2

これだと、横・縦の両方のチェックサムが雑誌と同じになってしまう。
0401デフォルトの名無しさん
垢版 |
2018/09/24(月) 17:55:23.64ID:7SQMHJ5j
>>396
gccでIntel記法でアセンブラ出力できるよ
gcc -S -masm=intel hogehoge.c
インラインアセンブラでIntel記法使う場合も
gcc -masm=intel hogehoge.c

objdumpでIntel記法で逆アセンブルする場合は
objdump -M intel -d hogehoge.obj
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況