アセンブラ初心者スレッドat TECH
アセンブラ初心者スレッド - 暇つぶし2ch951:デフォルトの名無しさん
16/06/28 15:47:26.63 Xfds6bLp.net
質問します

LDR R1, =(aLimitfpsToD - 0x18C0FF8)

ってのがあるんですがこのときR1レジスタに入るのは0x18C0FF8のメモリ番地が
入るだけでしょうか?数値は入らないですよね?

変な質問ですいません

952:デフォルトの名無しさん
16/06/28 16:02:52.63 5ckL0Bml.net
数値が入る
しかも全然違う

953:デフォルトの名無しさん
16/06/28 18:21:05.37 Xfds6bLp.net
>>929
回答ありがとうございます。
差し支えなければどんな数値が入るか教えてもらえませんか?

954:デフォルトの名無しさん
16/06/28 18:45:43.76 nfEKCddO.net
なんのアーキテクチャか分かんないけど、aLimitfpsToDってのがどこかのラベルで0x18C0FF8からのオフセットが入んじゃないのかな?
(と=は知らんw

955:デフォルトの名無しさん
16/06/29 14:40:17.96 15yOy0V1.net
アセンブリ(言語)


956:とアセンブラを混同している人がたまにいる、という話題は既出ですか?



957:デフォルトの名無しさん
16/06/29 15:03:39.28 A93JdvJw.net
なにアセンブリをアセンブラでアセンブルするだけの事だ
混同されても実害はない

958:デフォルトの名無しさん
16/06/29 16:06:32.52 +NpkjfxL.net
はやてのように アセンブル

959:デフォルトの名無しさん
16/06/29 16:21:03.35 I/2QdAFu.net
あまり気にしなかったけど、「アセンブラのコード書く」とかは間違いなの?普通に言ってたけど。アセンブリで書くとか違和感あるけどな。

960:デフォルトの名無しさん
16/06/29 17:32:10.33 V1IZrtk2.net
assembler 組み立て工、組み立てる人、アセンブラ
assemble ~を組み立てる
assembly 組み立て
assembly language 組み立て用言語、アセンブリ言語

961:デフォルトの名無しさん
16/06/29 17:50:54.09 C8/RLHPN.net
>>932
URLリンク(en.wikipedia.org)
An assembly (or assembler) language,[1] often abbreviated asm, is a ...

References
1. Assembler language, IBM Knowledge center

URLリンク(www.ibm.com)

962:デフォルトの名無しさん
16/06/29 19:18:46.15 QKmYa11M.net
>>932
assemble+er、義務教育レベルの英語も理解できていないという事。

mayonnaiseは、フランス語だから、英語の規則は当てはまらないけれど、それでもmayoreには、ならない。
無理矢理ならば、mayonnaiserか、mayonnaiseist。
そんな事も解らない人達なんだよ。

963:デフォルトの名無しさん
16/06/29 19:20:04.12 QKmYa11M.net
>>937
それは、アセンブラで使用する言語って意味ね。

964:デフォルトの名無しさん
16/06/29 21:49:22.20 u3VATEok.net
言語のことをアセンブリって言うのは分かるけど、独習C、独習C++、独習アセンブリ?
アセンブリとアセンブラは慣例的にはあまり区別されてないように思うけどな。

965:デフォルトの名無しさん
16/06/30 15:33:47.45 VmcBuUmn.net
アセンブラで言語そのものを指す人もいれば、アセンブリを機械語に翻訳するプログラムだけ、って人もいる
区別しないと意図が伝わらない場合がどんだけあるかを考えると、さして深刻な問題じゃないような

966:デフォルトの名無しさん
16/07/16 23:38:52.13 MXamywZj.net
アッセンブルEX10

967:デフォルトの名無しさん
16/07/17 02:26:22.26 u2dAluYM.net
日本語としては、区別さえできればどちらでもいい
要は話者が寛容であるかどうかだ

968:デフォルトの名無しさん
16/08/11 20:38:10.64 CgUWJQKrz
CallWindowProcAにOllyDbgでログ付き条件ブレークポイントをかけて、ウィンドウで受け取るメッセージの詳細を出力する時にどうして式はEBP+8じゃないといけないのでしょうか
EBP+8にはウィンドウのハンドルが入っていて、特にMSG構造体へのポインタとかではないように思うのですが…

969:944
16/08/12 17:12:44.32 URvVD4gpm
CallWindowProcAぜんぜんウィンドウプロシージャじゃなかった
解決しました

970:デフォルトの名無しさん
16/10/15 10:48:09.91 eBSmAB5D.net
PE フォーマットの解説を知らないか?

971:デフォルトの名無しさん
16/10/15 12:49:07.08 Z8SQUEFb.net
仕様書がMSDNにあるはずだけどそこに書かれてない話?

972:片山博文MZ ◆T6xkBnTXz7B0
16/10/16 14:46:56.15 Ou+5Vobn.net
>>946
Resource Hackerのヘルプを参照

973:デフォルトの名無しさん
16/10/16 14:48:03.15 eOEStkDD.net
なんとか洋介山の本捨てたつもりだったがまだあった
来月捨てよう

974:デフォルトの名無しさん
16/10/18 19:22:34.09 Pul0IDVM.net
つBOOK・OFF

975:デフォルトの名無しさん
16/11/16 23:15:55.17 d7D9Ori4.net
4bitアセンブラはどのスレで活動すればいいですか?

976:デフォルトの名無しさん
16/11/17 00:05:52.27 d/bxtnYG.net
>>951
75X?

977:デフォルトの名無しさん
16/12/16 22:59:32.63 sTWK9lm6.net
>>952
縦積み命令がわからない
MOV A,#0
MOV A,#2
MOV A,#4
こういう書き方ってなんなの?

978:デフォルトの名無しさん
17/01/05 19:44:04.66 VylnptJy.net
助けてください
仕事で使わなきゃいけないのですが職歴コンビニバイトのみの新人で何から何まで一切分かりません
h8なんとかっていうpdfだけ渡されて、これで頑張ってと言われました

979:デフォルトの名無しさん
17/01/05 20:15:49.65 4pCGEQz7.net
そんなやつに仕事任すわけねーだろw

980:デフォルトの名無しさん
17/01/05 20:54:33.92 NEvicUSZ.net
>>953
たぶんMOVじゃないんじゃないかと。

縦積みが必要なのは、条件分岐が無いから。
ある条件が成立すると、次の命令がスキップ(実行されない)。
よって、この組み合わせ、すなわち、縦積みで条件分岐ができるようになるんだ。

981:デフォルトの名無しさん
17/01/05 23:15:42.12 xlHoBTkZ.net
>>954
年明けからジョークですか

982:デフォルトの名無しさん
17/01/06 06:59:42.56 KJDRn8ud.net
いや本当なんです
今まではそれの図みたいなやつを直すのをやらされてました
とにかくでてくる命令ひとつひとつが分からないのですがやさしく解説してるサイトとかありませんか

983:デフォルトの名無しさん
17/01/06 09:33:41.11 aKJxE5Q6.net
H8 入門
でくぐれ

984:デフォルトの名無しさん
17/01/06 15:26:03.02 XtKi9eaG.net
>>954
h8ならこっちの板の方がやさしいお兄さんが大勢いる
URLリンク(rio2016.2ch.net)

985:デフォルトの名無しさん
17/01/06 21:51:45.02 oEH4w/58.net
>>958
コンピュータの基礎からやらなきゃわかるわけないのに、何から何までわからない人ができる仕事じゃない。
医学書渡されて、これ見ながら手術してと言われるようなもん。基礎知識と経験なしにできるわけがない。
他の仕事をお勧めします。

986:デフォルトの名無しさん
17/01/16 12:53:22.13 YsJi63qB.net
それが本当なら
なにもわからん人にいきなりそんなことやらせる会社は早く辞めた方がいい
後でどんな難癖つけられるか分かったもんじゃない

987:デフォルトの名無しさん
17/01/25 06:53:06.66 UsTZ20bb.net
もらったPDFに全命令書いてあるというオチがありそうなんだが
メーカ配布のやつでフラグ変化から消費クロックまでしっかり書いてあるやつ

988:デフォルトの名無しさん
17/01/29 04:01:17.79 ha1UN0gn.net
アセンブラはじめるならLinuxでやるといいよ
DOSと同じような感覚でアセンブラプログラミングができるから

こんな感じ

Linux でアセンブリプログラミング
URLリンク(www.mztn.org)
Linux で64bitアセンブリプログラミング
URLリンク(www.mztn.org)

Linuxでのアセンブル方法はこんな感じ
as -a=hogehoge.lst -o hogehoge.o hogehoge.s
ld -o hogehoge hogehoge.s

989:デフォルトの名無しさん
17/01/29 04:03:45.58 ha1UN0gn.net
UbuntuだとQEMUを入れるだけでQEMU+binfmtの設定が自動せされるから
ライブラリへのリンクを貼るだけで他のCPUのバイナリをそのまま実行できるようになる
UbuntuだとARM、MIPS、PowerPCができる

64bitARMならこんな感じ
sudo apt-get install qemu
sudo apt-get install g++-aarch64-linux-gnu
sudo ln -s /usr/aarch64-linux-gnu/lib/ld-linux-aarch64.so.1 /lib
sudo ln -s /usr/aarch64-linux-gnu/lib /lib/aarch64-linux-gnu

32bitARMならこんな感じ
sudo apt-get install qemu
sudo apt-get install g++-arm-linux-gnueabihf
sudo ln -s /usr/arm-linux-gnueabihf/lib/ld-linux-armhf.so.3 /lib
sudo ln -s /usr/arm-linux-gnueabihf/lib /lib/arm-linux-gnueabihf

Cのコンパイル方法はこんな感じ
aarch64-linux-gnu-gcc -O2 -o hogehoge hogehoge.c

gcc-arm-linux-gnueabihf-gcc -O2 -o hogehoge hogehoge.c

アセンブル方法はこんな感じ
aarch64-linux-gnu-as -a=hogehoge.lst -o hogehoge.o hogehoge.s
aarch64-linux-gnu-ld -o hogehoge hogehoge.s <


990:br> gcc-arm-linux-gnueabihf-as -a=hogehoge.lst -o hogehoge.o hogehoge.s gcc-arm-linux-gnueabihf-ld -o hogehoge hogehoge.s できたバイナリは普通に実行できる ./hogehoge バイナリがどのアーキテクチャかはfileコマンドで確認できる file hogehoge



991:デフォルトの名無しさん
17/01/29 04:33:05.28 ha1UN0gn.net
修正
Linuxでのアセンブル方法はこんな感じ
as -a=hogehoge.lst -o hogehoge.o hogehoge.s
ld -o hogehoge hogehoge.o


アセンブル方法はこんな感じ
aarch64-linux-gnu-as -a=hogehoge.lst -o hogehoge.o hogehoge.s
aarch64-linux-gnu-ld -o hogehoge hogehoge.o

gcc-arm-linux-gnueabihf-as -a=hogehoge.lst -o hogehoge.o hogehoge.s
gcc-arm-linux-gnueabihf-ld -o hogehoge hogehoge.o

992:デフォルトの名無しさん
17/01/29 05:30:13.84 ha1UN0gn.net
ちなみにx86_64上のLinuxで32bitのバイナリを作成したい場合はこう


x86_64のLinuxでのCの32bitのx86バイナリのコンパイル
gcc -m32 -O2 -o hogehoge hogehoge.c

x86_64のLinuxでの32bitのx86アセンブル
as --32 -a=hogehoge.lst -o hogehoge.o hogehoge.s
ld -melf_i386 -o hogehoge hogehoge.o

993:デフォルトの名無しさん
17/01/29 06:40:56.41 ha1UN0gn.net
nasmでのx86_64のLinuxでの32bitアセンブル

nasm -f elf hogehoge.s
ld -melf_i386 -o hogehoge hogehoge.o


nasmでのx86_64のLinuxでの64bitアセンブル
nasm -f elf64 $1.s
ld -o $1 $1.o


Ubuntuでのnasmのインストール方法

sudo apt-get install nasm

994:デフォルトの名無しさん
17/01/29 06:53:32.55 ha1UN0gn.net
nasmでリスティングファイルも一緒に出力したい場合は

32bit
nasm -f elf -l hogehoge.lst hogehoge.s

64bit
nasm -f elf64 -l hogehoge.lst hogehoge.s

995:デフォルトの名無しさん
17/02/08 20:50:02.86 Mk3WVo/H.net
intel表記じゃないから却下

996:デフォルトの名無しさん
17/02/09 06:59:54.86 z8fk+TnA.net
MASM互換でないだけで、ニモニック自体はIntel記法やで

997:デフォルトの名無しさん
17/02/22 00:33:42.60 +9W7kpIJ.net
nasmでの疑似命令equ,res*, defineの違いって何ですか?
また
gasでのそれらに相当するものは?

998:デフォルトの名無しさん
17/02/23 01:10:33.00 OEoJPS/I.net
EQU 定数で置き換える
RES*シリーズ 指定単位×サイズのメモリ領域を確保する
%DEFINE 一行マクロ、関数みたいに引数取れる

gasは手書きに使うような代物じゃないから忘れていい

999:デフォルトの名無しさん
17/02/23 19:30:51.76 yLUryXxs.net
どうもです
色んな事が色々ごっちゃになって分けわからんくなってました

すいません基本gasでやってるんです
nasmの情報のが多いのでそっから変換したりしてやってます

まぁ確かに無駄が多いですが趣味の範囲なんです
なので無駄なんだけど無駄じゃないんです

それにやってないけど多分エディタによっては設定すれば自動挿入は普通に出来るんじゃないかと思ってます

1000:デフォルトの名無しさん
17/02/23 19:33:38.38 eG9NqkD/.net
やりたければやればいい
やってはいけないなんてことはまったくない

1001:デフォルトの名無しさん
17/02/24 18:12:05.71 3gLAKAVZ.net
では頑張る若者にプレゼントをあげやう
URLリンク(www.ibm.com)

IT界の巨神IBMさんが書いてくれたgasとnasmの比較記事だ

1002:デフォルトの名無しさん
17/02/24 19:12:19.30 f3uHJh0R.net
intel構文だとソースとデスティネーションが逆なんだよね。紛らわしい

1003:デフォルトの名無しさん
17/02/24 20:40:37.72 1tN3aNfb.net
不通にあるあるなんだが

1004:デフォルトの名無しさん
17/02/28 07:00:33.75 4RyJuYrh.net
68系も普通にやってたから、そこら辺はすぐに頭を切り替えられた
だがニモニック自体の変更は許せん……

1005:デフォルトの名無しさん
17/02/28 14:52:11.20 OcBIGmL7.net
mov a,b がa←bじゃなくてb←aなの?

1006:デフォルトの名無しさん
17/03/02 18:57:27.30 ZV5SMkF2.net
馬鹿には無理

1007:デフォルトの名無しさん
17/03/03 13:31:26.32 nBceVUOh.net
movならop1→op2
loadならop1←op2
っつー感覚

1008:デフォルトの名無しさん
17/03/03 14:06:44.03 IUFykjWp.net
leaは?

1009:デフォルトの名無しさん
17/03/06 16:43:49.83 7tw9lmnR.net
loadだから←かな

1010:デフォルトの名無しさん
17/03/08 21:11:56.27 w2yLRFMN.net
>>982-984
jmp 980

以下無限ループ

1011:デフォルトの名無しさん
17/03/09 00:44:05.09 9+K5Dr1K.net
>>985
jr FC

1012:デフォルトの名無しさん
17/03/10 23:15:09.01 fJKFVkkF.net
???
FC?
何それ?



1013:竄チた事ない人かな? 弾かれない?



1014:デフォルトの名無しさん
17/03/11 10:32:39.89 JsoExgwj.net
ラベルが定義されてたのかも知れないし
どうせ $FC だったり #FC だったり 0xFC だったり FCh だったりするんだから
どうでもいい
>987 こそアスペなんだろ

1015:デフォルトの名無しさん
17/03/11 10:57:57.87 wNy7VRXS.net
>>986がダメなのは

JRでの相対ジャンプの計算では、基準となるPCは命令実行後のアドレスから
つまり、>>985においてJRを実行する時は985からの基準してカウントする必要があり
>>985と同じく>>981にジャンプするためには、JR 0FBhと計算しなければいけないとわかっていないこと

1016:デフォルトの名無しさん
17/03/11 11:25:17.84 JsoExgwj.net
>>989
そもそも 1レス 1byte って誰が決めたん

1017:デフォルトの名無しさん
17/03/17 11:34:43.20 pwo5j4El.net
オフセットが奇数ってのも8ビットっぽくていいね

1018:デフォルトの名無しさん
17/03/17 18:39:54.13 lkugX1fn.net
ソフト組んでると、何で奇数番地にジャンプしたり奇数番値から実行するのが良くないのかよくわからないんだよね。

1019:デフォルトの名無しさん
17/03/21 15:42:23.11 94U0uFA6.net
回路が複雑化しそう

1020:デフォルトの名無しさん
17/03/24 03:52:31.48 6tZXs6+Y.net
どのCPUの話なのか分からないけど、基本的にはアクセス単位が16bitや32bitだからかと。
x86の場合、外部仕様は可変長命令だけどマイクロコードはRISCっぽい処理なので
奇数アラインされると効率が悪くなる(場合がある)から

1021:デフォルトの名無しさん
17/03/30 19:44:57.04 /2QbeuLQ.net
奇数アドレスに16ビットアクセスしたら通常はバスサイクル二回に分割される
PCIはxxx1、xxx2、xxx3番地から32ビットバースト転送してもオーバーヘッドは1サイクルだけだけど
変態だわ

1022:デフォルトの名無しさん
17/04/13 00:30:13.60 qkqMClc4.net
当方の環境はWindows7 SP1 x64でml64.exeを用いて
これからアセンブラを勉強したいと思っています。
とりあえずまずは手始めにcの標準関数、
例えばprintfとかputsとかを呼び出して「hello,world」でも...
と思っているんですが、
一体どのファイルを「includelib」して「call printf」等すれば良いのか
わかりません。

今のところ「user32.lib」とか「kernel32.lib」とか「msvcrt.lib」とか
読み込んでいますが、「unresolved external symbol printf....」と
エラーがでてしまいうまくいきません。

ml64の環境でcの標準関数を呼び出すには、
一体どのlibファイルをincludeすれば良いのでしょうか?

1023:デフォルトの名無しさん
17/04/13 02:32:35.73 8XBnDqPS.net
libはリンクした?

1024:デフォルトの名無しさん
17/04/13 14:59:16.50 6bOxPLAt.net
msvcrt.libで行けると思うけど環境変数lib設定してある?

1025:デフォルトの名無しさん
17/04/13 15:09:29.21 m/ZfxtWH.net
Winでのアセンブラはあまりオススメしないなぁ。。。
結局Cの関数なWin32API呼び出しまくるんでCでええやん。。。ってなる。
アセンブラならDOSかPICとかのマイコンのがアセンブラ使ってる感があって面白いよ。

1026:デフォルトの名無しさん
17/04/13 17:04:04.99 lsSSpfTO.net
999

1027:デフォルトの名無しさん
17/04/13 17:36:16.85 1WMn3pSz.net
アセンブラ初心者スレッド 2
スレリンク(tech板)

1028:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch