[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 06/24 11:52 / Filesize : 195 KB / Number-of Response : 910
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

アセンブラ… Part 12



1 名前:デフォルトの名無しさん [2007/08/14(火) 17:18:08 ]

アセンブラ全般に関するスレッドです。

【前スレ】
アセンブラ… ( ゚д゚)ウッウー
pc11.2ch.net/test/read.cgi/tech/1174825173/



92 名前:デフォルトの名無しさん [2007/09/14(金) 18:57:49 ]
分かりやすく言えば、俺が江頭だとして
「この人は佐藤ですからヒップアタックしてください」と
人からアイデンティファイされたものはダメである。
俺が、この目と足でチェックしてはじめて、
「ぅお前は!佐藤だー!!」(ででででーでででででででで)と、
ヒップアタックする気になるのだ。


93 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 20:57:57 ]
staic int i;
if(i) i = 0;

これね

94 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 21:05:09 ]
それは
ちがう
だろう

95 名前:デフォルトの名無しさん mailto:sage [2007/09/14(金) 22:39:18 ]
MASMの
すごい
初期化

96 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 02:22:32 ]
objをダンプしてexeの中身がわかる人がいるのはこのスレですか?

97 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 04:00:24 ]
アセンブラと機械語は違うけどね。

98 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 13:28:19 ]
初期化しない値は、.dataではなく.data?に書く。

99 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 17:11:23 ]
.bss

100 名前:デフォルトの名無しさん [2007/09/18(火) 15:25:32 ]
age



101 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 01:13:41 ]
>>96
君はわからんのかね

102 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 01:41:38 ]
外部シンボルが未解決でわかりません。

103 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 06:26:18 ]
もとがMASMの話だけにobjdumpもアレだ。

104 名前:デフォルトの名無しさん mailto:sage [2007/09/21(金) 22:58:08 ]
>>102
サブシステム→WinDows

105 名前:デフォルトの名無しさん [2007/10/18(木) 21:25:44 ]
age

106 名前:デフォルトの名無しさん [2007/10/26(金) 00:02:09 ]
KITE-1マイクロプロセッサで
exp(x)=Σ(n=0,∞){1/n!}=1/0!+1/2!+1/3!+…+1/n!
=1+(1+1/2(1+1/3(1+…+1/n)))
の展開した式からネイピア数を求めるアセンブラのプログラムの作り方がさっぱりです。
指定は除算を引き戻し、引き放しで行わず、ループを使わないことらしいです。
ググって見た感じではSRT法を使おうと思っているのですが
これまたアセンブラで表現しようと思うのですがさっぱりです。
どなたかプログラムを教えていただけないでしょうか。
またSRT法以外に簡単な方法ががあるなら是非教えて頂きたいです。
よろしくお願いします。

107 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 19:31:28 ]
>アセンブラのプログラムの作り方がさっぱりです。
うむ、まずアセンブラとテキストエディタを用意しよう!

108 名前:デフォルトの名無しさん mailto:sage [2007/10/27(土) 19:38:33 ]
インプリメンテーションチャートは?

109 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 13:23:40 ]
int n;
long double e,a,p;
e=0;a=1;n=1;
do {
p=e;e+=a;a/=n;n++;
} while (e != p);

こんなのしかかけないヘタレな俺

110 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 18:35:11 ]
アセンブリでおk



111 名前:デフォルトの名無しさん mailto:sage [2007/10/30(火) 23:47:27 ]
>>106を解こうとしてsrt除算の上位ビットのからの条件分岐が書けなかった俺は負け組

112 名前:デフォルトの名無しさん [2007/11/02(金) 11:10:15 ]
アセンブラの勉強したくて本がほしいんだけど本屋に全然本が売ってないんだよ
あってもあんまよさそうな本が見つからない
なんかお勧めのアセンブラの本教えてください

113 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 11:30:45 ]
はじめて読む8086あたりでいいんじゃね?

古い本だけど、基本的なことはわかると思うよ


114 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 16:53:33 ]
とりあえず入門用マイコンとしてそこそこのものなら、AVRのTinyあたり?

AVRマイコン活用ブック―オリジナル電子ゲーム&ロボット製作
→アマゾン:ttp://www.amazon.co.jp/AVRマイコン活用ブック―オリジナル電子ゲーム-ロボット製作-わかるマイコン電子工作-松原-拓也/dp/4885540011/ref=pd_bbs_sr_2/503-7396570-5979118?ie=UTF8&s=books&qid=1193988330&sr=8-2

AVRは(PICも)会社によって嫌われることがあるので、あくまで勉強用として。


115 名前:114 mailto:sage [2007/11/02(金) 17:05:00 ]
>>114の補足
この本のプログラムはgccで書かれています。
>gcc -S ...
のように -S オプションを付けてコンパイルするとアセンブラコードが吐き出されるので、
コードと対比させると勉強になると思います。


116 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 18:07:53 ]
他のコンパイラと違って-S付けてもソースコードと混成にならないのが惜しい

117 名前:デフォルトの名無しさん mailto:sage [2007/11/02(金) 20:51:27 ]
どのコンパイラが?

118 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 00:09:16 ]
>>117
横レスだけどgccで混合できんの?

119 名前:117 mailto:sage [2007/11/03(土) 01:32:44 ]
>>118>>116
ゴメン。今意味が分かった。

120 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 01:40:09 ]
混成表示するにはobjdumpです





121 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 03:03:54 ]
turbo c++ exploreからtasm32.exeを入手できたんですが、
tasm32のドキュメントってどこかにないでしょうか?

122 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 03:18:26 ]
>>121
ttp://citforum.yspu.yar.ru/programming/tasm3/index.shtml

123 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 03:22:32 ]
>>122
ロシア語読めねえよアホ

124 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 03:32:19 ]
ロシア語で考えるんだ!

125 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 03:50:19 ]
しかし、MASMが合法的に無料で手に入る時代にtasm32を使う理由って一体・・・。

126 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 04:41:20 ]
Idealモードフェチの人なんだよきっと

127 名前:ヽ・´∀`・,,)っ━━━━━━┓ mailto:sage [2007/11/03(土) 11:05:47 ]
NASMが64ビット対応してるよ。SSE4.2もAMD SSE5も吐けるよ

128 名前:デフォルトの名無しさん mailto:sage [2007/11/03(土) 11:06:01 ]
>>125
相変わらず何かのSDKの中について来るの?


129 名前:ヽ・´∀`・,,)っ━━━━━━┓ mailto:sage [2007/11/03(土) 11:09:43 ]
>>128
www.microsoft.com/downloads/details.aspx?FamilyId=7A1C9DA0-0510-44A2-B042-7EF370530C64&displaylang=ja

130 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 22:08:08 ]
>>121
こんなのみつけた
ttp://www.phatcode.net/downloads.php?id=308&action=get&file=pasmug.pdf

ttp://lzasm.hotbox.ru/
によるとTASM5.0のcloneらしい



131 名前:デフォルトの名無しさん mailto:sage [2007/11/04(日) 23:39:04 ]
>>129
thx

Linkerとかはどうしろって?w


132 名前:ヽ・´∀`・,,)っ━━━━━━┓ mailto:sage [2007/11/05(月) 00:11:03 ]
普通にVC++のリンカ使いましょう。Expressならタダだし。

133 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 15:34:12 ]
課題で質問があるのですが、Formatのような感じで
文字列を表示させるにはどのようにしたらよいでしょうか?

PUSH EBP
MOV EBP,ESP
SUB ESP,104
MOV EAX,DWORD PTR SS:[EBP+C]
AND DWORD PTR SS:[EBP-4],0
MOVZX ECX,BYTE PTR DS:[EAX+F]
PUSH ECX ; /<%02X>
MOVZX ECX,BYTE PTR DS:[EAX+E]
PUSH ECX ; |<%02X>
MOVZX ECX,BYTE PTR DS:[EAX+D]
PUSH ECX ; |<%02X>
MOVZX ECX,BYTE PTR DS:[EAX+C]
PUSH ECX ; |<%02X>
MOVZX ECX,BYTE PTR DS:[EAX+B]
PUSH ECX ; |<%02X>
MOVZX ECX,BYTE PTR DS:[EAX+A]
PUSH ECX ; |<%02X>
MOVZX ECX,BYTE PTR DS:[EAX+9]
PUSH ECX ; |<%02X>
MOVZX ECX,BYTE PTR DS:[EAX+8]
PUSH ECX ; |<%02X>


134 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 15:35:08 ]
MOVZX ECX,WORD PTR DS:[EAX+6]
PUSH ECX ; |<%04X>
MOVZX ECX,WORD PTR DS:[EAX+4]
PUSH ECX ; |<%04X>
PUSH DWORD PTR DS:[EAX] ; |<%08X>
LEA EAX,DWORD PTR SS:[EBP-104]
PUSH testtest.0044AD6C ; |Format = "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}"
PUSH EAX
CALL DWORD PTR DS:[<&USER32.wsprintfA>] ; \wsprintfA
MOV ECX,DWORD PTR SS:[EBP+8]
ADD ESP,34
LEA EAX,DWORD PTR SS:[EBP-104]
PUSH EAX
CALL testtest.0042D903
MOV EAX,DWORD PTR SS:[EBP+8]
LEAVE
RETN 8

135 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 15:42:22 ]
Cで書いて、コンパイラが吐くコード見れば?

136 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 17:12:21 ]
上の2レスがたぶんそうだとおもう

137 名前:アセンブラ初心者 mailto:sage [2007/11/05(月) 21:15:38 ]
いきなり質問失礼します。
8085で、

[8091h] [8090h] ←[8080h]*2+[8081h]    和を16ビットで求める(分岐命令を使用してもよい)

16ビットで求めるという意味がいまいちわかりません。
どなたか解答お願いします。

138 名前:133,134 mailto:sage [2007/11/05(月) 21:54:11 ]
>>135
レスありがとうございます。
一応Cで書くのも考え試したのですがなにぶんアセンブラは素人なものでして…。
PUSHで変数をスタックして上から開いているんだろうなぁっとまでは
なんとなく理解できたのですがCで書いたらエラー吐きまくりで…

できればどなたかヒントか一部サンプルを書いてもらえないでしょうか?

139 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 21:55:23 ]
「8ビット×2+8ビット」の結果は値によって8ビットじゃオーバーフローするじゃん。
だから16ビットで演算して結果を8090-8091H番地に格納すんだろ。

140 名前:アセンブラ初心者 mailto:sage [2007/11/05(月) 22:08:58 ]
>>139
さっそくのレスありがとうございます。
あ、何となくわかったようなきがしました。

LDA 8080h アキュムレータが8080h になって
ADD A アキュムレータが8080h*2になって
MOV M 8080h*2をHLレジスタにコピー
LDA 8081h アキュムレータに8081hをロードして
STAX D 8081hをDEレジスタに格納して
DAD D 8080h*2+8081hをHLレジスタにいれて
SHLD 8090h [8091h][8090h]に8080h*2+8081hを格納

って感じですかね?






141 名前:アセンブラ初心者 mailto:sage [2007/11/05(月) 22:12:24 ]
↑ 見にくかった。
LDA 8080h          アキュムレータが8080h になって
ADD A            アキュムレータが8080h*2になって
MOV M             8080h*2をHLレジスタにコピー
LDA 8081h           アキュムレータに8081hをロードして
STAX D             8081hをDEレジスタに格納して
DAD D               8080h*2+8081hをHLレジスタにいれて
SHLD 8090h               [8091h][8090h]に8080h*2+8081hを格納


142 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 22:12:38 ]
それだとADD A(×2)の時点でオーバーフローすることがある。
が、まぁだいたいそんな感じだ。

143 名前:アセンブラ初心者 mailto:sage [2007/11/05(月) 22:13:41 ]
3番目は MOV Mではなく MOV M,Aでした。

144 名前:アセンブラ初心者 mailto:sage [2007/11/05(月) 22:16:10 ]
なるほど。ありがとうございます。

今日知人に教えてもらうと、
LDA 8080h
MOV L,A
MVI H.0
DAD H
LDA 8081h
MOV D,A
MVI E,0
DAD D
SHLD 8090h

↑のような感じだったんですがこれでもあっているのですか?

145 名前:アセンブラ初心者 mailto:sage [2007/11/05(月) 22:19:09 ]
↑の下から3番目のMVI E,0 は MVI D,0だったかも

146 名前:デフォルトの名無しさん mailto:sage [2007/11/05(月) 22:27:26 ]
>>145
なら、MOV D,A も MOV E,Aだな。

8085のニモニックよくしランが、
全部16ビットのHL,DEで演算してるようだから多分合ってんじゃね。

蛇足だが、
>>141の方法で、ADD A後、CフラグがONならHに+1すればOK。
多分設問の「分岐命令を使用してもよい」はそれを期待していると思われる。

147 名前:アセンブラ初心者 mailto:sage [2007/11/06(火) 00:58:58 ]
>>146
あなたが神か

アドバイスありがとうございます。
ただ、最後のCフラグがONならHに+1にするほうほうがよくわかりませぬ。
ADD A をADC Aにすればいいのでしょうか?

148 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 01:33:06 ]
ADD A でCがONした場合てのは8ビット同士の加算結果が8ビットを溢れたことを表す。

例)
FF+FF→1FE →Aの内容はFEとなって CがONする→
CがONなら上位8ビット(H)に+1(HLで+100)することで補正する必要あり


...ああ、もう書いちゃえw

H=0;  //あらかじめクリアしとく
A=A+A; //ADD A (桁あふれがあればC_flagが1になる。なければ0になる)
if(C_flag!=0){ //桁あふれあり?
 H++; //演算結果が8ビットで溢れたので上の桁に1を加算(HL全体で+100)
}
L=A; //下位8ビットを格納


Cフラグでの条件分岐命令は調べれ。

149 名前:デフォルトの名無しさん mailto:sage [2007/11/06(火) 04:55:07 ]
あ〜♪残念、珍しく得意な8085のQが来てたのに、終わっちゃったよ。 蛇足だが、141の
MOV M,A とか、STAX D とかって、アドレッシングの概念間違えてるよ。
左は[HL]<--A で、右は[DE]<--A のこと。 HLとDEを使う知人さんの手法が一般的だけど、
レジスタが足りないようなときには148さんの手法も有効なのね。ADD Aの後はこうなる。
   JNC LBL
   INR  H
LBL: MOV L,A
   SHLD [結果]  こちらの手法のほうが一般性に欠けるかわりに 「軽い」 という利点がある

150 名前:アセンブラ初心者 [2007/11/07(水) 23:24:11 ]
[8081h]←(A+B)*3-[8080h]*2の処理を行うプログラミングを教えてください。



151 名前:デフォルトの名無しさん mailto:sage [2007/11/07(水) 23:32:45 ]
同じ奴か?
応用だろ。考えろ。

152 名前:アセンブラ初心者 [2007/11/07(水) 23:37:43 ]
違いますよ。初投稿です。

153 名前:アセンブラ初心者 [2007/11/08(木) 00:40:56 ]
本当に、誰か教えてください。考えてもわからない。

154 名前:デフォルトの名無しさん [2007/11/08(木) 00:42:21 ]
応用だろ。ログみて考えろ

155 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 00:47:48 ]
@A+Bはレジスタか?そのまんまだろ。
A3倍はその結果を3回足せばいい。
B[8080h]はメモリからレジスタにロードして、×2は同じものを足せばいい。
CAの結果からBの結果を引いて
D[8081H]に格納

以上。

156 名前:アセンブラ初心者 [2007/11/08(木) 01:05:07 ]
LDA [8080h]
ADD A
MOV C←A
ADD B
ADD A
ADD A
SUB C
STA [8081h]
HLT
こんな感じですか?

157 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 01:18:23 ]
「感じ」としてはそんなもんだが
ADD B
の時点でAの中身がどうなってるかよく考えろ。

158 名前:アセンブラ初心者 [2007/11/08(木) 01:21:06 ]
ADD Bの前にSUB Aを入れればいいのですか?

159 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 02:03:05 ]
>アセンブラ初心者
お前KIT生だろ?

160 名前:アセンブラ初心者 [2007/11/08(木) 02:03:43 ]
そうですけど



161 名前:sage [2007/11/08(木) 02:03:56 ]
>アセンブラ初心者
蜷川先生もここ見てるから、おまえ落第決定だなwwwww

162 名前:age [2007/11/08(木) 02:06:28 ]
>アセンブラ初心者
石塚お兄さんも見ているから覚悟しておけよwwwwwww

163 名前:デフォルトの名無しさん [2007/11/08(木) 02:10:32 ]
注意:
過去最近、試験はできたのにレポートが書けていなくて(あるいは他人の丸写しで)不合格に
なる例が多く見られた。レポートはじっくり時間をかけて考えられるので、レポートでは全員満
点が取れるものとして試験の評価基準を設定してある。必ず満点が取れるような内容のものを提
出すること。よく考えず簡単に書いたまま本当に合っているか再確認を怠ったり、わからないか
らといって一部の問題を未記入で提出することのないよう注意すること。追跡を行うなどして、
答が正しいかよく確認すること。

って先生も言ってんだろ。

164 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 02:25:26 ]
>>156
つ [紙と鉛筆]

レジスタとメモリの内容がどう変化するのか
1命令毎に自分で書き出してみぃや

165 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 07:44:11 ]
>[8081h]←(A+B)*3-[8080h]*2の処理を行うプログラミングを教えてください。
  LHLD [8080h] ; LDAしたらAがなくなっちゃうでしょ
  MVI H,0
  DAD H ; 8bitの加算じゃ元が80h以上の場合オーバーフローする
  MOV E,L
  MOV D,H ; [8080h]*2をDEにsave
  MOV L,A
  MVI H,0 ; Aの値を16bitに
  MOV C,B
  MVI B,0 ; Bの値を16bitに
  DAD B ; (A+B)を計算
  DAD H
  DAD H ; *3
  MOV A,L
  SUB E
  MOV L,A
  MOV A,H
  SBB D
  MOV H,A ; HL-DE "DAD"はあるが"DSUB"が無いので8bitで計算
  SHLD [8081h] ; 結果はぎりぎり8bitに収まる
  HLT

166 名前:165 mailto:sage [2007/11/08(木) 07:51:04 ]
レジスタの使い方の一般則:Aはアキュムレータだから、保持には使わないのが原則。
(計算に使えるように常に空けておくべき)
HLは16bitのアキュムレータとして使う。(8085の命令セットがその思想でできている)
BC,DEは一時的な保持のために使ってよい。
165は冗長だが、この原則で書いてあるので一般性がある。156だと頭でAを壊すとか、
元の値が8bitフルレンジだと結果が正しくならないとかの欠陥がある。

167 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 08:44:16 ]
世間じゃ8085が流行ってるのか?

168 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 08:58:16 ]
いまどき大学でやるようなネタでもないような気がするんだけどね。
まー制限が多い方が HW という偶像につかえる司祭としての PG っつー
立場を痛感できて良いという思想の教授なのかもしれんが。

169 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 09:24:12 ]
俺は68kが一番無難だと思ってる。


170 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 11:21:57 ]
MIPS の方が良くね?




171 名前:デフォルトの名無しさん [2007/11/08(木) 11:47:58 ]
4004だろ

172 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 13:22:13 ]
RISCアセンブラじゃ単純すぎて面白みが足らないじゃんw
CPUを作るならMIPSが一番いいと思うけど。


173 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 13:24:31 ]
そこでARMですよ

174 名前:デフォルトの名無しさん mailto:sage [2007/11/08(木) 21:51:52 ]
それは人生の無駄遣い。

175 名前:デフォルトの名無しさん [2007/11/08(木) 22:35:04 ]
MIPSって普及してるの?
ARMに押されていそうだよね。

176 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 10:44:04 ]
宿題丸投げがあるところをみると
馬鹿大学生の間では普及率が高いらしい。<MIPS

177 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 10:50:44 BE:1657152779-2BP(125)]
それはパタヘネ(コンピュータの構成と設計)がMIPS使ってるからじゃないかな

178 名前:デフォルトの名無しさん mailto:sage [2007/11/09(金) 11:19:47 ]
だね。大学だとMIPSで教えるから認知度は大きい。
ARMは作ると訴えられてしまうw


179 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 19:49:23 ]
PICがMIPSになったそうだからMIPS逆襲のオカン。

180 名前:デフォルトの名無しさん mailto:sage [2007/11/11(日) 20:33:34 ]
ほぅ。
ttp://www.microchip.com/stellent/images/mchpsiteimages/BLOCK.jpg
AVR32みたいな独自コアじゃないのか。

まあMIPSのアセンブラを手書きしたいとは思わねーが。




181 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 13:23:42 ]
「アセンブラが怖い」なんて、誰がいってるの?(1/3) − @IT MONOist
ttp://monoist.atmarkit.co.jp/fembedded/articles/miconkiso1/07/miconkiso1_07a.html

182 名前:デフォルトの名無しさん [2007/11/15(木) 23:30:45 ]
64ビットのすごさがわかるマシン語書ける人、
サンプル見せて欲しい。

183 名前:デフォルトの名無しさん mailto:sage [2007/11/15(木) 23:49:40 ]
なにも考えずに書いても速度アップするのが64ビットの凄いところ

184 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 01:40:24 ]
linuxのコード読みたいんだが疑似命令がよくわからん。
どこかいい解説してるとこない?

185 名前:デフォルトの名無しさん [2007/11/16(金) 16:13:08 ]
>>1

186 名前:デフォルトの名無しさん [2007/11/16(金) 21:29:23 ]
初回例外は ntddll.dll にあります。
0xc00000008:invalid handle

7C94EB53 mov dword ptr [esp],eax
7C94EB56 mov dword ptr [esp+4],0
7C94EB5E mov dword ptr [esp+8],0
7C94EB66 mov dword ptr [esp+10h],0
7C94EB6E push esp
7C94EB6F call 7C94EBAC
7C94EB74 mov eax,dword ptr [esp]
7C94EB77 mov esp,ebp
7C94EB79 pop ebp
7C94EB7A ret
7C94EB7B nop
7C94EB7C lea esp,[esp]
7C94EB83 lea ecx,[ecx]

どういう意味かわかる方居ませんか。
ドラッグドロップ系の操作をするとこれが出ます。

187 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 21:36:35 ]
その情報の意味を知り得るのはそのソースを持ってる奴だけだよ。

188 名前:デフォルトの名無しさん mailto:sage [2007/11/16(金) 23:07:38 ]
>>186
エラーメッセージ以上の事はわからない。
invalidなhandleを渡してるために例外発生して止まってる。
表示されてるコード自体はスタックにパラメータ積んで関数呼び出ししてる部分だけ。
意味の通じるラベルが表示されてないから、callで呼びだしてる先の動作がどうなってるかは不明。

原因はわからないが、おそらく次にあげる2つのうちどちらか。
・dllを使ってるプログラムにバグがある。
・ntddll.dllが壊れている。

対策としては
・プログラミングしててデバッグ中に出るなら、ソースを良く確かめる。
・何かアプリケーションソフトを使ってて出るのなら、sfc /scannowでWindowsファイルが壊れてないかチェック。
もしくは、そのソフトの使用を諦める。

189 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 00:24:42 ]
kiRaiseUserExceptionDispatcherでinvalid handle

190 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 01:46:05 ]
メモリ破壊系のバグ(ex同期ミス)がkernel handle/critical section(内部でeventを持ってる)に及ぶと
そうなるときもあるけど、正直それアセンブラがどうとかじゃなくてwindowsプログラミングだから。
デバッガでsymbolちゃんと設定すりゃもうちょいマシな逆アセになるよ



191 名前:デフォルトの名無しさん [2007/11/17(土) 12:46:44 ]
アセンブラでマシン(ノートPC Dynabook)をrebootさせる方法が知りたいです。
簡単にできるのでしょうか?


192 名前:デフォルトの名無しさん mailto:sage [2007/11/17(土) 13:08:54 ]
何故アセンブラ?
OS依存のAPI使えばできるだろうが






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<195KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef