アセンブラ初心者スレッド 2©2ch.net

レス数が1000を超えています。これ以上書き込みはできません。
2017/04/13(木) 17:35:55.70ID:1WMn3pSz
初心者OK!質問大歓迎!のアセンブラのスレッドです。
基本情報の勉強中の人、PICやH8を勉強中の学生などなど…

前スレ
アセンブラ初心者スレッド
http://echo.2ch.net/test/read.cgi/tech/1314502612/

関連スレ
アセンブラ 13
http://echo.2ch.net/test/read.cgi/tech/1314512680/
2020/11/29(日) 13:50:46.99ID:tmDS9Mir
>>937
質問が二つ有る :
1. この言語の名称は何?
2. 手書きしたのか自動生成したのかどちら?
2020/11/29(日) 13:51:20.22ID:tmDS9Mir
AutoHotKeyか。
940デフォルトの名無しさん
垢版 |
2020/11/29(日) 15:27:25.94ID:g07v1NN9
>>938
手書きですよ〜〜。自動生成とかどうやってやるんですか?ぼくにはそんな
AIみたいなプログラム作れません。
2020/11/29(日) 15:41:01.10ID:tmDS9Mir
>>940
なるほど。
ところでこれは何をするプログラムで、どんな機能が有るの。
2020/11/29(日) 15:50:37.08ID:sV/hNKwx
x86で該当しそうなのはmovzx movsxくらいだけどな。
movzx ax,0
でオペランド含めて
OF B6 00
の3バイト。
xor ax,axが1バイトというのはオペランドを含まないならそうかもしれんな。
mov ax,0がオペランド込みで2バイトのコードがあるなら教えてほしい。
2020/11/29(日) 16:30:48.26ID:tmDS9Mir
>>942
8BIT測値を16/32BITに拡張する「即値拡張」なる形式が、add,sub,or,xor,and
adc,sbb,cmp や、push,imul には存在しているが、mov命令には存在してないようだ。
2020/11/29(日) 19:36:03.18ID:g07v1NN9
>>941
AcrobatReaderのウィンドウハンドルを渡して、アクティブタブのファイルパス
が返ってくる関数ですよー。

F1::
;F1を押したら
;アクティブウィンドウハンドルの取得(AcrobatReaderをアクティブにしといてください)
hwnd := WinExist("A")
;アクティブタブのファイルパスを取得
filePath := JEE_GetAcroRd32Path(hwnd)
;メッセージボックスで表示
MsgBox, % filePath
return

こんな感じで使ってください。
2020/11/30(月) 06:36:20.46ID:jVClAyvr
ここそういうスレだっけ?
2020/11/30(月) 15:37:02.85ID:SYaCp1kg
スレチすまそ
2020/11/30(月) 21:26:57.27ID:aenc2Jvq
どうせ過疎ってんだからいいだろ
2020/12/01(火) 01:21:53.10ID:QGlkeoFk
え?なんで?
2020/12/01(火) 14:57:54.27ID:hTz4hSGC
誰も何も書かなきゃ落ちるから
2020/12/01(火) 15:06:31.69ID:5apuVehD
それでも関係ないこと書くのは違うな
2020/12/01(火) 15:45:01.61ID:hTz4hSGC
じゃあきみが頑張って書いてスレを維持してくれ
2020/12/01(火) 20:53:32.04ID:QGlkeoFk
人がいないスレをわざわざ上げる必要ないので
関係ない話なら他の上がっているスレに書けばいいだろ
2020/12/12(土) 05:38:07.46ID:0YPrQOFp
ほしゆ(・ω・)
2020/12/12(土) 17:19:41.14ID:YnqZkJbK
あーあ、誰も書かなくなったw 落ちるぞ
2020/12/13(日) 02:46:51.94ID:46vi4xSP
素朴な思い付きの疑問なのだけど、どうして書籍としてAMD64の入門書が無いの?
需要も知識ある人も、それなりに居そうだけど。

まさか、AMDから許可がおりないとか?
2020/12/13(日) 06:59:00.79ID:5t0HrIYx
ほしゆ(・ω・)
2020/12/13(日) 15:57:52.04ID:+kVWWkIy
>>955
書けば売れるんじゃね
2020/12/13(日) 17:46:48.41ID:tEItIdi/
>>955
「図解64ビットがわかる (図解 知りたい!テクノロジー)」でググれ
959955
垢版 |
2020/12/14(月) 05:46:00.53ID:lPWXZq4e
>>958
店頭在庫を見て歩いて早幾年、無いと思っていたけれどあるのね。
しかし多様性はなさそう。

情報ありがとう。
2020/12/14(月) 09:33:35.43ID:7ZAWu3kI
>>958
この人の本ってプログラミングに役立つん?
2020/12/14(月) 15:32:42.23ID:7+Opk3xu
普通に考えてAMDやIntelが公開している最適化マニュアル等の方が役立つ
2020/12/14(月) 17:48:08.53ID:yiGrKys0
>>960
プログラミングの本じゃない。プログラミングの前にx64のアーキテクチャを知らないと話にならないだろ。
それを知るための本。
2020/12/15(火) 23:33:29.39ID:JKngFzP4
64bitアセンブラの本もあるじゃないか
「64ビットアセンブラ入門―64ビットCPUの基本構造もやさしく解説」 (Amazon)
2020/12/16(水) 08:28:24.95ID:4AurUS4h
アセンブラは、C のポインタで躓かないように
Z80 程度を少し (もちろんポインタを使う程度) やればいいと思う。
2020/12/16(水) 11:53:24.15ID:2Jfp/ir2
アセンブラやるのにアーキテクチャやCが必要なのかな?
2020/12/16(水) 19:53:44.68ID:xpVb4SZu
>>965
各種レジスタ構成やそれらの性質、仮想記憶のしくみなどを知らずにアセンブラやろうとするのは無謀もいいとこだろう。
Cで書いたコードの一部をアセンブラに書き換えて変更したり最適化するとき、Cのコードに対応するアセンブラソースが
どうなっているか見るにはCで何をしようとしているかわからないと話にならないだろう。
こういうことは知ってて損することはない。
967デフォルトの名無しさん
垢版 |
2020/12/19(土) 08:32:12.96ID:SL5FUo+H
>>963
その本、Cから呼び出す前提だったから、アセンブラでの変数宣言の仕方は載ってない。
2020/12/19(土) 19:14:03.47ID:wFrehAp+
>>967
細かいことは、Intelのリファレンスマニュアルを見ながら簡単な実験をすればわかる。
https://53ningen.com/assembly02/
969デフォルトの名無しさん
垢版 |
2020/12/19(土) 20:11:53.26ID:TfP5rB1Q
CD21 を学習しないとなw
2020/12/19(土) 21:14:42.16ID:61b7WmYd
Cが先か?アセンブラが先か?
971デフォルトの名無しさん
垢版 |
2020/12/20(日) 04:41:50.25ID:mOcnJILL
>>970
Cコンパイラが生成したアセンブラよく読んだよ
2020/12/20(日) 12:47:01.51ID:NmAfNXJq
>>967
int some_data = 5;
という変数は、アセンブラでは以下のようにすると定義できる:
_DATA segment DWORD
_some_data dd 5
_DATA ends

dd は、define dword の意味。db だと byte, dw だと word、となる。
構造体の場合は、struc を使うか、または、メンバのdd,dw,dbをそのまま並べる。
自動 align はされないので、alignment をとりたい場合は、自分で pading するか、
align 擬似命令か、even 擬似命令を使う。
2020/12/20(日) 12:48:36.41ID:NmAfNXJq
_DATA segment DWORD
の部分の DWORD は、そのセグメントの先頭を、DWORD でアラインする、という
意味。つまり、セグメントの先頭アドレスが 4 の倍数に配置される。
省略も可能。
アラインメントをしなくてもプログラムは動くが、少し遅くなることが有る。
974デフォルトの名無しさん
垢版 |
2020/12/21(月) 08:58:26.80ID:LKkS73pR
>>973
いやいや、bus errorでしょもう。
2020/12/21(月) 11:00:51.03ID:i3HSzHFO
今時のISAはアライメントズレでロード/ストアした場合でも遅くなるだけじゃね
IA32、AMD64、ARM、RX、RISC-V
あたりはアライメントがずれていても例外は吐かないように見える
2020/12/21(月) 13:34:54.19ID:xeeueWnS
>>974
x86, AMD64 だと 読み書きが遅くなるだけで bus error にはならない。
但し、スタックポインタの値は 4 または 8 の倍数になっていないと
例外が起きる仕組みがある。
2020/12/21(月) 13:38:38.63ID:xeeueWnS
構造体メンバのアラインメントも、x86, AMD64 では速度面以外では必要ではない。
他の系統のCPUでは、アラインメントが揃ってないと読み込めない様になっている
ことがあるが、x86, AMD64 の人から見ると、そういったCPUに足をひきづられて
ウザイことがある。
そういうCPUのために、x86, x64 では不要の構造体のアラインメントなどウルサすぎる。
2020/12/21(月) 14:24:05.05ID:xeeueWnS
構造体メンバのアラインは、x86、x64でも速度のために有ったほうが良いかも
知れないが、バイナリファイルの中の32BIT整数の部分をアラインするのは、
ちょっと抵抗を感じることがある。
ファイルの場合、読み込み速度よりサイズの小ささが重要だと思うので。
他のCPUでは読み込めないなら、そのCPUの設計が欠陥だとも考えられるし、
そんなCPUの事まで配慮してサイズが増大するのはいい迷惑。
2020/12/21(月) 17:07:46.38ID:GZaqA6YK
バイナリファイル解析してるとアライン考慮部分と全く配慮してないが混在されてるのがまれによくある
980デフォルトの名無しさん
垢版 |
2020/12/21(月) 19:28:27.84ID:LKkS73pR
アライメントなんかアセンブルディレクティブ疑似命令で自動でやってくれるでしょ.sizeofとかもアライメント考慮してサイズ返してくれるし。
コンパイラが再生するデータ構造はアライメント合わせされてる。x86でオプティマイズサイズだとされないか。
2020/12/21(月) 20:01:53.70ID:Ttyv2kNo
高性能PC!!
を謳ってる配信でintelが全く見当たらなくなったのは隔世の感があるな。
配信してる超絶プログラマさんももうAMDしか選択肢がない言うてた
2020/12/22(火) 00:21:52.28ID:tgdJRQi2
IA64やらずに超絶とは
2020/12/22(火) 00:42:43.81ID:btWe0I+s
IA64はお亡くなりになられたよ・・・
2020/12/22(火) 11:00:09.36ID:kzqT97dS
PS5はAMDなんだな
2020/12/30(水) 01:28:02.70ID:ojaVEyJL
ほしゆ(・ω・)
2020/12/31(木) 08:09:56.84ID:qAEGulJg
>>979
まれにあるのか?よくあることなのか?どっちでもいいが
2020/12/31(木) 12:53:32.07ID:pMMrEBim
>>986
掲示板初心者か?
2021/01/01(金) 08:45:04.14ID:ZYHKNI/v
2021/01/01(金) 09:25:56.97ID:Sutdgdij
初心者スレで上級者気取りか?
2021/01/01(金) 18:12:38.86ID:ADEdjdIz
2021/01/01(金) 19:03:44.66ID:sqmHJxPF
ほしゆ(・ω・)
2021/01/01(金) 20:06:32.68ID:9XtueUbf
いやもう次立てる所やろ
2021/01/02(土) 07:31:18.88ID:wg370Djj
2021/01/02(土) 18:03:52.31ID:kSzgq5SE
2021/01/03(日) 06:33:21.26ID:qiwWktFe
2021/01/03(日) 18:36:17.00ID:GJkrCLRp
        まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )
2021/01/04(月) 06:34:03.38ID:se2ZF3ue
2021/01/04(月) 17:11:09.20ID:4XmqFvVy
2021/01/04(月) 17:11:25.37ID:4XmqFvVy
2021/01/04(月) 17:11:46.52ID:4XmqFvVy
--- 終了 ---
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1361日 23時間 35分 51秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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