HAMLOG開発室は、HAMLOGに関連したプログラム開発(C、パスカル、VB言語等、又はDLL)についての
専用BBSです。プログラム言語に関する投稿以外は通常のHAMLOG相談室に投稿して下さい。
HAMLOG開発室BBS

ReRe: 入力 補足 投稿者:



JG1MOU 浜田OM je6lao 長野OM アドバイス有難うございます。
早速浜田OMのプログラムを コンパイルやアッセンブルして 動作を
確認しました。私の考えた C++のコードと 全く同じ動作をしました。
さすが 浜田OM 私の書いた説明を的確に理解されて プログラムの
サンプルのコードを書けるのは すばらしいとおもいます。長野OMも
いつもアドバイスありがとうございます。私の作った CW自動交信プロ
グラムのことで まだ2.3質問したい 事が有るのですが 日を
改めて したいと思います。
以下 プログラムのコードを送ります。


int CONINQ (void)

{ unsigned int c = 0,a = 0;
unsigned short mask = 0x8001;
int i,
char key1[] = {'A','M','D','H','L','E'};
for (i=0; i<6; i++)
{ c = (unsigned int)key1[i];
if ((GetAsyncKeyState(c)) & mask)
a = c;
}
return a;

}

上記の C++ のコードの MASM アッセンブリコード

PUBLIC _CONINQ ; CONINQ
EXTRN __imp__GetAsyncKeyState@4:NEAR;
Function compile flags: /Odt
_TEXT SEGMENT
_c$ = -40 ; size = 4
_mask$ = -36 ; size = 2
_key1$ = -32 ; size = 24
_i$ = -8 ; size = 4
_a$ = -4 ; size = 4
_CONINQ PROC NEAR ; CONINQ;
Line 145
push ebp
mov ebp, esp
sub esp, 40 ; 00000028H;
Line 146
mov DWORD PTR _c$[ebp], 0
mov DWORD PTR _a$[ebp], 0;
Line 147
mov WORD PTR _mask$[ebp], 32769 ; 00008001H;
Line 149
mov DWORD PTR _key1$[ebp], 65 ; 00000041H
mov DWORD PTR _key1$[ebp+4], 77 ; 0000004dH
mov DWORD PTR _key1$[ebp+8], 68 ; 00000044H
mov DWORD PTR _key1$[ebp+12], 72 ; 00000048H
mov DWORD PTR _key1$[ebp+16], 76 ; 0000004cH
mov DWORD PTR _key1$[ebp+20], 69 ;00000045H;
Line 150
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L63353
$L63354:
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
$L63353:
cmp DWORD PTR _i$[ebp], 6
jge SHORT $L63355;
Line 151
mov ecx, DWORD PTR _i$[ebp]
mov edx, DWORD PTR _key1$[ebp+ecx*4]
mov DWORD PTR _c$[ebp], edx;
Line 152
mov eax, DWORD PTR _c$[ebp]
push eax
call DWORD PTR __imp__GetAsyncKeyState@4
movsx ecx, ax
movzx edx, WORD PTR _mask$[ebp]
and ecx, edx
je SHORT $L63357;
Line 153
mov eax, DWORD PTR _c$[ebp]
mov DWORD PTR _a$[ebp], eax
$L63357:;
Line 154
jmp SHORT $L63354
$L63355:;
Line 155
mov eax, DWORD PTR _a$[ebp];
Line 157
mov esp, ebp
pop ebp
ret 0
_CONINQ ENDP ; CONINQ
_TEXT ENDS

では さようなら

2008/01/10(Thu) 00:40:49  [No.46]


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)
- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)
Call 名前 ※必須
文字色
Eメール
タイトル sage
URL
メッセージ 手動改行 強制改行 図表モード
メッセージには上記と同じURLを書き込まないで下さい
画像File  (130kBまで)
暗証キー (英数字で8文字以内)
投稿キー (投稿時 投稿キー を入力してください)
プレビュー