漏れは今までにC、C++、Pascal、HSP、JS、VBなど
数々の言語を極めてきたがやはり一番手にしっくりくる言語は機械語だ。
だから、機械語のことなら何でも質問しろ!
ただプログラムのコードなんかは長くなるがな。 あ、ASMの話でもいいよ。
機械語なら俺に質問しろ!その2
■ このスレッドは過去ログ倉庫に格納されています
2012/12/29(土) 08:00:24.36
260デフォルトの名無しさん
2019/06/28(金) 13:08:42.61ID:Dkg4aDVY 絶対値を求めるAbsProc()という関数をASMで作りました。しかしながら、期待した値が返ってきませんでした。
戻り値はC++の関数に実装しているのですが、他サイトで書いてあったコードを試したところ上手くいきました。
前者は自分が書いたコード、後者は他サイトに載っていたコード、内容が理解できません。
<base>
AbsProc proc dwValue:DWORD
mov eax, dwValue
.IF eax < 0
neg eax
.ENDIF
ret
AbsProc endp
--
AbsProc2 proc dwValue:DWORD
mov eax, dwValue
cdq
xor eax, edx
sub eax, edx
ret
AbsProc2 endp
--
</base>
戻り値はC++の関数に実装しているのですが、他サイトで書いてあったコードを試したところ上手くいきました。
前者は自分が書いたコード、後者は他サイトに載っていたコード、内容が理解できません。
<base>
AbsProc proc dwValue:DWORD
mov eax, dwValue
.IF eax < 0
neg eax
.ENDIF
ret
AbsProc endp
--
AbsProc2 proc dwValue:DWORD
mov eax, dwValue
cdq
xor eax, edx
sub eax, edx
ret
AbsProc2 endp
--
</base>
261デフォルトの名無しさん
2019/06/28(金) 14:26:33.93ID:BSWMNPgI DWORDは16
eaxは32
eaxは32
262デフォルトの名無しさん
2019/06/28(金) 15:24:26.32ID:Dkg4aDVY ちーがーうーだーろーおー
DWORDは4バイトだから32ビットで合っている
ただ、DWORDは符号なしなのでSDWORDに置き換えましたが結果は同じ(失敗)でした
前者の処理に問題があるのかな?
DWORDは4バイトだから32ビットで合っている
ただ、DWORDは符号なしなのでSDWORDに置き換えましたが結果は同じ(失敗)でした
前者の処理に問題があるのかな?
263デフォルトの名無しさん
2019/06/28(金) 15:43:55.03ID:2bLDyTWm .IF eax < 0
これが常に偽なんだろ
これが常に偽なんだろ
264デフォルトの名無しさん
2019/06/28(金) 16:03:32.71ID:Dkg4aDVY なるほど、マイナスのフラグを判定してないのね
265デフォルトの名無しさん
2019/06/28(金) 16:05:24.11ID:L7hsi0hP 実行時に展開されるマクロとアセンブリ時に展開されるマクロを混同してないか
266デフォルトの名無しさん
2019/06/28(金) 16:25:12.23ID:Dkg4aDVY そのあたりがわかってなかったよ dクス
267デフォルトの名無しさん
2019/08/12(月) 12:49:51.89ID:kdU0FwTT 機械語のスレなのにマトモなレスが全部アセンブラ関連なのはなぜ?
もっと機械語の質問しようぜ!
もっと機械語の質問しようぜ!
268デフォルトの名無しさん
2019/08/12(月) 16:27:18.01ID:/PThgSmN Z80の話なのですが、
「オペコードがなぜこの順番なのか謎だったが
ハード的に都合のいいように並んでいるのに気がついて震えた」
というようなコメントをどこかで見たのですが具体的にわかるかた教えてください
「オペコードがなぜこの順番なのか謎だったが
ハード的に都合のいいように並んでいるのに気がついて震えた」
というようなコメントをどこかで見たのですが具体的にわかるかた教えてください
269デフォルトの名無しさん
2019/08/12(月) 16:42:01.69ID:teiWuRr3 レジスタやろ
A B C D E H L (im) じゃなくて
B C D E H L A (im) の方が都合が良かった
A B C D E H L (im) じゃなくて
B C D E H L A (im) の方が都合が良かった
270デフォルトの名無しさん
2020/08/10(月) 13:44:28.05ID:wCJpM8p8 動画ファイルのバイナリ編集なんて出来んですか?
271デフォルトの名無しさん
2020/08/10(月) 13:52:53.98ID:okb2Hsyz ヘッダとかの諸元を書き換えたりは出来たとしても
普通に扱う動画は圧縮されてるから直接は触れない
そしてそもそも機械語でやる必要など無い
普通に扱う動画は圧縮されてるから直接は触れない
そしてそもそも機械語でやる必要など無い
272デフォルトの名無しさん
2020/08/10(月) 14:06:28.95ID:wCJpM8p8 そうですかありがとうございました
273デフォルトの名無しさん
2021/10/27(水) 10:02:51.76ID:XE3bmMwX 76h
274デフォルトの名無しさん
2022/08/04(木) 21:26:55.98ID:D1hmTC5W 機械語の初心者です
今に時代にマッチした入門書はありませんか?ぜご紹介いただけると嬉しいです!
今に時代にマッチした入門書はありませんか?ぜご紹介いただけると嬉しいです!
275デフォルトの名無しさん
2022/12/28(水) 08:11:09.43ID:lEr8v5P6 過疎スレか、興味あったけど残念。
大昔486載せたPC手に入った時にコプロ(浮動小数計算)の使用に興味もったけど
ネットもまだ無く関連書籍も知らず結局諦めた。
ニーモニックから内容は想像出来たけど、まずレジスタ自体どうなってるのかもわからんかったし。
例えばレジスタAXの値を1.03倍(当時の消費税?)をコプロで計算するにはどうやってたのかな?
大昔486載せたPC手に入った時にコプロ(浮動小数計算)の使用に興味もったけど
ネットもまだ無く関連書籍も知らず結局諦めた。
ニーモニックから内容は想像出来たけど、まずレジスタ自体どうなってるのかもわからんかったし。
例えばレジスタAXの値を1.03倍(当時の消費税?)をコプロで計算するにはどうやってたのかな?
276デフォルトの名無しさん
2023/04/28(金) 19:39:40.60ID:DXOd2k9/ ググるとrbpはスタックのベースポインタみたいな解説が出てくるけどこれ本当か?
とりあえず
>rustc.exe -V -v
rustc 1.66.0 (69f9c33d7 2022-12-12)
binary: rustc
commit-hash: 69f9c33d71c871fc16ac445211281c6e7a340943
commit-date: 2022-12-12
host: x86_64-pc-windows-msvc
release: 1.66.0
LLVM version: 15.0.2
>rustc.exe --emit asm --crate-type=rlib -C panic=abort -C debuginfo=0 -C debug-assertions=no -C opt-level=3 lib.rs
ってやって生成されるアセンブラリストを見てもプロシージャの頭でrspをrbpへコピーしたりはしていないし
自動変数のrsp相対のアドレスなんて事前に計算できるしそんな目的で汎用レジスタを専有するのはもったいない気もする
とりあえず
>rustc.exe -V -v
rustc 1.66.0 (69f9c33d7 2022-12-12)
binary: rustc
commit-hash: 69f9c33d71c871fc16ac445211281c6e7a340943
commit-date: 2022-12-12
host: x86_64-pc-windows-msvc
release: 1.66.0
LLVM version: 15.0.2
>rustc.exe --emit asm --crate-type=rlib -C panic=abort -C debuginfo=0 -C debug-assertions=no -C opt-level=3 lib.rs
ってやって生成されるアセンブラリストを見てもプロシージャの頭でrspをrbpへコピーしたりはしていないし
自動変数のrsp相対のアドレスなんて事前に計算できるしそんな目的で汎用レジスタを専有するのはもったいない気もする
277デフォルトの名無しさん
2023/05/28(日) 16:57:39.18ID:OWG1pOhD gptに質問するとコード出るよ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- フィンランド首相、「つり目」投稿問題で日本向けに「心からお詫び」 ★3 [どどん★]
- 【赤坂サウナ火災】非常ベル電源「2年前から入れていない」、押した形跡も ★2 [ぐれ★]
- 【野球】WBC、録画放送含め地上波中継なし (ネットフリックス) ★3 [阿弥陀ヶ峰★]
- ファミマ「遊べるコンビニ」へ ゲーム機を5000店舗に設置方針 IP強化 [七波羅探題★]
- 牛丼チェーン店で5杯食べ終えて「支払えない」…詐欺容疑で逮捕の男「どうしても腹がすいて」 甲府 [蚤の市★]
- 日本のパスポート申請手数料を大幅引き下げへ、10年用は約9000円に…NHK報道 [少考さん★]
- 高市「率直に対話を重ね、戦略的互恵関係を推進したい!対話を行うことに、日本側はオープンだ!」と、表明。あとは中国が折れるだけに [219241683]
- 【実況】博衣こよりのえちえちダンガンロンパ5🧪
- ぺこヴィヴィ🐰💅✨初対面同接16万❗❗🏡
- 【動画】米卸「助けてー!倉庫が米で溢れてるの!もう無理…」→ガチのマジでとんでもない量がwwwwwwwwwwwwwwwwwwww [802034645]
- 【悲報】東京・渋谷の再開発、白紙 [732289945]
- 【実況】博衣こよりのえちえちダンガンロンパ4🧪
