(1915)
1915:
STDIO.Hはどこかに?
投稿者:
文太
2006/12/26(火) 23:10
コメント数 1
すぐさまスレッドを立て直してしまうのですが。m(__)m
よし、 アセンブル、 と思って、 何か目に見える仕事をしてほしいので、
makedir.com を作ってみようと思いました。でも、題の stdio.h がない、、、。
どっかに落ちてませんでしょうか。ナツメの『システムコール・ハンドブック』
で3ページ。ぜったいタイプミスしそうで…。明日の夜には写し終わっていると
は思いますが。LSI試食版のは、どうもC用みたいで、違うのです。
- No.1915 -
このTreeへ
[リストへもどる]
pre
(1915)
1917:
Re: STDIO.Hはどこかに?
投稿者:
Konno
2006/12/27(水) 00:24
1915 番 文太 さんへのコメント コメント数 1
> makedir.com を作ってみようと思いました。でも、題の stdio.h がない、、、。
> どっかに落ちてませんでしょうか。ナツメの『システムコール・ハンドブック』
> で3ページ。
stdio.inc だったというおちではないんですよね。STD.INC なら、VZのソースに
ありますが。
- No.1917 -
このTreeへ
コメント元:1915 へ
[リストへもどる]
soft
(1915)
1919:
アセンブルしてくれない 求むヘルプ
投稿者:
文太
2006/12/27(水) 01:09
1917 番 Konno さんへのコメント コメント数 2
金野さん、なんか僕は大きな誤解をしてますか?
どうすればいいのでしょう? ナツメ『システムコール』pp.20-22, pp.171
を写しただけなのですが。p.170のマクロ定義が気になりはしますが。
どなたか、お教えください〜。タイプミスではないと思うのです。
がんばって打ち込んだのに〜。自力でやろうとしたら半年かかりそうなので。
m(__)m
C:\WORK2>ml makedir.asm
Assembling: makedir.asm
makedir.asm(13) : error A2008: syntax error : ah
MKDIR(2): Macro Called From
makedir.asm(13): Main Line Code
C:\WORK2>type makedir.asm
INCLUDE STDIO.H
MKDIR MACRO PATH ;ディレクトリの作成
MOV DX,OFFSET PATH
MOVE AH,39H
INT 21H
ENDM
pmain
print MSG
input BUFF ;ディレクトリ名の入力
asciiz BUFF[2],BUFF[1] ;asciiz文字列
mkdir BUFF[2] ; this function
JC ERROR
retms
ERROR: print ERRMSG
retms
MSG DB 'Directory name ? $'
ERRMSG DB 'Not make directory$'
BUFF DB 64,?,64 DUP(?)
pend
C:\WORK2>type stdio.h
; -----------------------------------------------------------------------
; * s t d i o . h (スタンダードI/Oヘッダ)
; -----------------------------------------------------------------------
CR EQU 0DH
LF EQU 0AH
PSEG MACRO ; プログラム開始
CODE SEGMENT
ASSUME CS:CODE, DS:CODE, SS:CODE
ENDM
PMAIN MACRO ; プログラム開始2
CODE SEGMENT
ASSUME CS:CODE, DS:CODE
ORG 100H
START:
ENDM
PEND MACRO ; プログラムの終わり
CODE ENDS
END START
ENDM
RETMS MACRO ;MS−DOSに戻る
MOV AH,4CH
INT 21H
ENDM
GETCHAR MACRO ;1文字入力
MOV AH,1
INT 21H
ENDM
PUTCHAR MACRO ASC ;1文字出力
MOV AH,2
MOV DL,ASC
INT 21H
ENDM
PRINT MACRO MSG ;文字列の出力
MOV AH,9
MOV DX,OFFSET MSG
INT 21H
ENDM
INPUT MACRO CONBUF ;文字列の入力
MOV AH,10
MOV DX,OFFSET CONBUF
INT 21H
putchar LF
ENDM
NEWLINE MACRO ;改行
putchar CR
putchar LF
ENDM
HEX_ASC MACRO HEX,BUF ;1バイトを2桁の16進数に
LOCAL BR1,BR2
PUSH AX
PUSH CX
MOV AL,HEX
PUSH AX
AND AL,0F0H
MOV CL,4
SHR AL,CL
ADD AL,'0'
CMP AL,'9'+1
JC BR1
ADD AL,7
BR1: MOV BYTE PTR BUF,AL
POP AX
AND AL,0FH
ADD AL,'O'
CMP AL,'9'+1
JC BR2
ADD AL,7
BR2: MOV BYTE PTR BUF+1,AL
POP CX
POP AX
ENDM
CONV2 MACRO HEX,BUF ;2バイトを4桁の16進数文字に
PUSH AX
MOV AX,HEX
hex_asc AH,BUF
hex_asc AH,BUF+2
POP AX
ENDM
HEX_BCD MACRO HEX,BUF ;1バイトを2桁の10進文字に
PUSH CX
MOV AL,HEX
XOR AH,AH
MOV CL,10
DIV CL
ADD AL,'0'
MOV BYTE PTR BUF,AL
ADD AH,'0'
MOV BYTE PTR BUF+1,AH
POP CX
ENDM
ASCIIZ MACRO BUF,NUM ;ASCIIZ文字列の完成
PUSH BX
MOV BL,NUM
XOR BH,BH
ADD BX,OFFSET BUF
MOV BYTE PTR [BX],0
POP BX
ENDM
C:\WORK2>Command.com /cDir
ドライブ C: のボリュームラベルは MEB_V6700T
ボリュームシリアル番号は 780F-4236
ディレクトリは C:\WORK2
. <DIR> 06-12-27 0:20
.. <DIR> 06-12-27 0:20
MAKEDIR ASM 381 06-12-27 0:32
ML ERR 9687 01-07-22 4:31
ML EXE 372736 99-03-29 16:45
STDIO H 2264 06-12-27 0:19
6 個 385068 バイトのファイルがあります.
965671424 バイトが使用可能です.
- No.1919 -
このTreeへ
コメント元:1917 へ
[リストへもどる]
pre
(1915)
1923:
Re: アセンブルしてくれない 求むヘルプ
投稿者:
文太
2006/12/27(水) 02:54
1919 番 文太 さんへのコメント コメント数 1
何がたりないのしょう。
C:\WORK2>R86.EXE makedir.asm
makedir.asm 4: abort missing segment directive
- No.1923 -
このTreeへ
コメント元:1919 へ
[リストへもどる]
pre
(1915)
1925:
Re^2: アセンブルしてくれない 求むヘルプ
投稿者:
としき@会社
2006/12/27(水) 08:57
参照先:http://toshiki.la.coocan.jp/
1923 番 文太 さんへのコメント
> 何がたりないのしょう。
> C:\WORK2>R86.EXE makedir.asm
> makedir.asm 4: abort missing segment directive
セグメントディレクティブが足りないようです。
とりあえず、4行目。
cs:とかってやつのことだと思いますが。
正確には何のことだかはよくわかりません。
あとは、デフォルト指定とかもあったかと思います。
ところで、R86って文法がMASMとは微妙に違った記憶があるのですが、その辺は
大丈夫ですか?
- No.1925 -
このTreeへ
コメント元:1923 へ
[リストへもどる]
pre
(1915)
1924:
文法エラー
投稿者:
Konno
2006/12/27(水) 07:04
1919 番 文太 さんへのコメント コメント数 1
> makedir.asm(13) : error A2008: syntax error : ah
> MKDIR(2): Macro Called From
> makedir.asm(13): Main Line Code
13行目で文法エラーになってますね。
最初、MKDIR と mkdir の違いかと思ったんですが、よく見たら
> MKDIR MACRO PATH ;ディレクトリの作成
> MOV DX,OFFSET PATH
> MOVE AH,39H ; ★ここは MOV でないの?
> INT 21H
> ENDM
★ の部分は合っているんでしょうか。MOVE というマクロは見当たらないようですが。
- No.1924 -
このTreeへ
コメント元:1919 へ
[リストへもどる]
pre
(1915)
1926:
きゃーーーー、makedir.com!!!
投稿者:
文太
2006/12/27(水) 17:17
1924 番 Konno さんへのコメント コメント数 3
C:\WORK2>Command.com /cDir
ディレクトリは C:\WORK2
. <DIR> 06-12-27 0:20
.. <DIR> 06-12-27 0:20
EXE2COM EXE 14699 88-03-08 20:42
LLD EXE 27417 93-02-08 17:43
MAKEDIR ASM 380 06-12-27 10:47
MAKEDIR COM 97 06-12-27 11:20
MAKEDIR EXE 865 06-12-27 10:51
MAKEDIR OBJ 189 06-12-27 10:49
ML ERR 9687 01-07-22 4:31
ML EXE 372736 99-03-29 16:45
STDIO H 2267 06-12-27 2:52
11 個 428337 バイトのファイルがあります.
965606400 バイトが使用可能です.
----------
MAKEDIR ASM 380 06-12-27 10:47 ;手で書くべし
STDIO H 2267 06-12-27 2:52 ;写すべし
ML EXE 372736 99-03-29 16:45 ;MASM6
ML ERR 9687 01-07-22 4:31 ;MASM6
MAKEDIR OBJ 189 06-12-27 10:49 ;おお
----------
LLD EXE 27417 93-02-08 17:43 ;試食版
MAKEDIR OBJ 189 06-12-27 10:49 ;「おお」な奴
MAKEDIR EXE 865 06-12-27 10:51 ;うは
----------
EXE2COM EXE 14699 88-03-08 20:42 ;(*)
MAKEDIR EXE 865 06-12-27 10:51 ;「うは」な奴
MAKEDIR COM 97 06-12-27 11:20 ;きゃー
----------
C:\WORK2>makedir
Directory name ? abcde
C:\WORK2>Command.com /cDir
ディレクトリは C:\WORK2
ABCDE <DIR> 06-12-27 11:35
----------
としきさん、金野さん、たいへんにご迷惑をおかけしてしまいました。お陰様
で、できました! MOVE の E ですね。「13行目」って言ってもらってるのに
気づかないタコですいませんでした。
試食版でアセンブルできなかった原因については、調べられるだけ調べてみま
す。できるかな?
ふう。 生まれて初めてのアセンブル。お二人それから多くの先人、shadow さ
んも、皆さんのお陰で、畏れ多くも com ファイルを作れてしまうなんて。(*^。^*)
ひたすらに多謝でありまする。サンクスです。
上を見ていただければだいたい分かると思いますが、簡単なまとめ。
アセンブラ ML.exe (in MASM6)
リンカ LLD.exe (in 試食版)
exe2bin EXE2COM.exe これは、
http://hp.vector.co.jp/authors/VA007890/dos/language.html
より。
EXE2COM 1.04 By Chris Dunford/Cove Software というもの。
(simtel?)からのDLがどうしてもうまくいかなかった。
さて、リストファイルはどうやったら出てくるのでしょうか? それがないと
マシン語マクロにたどり着けないのですが…。これがそもそもの目的…。どっか
でなんかのオプション付けるだけのはずなのですが…。
さくっと分かるかたは、どうかお教えください。m(__)m
- No.1926 -
このTreeへ
コメント元:1924 へ
[リストへもどる]
pre
(1915)
1927:
Re: きゃーーーー、makedir.com!!!
投稿者:
としき
2006/12/27(水) 19:47
参照先:http://toshiki.la.coocan.jp/
1926 番 文太 さんへのコメント コメント数 1
> さて、リストファイルはどうやったら出てくるのでしょうか? それがないと
> マシン語マクロにたどり着けないのですが…。これがそもそもの目的…。どっか
> でなんかのオプション付けるだけのはずなのですが…。
> さくっと分かるかたは、どうかお教えください。m(__)m
新しいバージョンはどうなっているのかわからないのですが。
古いバージョンの場合、コマンドラインで2番目か3番目に指定したファイルが
リストファイルだったような。ねこさんかだれかのアセンブラ講座にも書いてあ
った気がする。あとは、コマンドラインで全く何もファイルを指定せずにmasmを
起動すると、起動してからソースファイル名やリストファイル名の入力を求めて
きたのではなかったかな。
- No.1927 -
このTreeへ
コメント元:1926 へ
[リストへもどる]
pre
(1915)
1928:
Re^2: きゃーーーー、makedir.com!!!
投稿者:
文太
2006/12/27(水) 21:59
1927 番 としき さんへのコメント コメント数 2
としきさん
その後のフォローまで、ひたすらにm(__)mです。
たぶん以下の「/Flmd.lst」というので出ました。リストの中には、ちょっと、
この R 何? というのもありましたが、それ以外は概ねそれっぽい16進数の
羅列が出て、君だよ、君だよ、会いたかったのは、と、うふっ、とかしました。
(もちろん、これは本物の実行ファイルなので、そのままVzマクロに入れられ
るわけないのですが)。でも、とりあえず出たようで、ぬほほほほ状態です。
たぶん「機械語マクロの作り方」は、93年の S.KIN さんのものがそれでし
ょうね。Emmett さんの「マシン語勉強会」が98年です。後者を読みすすめて
ますが、セグメントのところで…。抽象的には分かってるような気がしてるのだ
けど、現実的には??? vmap.doc とかまた眺めてみようと思ってます。
あ、リストファイルの出し方についての記述には、まだ出会ってません。
飽きたら、また何かアセンブルしてやります、はい! 何しろ元気が出る。
せっかくstdio.hを打ったのだし。あと5つくらいあるんだよねぇ〜。
あ、この.hって何の略だかご存じですか?
さて、常駐アプリまであと何年? まだ言ってる…。
清十郎さんとこのサンプルはCでしたしねぇ。
C:\WORK2>ml /?
ML [ /options ] filelist [ /link linkoptions ]
/AT Enable tiny model (.COM file) /nologo Suppress copyright message
/Bl<linker> Use alternate linker /Sa Maximize source listing
/c Assemble without linking /Sc Generate timings in listing
/Cp Preserve case of user identifiers /Sf Generate first pass listing
/Cu Map all identifiers to upper case /Sl<width> Set line width
/Cx Preserve case in publics, externs /Sn Suppress symbol-table listing
/coff generate COFF format object file /Sp<length> Set page length
/D<name>[=text] Define text macro /Ss<string> Set subtitle
/EP Output preprocessed listing to stdout /St<string> Set title
/F <hex> Set stack size (bytes) /Sx List false conditionals
/Fe<file> Name executable /Ta<file> Assemble non-.ASM file
/Fl[file] Generate listing ★ /w Same as /W0 /WX
/Fm[file] Generate map /WX Treat warnings as errors
/Fo<file> Name object file /W<number> Set warning level
/FPi Generate 80x87 emulator encoding /X Ignore INCLUDE environment path
/Fr[file] Generate limited browser info /Zd Add line number debug info
/FR[file] Generate full browser info /Zf Make all symbols public
/G<c|d|z> Use Pascal, C, or Stdcall calls /Zi Add symbolic debug info
/H<number> Set max external name length /Zm Enable MASM 5.10 compatibility
/I<name> Add include path /Zp[n] Set structure alignment
/link <linker options and libraries> /Zs Perform syntax check only
----------
翻訳なんかできっこありません。ほとんどマシン語です(笑)。
たとえば"browser info"って、IE、firefox?とかなる(爆)。
なんか、.doc or .manにご託が多くて。なんであんなにおしゃべりなんだ???
- No.1928 -
このTreeへ
コメント元:1927 へ
[リストへもどる]
pre
(1915)
1929:
リストファイルの作り方情報追加
投稿者:
文太
2006/12/27(水) 23:14
1928 番 文太 さんへのコメント
ま、細かくこだわるほどのことではないのですが。その後、
DC(15) 98/05/22 #10274 Emmettさんの「ASM(14) アセンブラを使う」
で、LASMの例が出ているのを発見しました。ただ、makedir.com でさえ
100行を越えているのですね(実行ファイルだから仕方ないのでしょうが)。
LASM体験版で試したら「体験版では…」とエラーメッセージ。 また、
arrowsmith も紹介されているのですが、MASM3.0 相当だそうで、結局(どんな
ところで転ぶのかまったく分かりませんが)MASM6 の ml.exe が、よいみたい
ですね。オプション表にあったように、5.1 コンパチのオプションもあるよう
でしたから。
Vzのマシン語ルーチンに関していえば(本筋にまともに沿えば)、LASM
でいいのでしょうけど。でも、.comって、作ってみたいじゃない。?!
ちゃんと書いてなかったから、ここで。
「ったく夜遅くまで文太の野郎は」と思いつつ(きっと)、「起きたらすぐやれよ」
的に(ほんと?)、朝早くから即レスくださった金野さんととしきさんに感謝です〜。
のだめるな! 普通に感謝しろ、普通に! 『のだめ』はほとんど見られなかったの
ですが。うふ。
- No.1929 -
このTreeへ
コメント元:1928 へ
[リストへもどる]
pre
(1915)
1930:
Re^3: きゃーーーー、makedir.com!!!
投稿者:
としき
2006/12/27(水) 23:51
参照先:http://toshiki.la.coocan.jp/
1928 番 文太 さんへのコメント コメント数 1
> たぶん以下の「/Flmd.lst」というので出ました。リストの中には、ちょっと、
> この R 何? というのもありましたが、それ以外は概ねそれっぽい16進数の
R ってなんだっけ。
リロケータブルを意味していたんだったっけかな。
手元で確認せずに記憶に頼って書いているので、あんまりあてにしないでね。
> ょうね。Emmett さんの「マシン語勉強会」が98年です。後者を読みすすめて
あ、たぶんこちらだと思う。
こっちに書いてありませんでしたか?
そういえば、これ、手元にあるはずなんだけど見つからない。
どこのディレクトリにしまい込んだんだろう。
ライブラリ登録時のファイル名がおわかりでしたら教えてください。
> あ、この.hって何の略だかご存じですか?
これは知ってる。ヘッダファイルの略です。
なぜヘッダファイルというのかは知らないけど。
> 清十郎さんとこのサンプルはCでしたしねぇ。
え、え、え?
清十郎先生のところに、Cで書かれた常駐ソフトのサンプルが有りました?
私、そういうのでぜひ勉強したいんですよ。
- No.1930 -
このTreeへ
コメント元:1928 へ
[リストへもどる]
pre
(1915)
1931:
Re^4: きゃーーーー、makedir.com!!!
投稿者:
文太
2006/12/28(木) 00:22
1930 番 としき さんへのコメント コメント数 1
としきさん
> R ってなんだっけ。
> リロケータブルを意味していたんだったっけかな。
いちおう、そのように記憶させていただきます。マシン語サブルーチンとして
は明らかに邪魔なものみたいな印象でしたが。直値がリストされてたわけではあ
るまい…。
> ライブラリ登録時のファイル名がおわかりでしたら教えてください。
これは無理です。確か、1階に纏めたものが
> 70 98/05/29 40573 119 VZ_ASM01.LZH Emmettのマシン語勉強会(1)
というように上がっていたはずです。(2)がどこまでかは分かりません。
> 04773/04781 JCF05366 Emmett ASM(1): マシン語勉強会を再開します
> (15) 97/02/10 23:17
>
> 10274/10292 JCF05366 Emmett ASM(14) アセンブラを使う (長文御免)
> (15) 98/05/22 11:42 コメント数:1
これぐらいの長丁場。blog使ってね。
すごいよ、過去ログ。Vzerの資産。+住所録。す、すごい。
> > あ、この.hって何の略だかご存じですか?
> これは知ってる。ヘッダファイルの略です。
> なぜヘッダファイルというのかは知らないけど。
ありがとうございました。ナツメ本にもそう書かれていました。.h==ヘッダ
とは書いてくれてなかったけど。
> > 清十郎さんとこのサンプルはCでしたしねぇ。
> 清十郎先生のところに、Cで書かれた常駐ソフトのサンプルが有りました?
> 私、そういうのでぜひ勉強したいんですよ。
ぜひぜひ勉強してください。m(__)m 残念なことに単に EMS を操作するだけで、
常駐の部分はなかったようですが。
http://www.geocities.co.jp/SiliconValley-Cupertino/9762/DOWNLOAD/index.html
「常駐デバイスドライバの…」をどっかで見たんだよなぁ。またまた。
本だけ、やたら持ってたりして…。
- No.1931 -
このTreeへ
コメント元:1930 へ
[リストへもどる]
pre
(1915)
1932:
Re^5: きゃーーーー、makedir.com!!!
投稿者:
としき
2006/12/28(木) 01:11
参照先:http://toshiki.la.coocan.jp/
1931 番 文太 さんへのコメント コメント数 1
> > 70 98/05/29 40573 119 VZ_ASM01.LZH Emmettのマシン語勉強会(1)
これこれ。
VZ_ASM01.LZHで探したらすぐに見つかりました。
ファイル名はこれであっていたようです。
ただ、これに、masmのリストファイルの話が載っていたと思ったのですが、勘違
いだったようですね。う〜ん、誰か他の人の資料とこんがらがっているみたい。
> ぜひぜひ勉強してください。m(__)m 残念なことに単に EMS を操作するだけで、
> 常駐の部分はなかったようですが。
あ、やっぱり。じゃ、要らない。
- No.1932 -
このTreeへ
コメント元:1931 へ
[リストへもどる]
pre
(1915)
1936:
ああ、残念。
投稿者:
文太
2006/12/28(木) 12:25
1932 番 としき さんへのコメント
- No.1936 -
このTreeへ
コメント元:1932 へ
[リストへもどる]
pre
(1915)
1933:
Re: きゃーーーー、makedir.com!!!
投稿者:
YASAT
2006/12/28(木) 01:13
1926 番 文太 さんへのコメント コメント数 1
リストファイル出さなくても高橋さんのcom2&i.defで一発ですよ。
- No.1933 -
このTreeへ
コメント元:1926 へ
[リストへもどる]
pre
(1915)
1935:
com2&i.def
投稿者:
文太
2006/12/28(木) 12:22
1933 番 YASAT さんへのコメント コメント数 1
YASATさん
ああ、この辺、完全に読み飛ばしてますが、今なら少し日本語みたいに
感じられるのだろうか…。
ish部屋かと思ったら、こちらでいいのしょうか。お教えください。m(__)m
> 10096/10096 xxxxxxxx 高橋 洋光 RE:あせんぶら
> (15) 98/05/05 22:56 10095へのコメント
;*********************************
; .com .exe <--> &i()
;*********************************
- No.1935 -
このTreeへ
コメント元:1933 へ
[リストへもどる]
pre
(1915)
1937:
Re: com2&i.def
投稿者:
YASAT
2006/12/29(金) 01:48
1935 番 文太 さんへのコメント コメント数 1
そうです。これはishにはなってませんでしたね。
これもEMS勉強のいい題材ですよ(^^)
- No.1937 -
このTreeへ
コメント元:1935 へ
[リストへもどる]
pre
(1915)
1941:
Re^2: com2&i.def
投稿者:
文太
2006/12/29(金) 11:25
1937 番 YASAT さんへのコメント コメント数 1
YASATさん
> そうです。これはishにはなってませんでしたね。
> これもEMS勉強のいい題材ですよ(^^)
うーん、この手のドックのないマクロ、マシン語方面マクロ、あるいはこの頃
の壮絶なマクロを書いていた高橋さん後期の書き込み、ぜんぶすっとばしてきて
しまって。
会議室でも会話が成立してなかったように思ってた。YASAT さん、解読までし
てたんだ。うーん。EMS を1ページ、バッファ用に確保するルーチン、書いてく
れない? EMS 活用講座より楽かな、と思って。駄目?
僕は現実的には、高橋後期の発言を歴史学者のごとく整理するところから入る
のかなぁ…。sabrina 発表、何年何月とか。うーん。何するのかも分からないマ
クロに???
リスト取りだし、逆汗、ダンプは、ごくごく普通の方法でできるようになりま
した。で、逃げる? Symdeb, Exdeb での逆汗って、常駐Vzだとまだ駄目だっ
たんですね。これは悩みました。
- No.1941 -
このTreeへ
コメント元:1937 へ
[リストへもどる]
pre
(1915)
1942:
Re^3: com2&i.def
投稿者:
YASAT
2006/12/29(金) 23:02
1941 番 文太 さんへのコメント コメント数 1
解読してないですよ。てかできない(^^; 必要なとこだけ読むんです。
EMSの確保は簡単なんですよ。問題はどう使うかで。異セグですし。
sabrinaはドキュメントにあるように&iの中身を逆アセしながらトレースしてくれます。
マシン語マクロ作りがだんぜん楽になります。
VZ常駐で逆アセとはどのようなケースでしょうか?
- No.1942 -
このTreeへ
コメント元:1941 へ
[リストへもどる]
pre
(1915)
1943:
VzでEMS操作?
投稿者:
文太
2006/12/30(土) 01:03
1942 番 YASAT さんへのコメント コメント数 2
YASATさん
> 解読してないですよ。てかできない(^^; 必要なとこだけ読むんです。
必要なところが判断できず、判断できても読めない…。
今、mem_dump.def by 龍之介氏 を「必要なとこだけ」(割とピンポイントに
分かっているのだけど) 読もうとして、あかん、となってしまった。多いなぁ。
まさしく異セグがらみ。mem_dumpは MS-DOS のメモリー全領域(EMS は別でしょ
うね)をダンプできるのです。直値でセグメントアドレスを与えられる。なので…。
(これ、使ってないんですよ。dump.comで足りるのだから)
うーん、もうちょっともがいたら、泣きつきますね。dz[=??????
EMSより、直値で指定できる1KBのほうが楽なはずなので…。
この転送だけにマシン語を使う価値があるはずで…。
はずで…、ばっかり。
> EMSの確保は簡単なんですよ。問題はどう使うかで。異セグですし。
この辺は、もう魔界ですよん。だから訊いたじゃなーい。壊されずに、確保し
てデータにアクセスできますかって。
異セグっていっても、ころころ動いてそうだから、それまで操作するとなると
…。よく分かってないのですが。
> sabrinaはドキュメントにあるように&iの中身を逆アセしながらトレースしてくれます。
これはドックがあるんだ。でも、だめだめ〜。
ねこさんの「EMS講座」が93年12月にあるみたいですね。さっき発見したけど、
また、メモリーダンプの話。まだ見れてません。
> マシン語マクロ作りがだんぜん楽になります。
うーん。何と言えばいいか。
> VZ常駐で逆アセとはどのようなケースでしょうか?
常駐で、
>Symdeb < xxx.txt > yyy.txt
とするようなマクロが駄目。マクロでなく、Symdebが動かない。
>type xxx.txt
e 100 16進マシン語コード
u
q
みたいなの。けっこう話題になってました。えむしさんとJUNさんがやりと
りしてて。SW オプションがらみもあって、たぶん、XP環境では回避策がない
はず。SW4 で回避できるのかな(XPでなければ、これでOKだと思う)。FV
Cですでに話題になっていたと思う。「そんなの全部チェックしたはずなんだけ
どなぁ」(c) c.mos。
もっとポインタを、ということなら調べますよ。
僕は常駐はずして、バッチにしてしのぐことに。そう使うわけでもないし。
まだハングさせてないけど、すぐ来るんだろうなぁ…。この点、Windowsという
よりXPは楽。来るなら、来い。
- No.1943 -
このTreeへ
コメント元:1942 へ
[リストへもどる]
pre
(1915)
1944:
Re: VzでEMS操作?
投稿者:
YASAT
2006/12/30(土) 21:48
1943 番 文太 さんへのコメント コメント数 1
うーん。マクロ忘れちゃってるからなあ。
&Ea(1) &Em(r)でEMS1ページ確保、マッピングしてrにセグメントが入ってくるのであとはごにょごにょ。
他でEMS使われるかもしれないからアクセス前にはかならず&Emでマッピング。そんな感じ。
やはり、ねこさんの講座がわかりやすいですよ。
> 常駐で、
> >Symdeb < xxx.txt > yyy.txt
> とするようなマクロが駄目。マクロでなく、Symdebが動かない。
なるほど。そういう使いかたはしていませんでしたので。
手作業でコマンドラインに降りてならできますよね?
- No.1944 -
このTreeへ
コメント元:1943 へ
[リストへもどる]
pre
(1915)
1947:
Re^2: VzでEMS操作?
投稿者:
文太
2006/12/31(日) 01:52
1944 番 YASAT さんへのコメント コメント数 1
YASATさん
> やはり、ねこさんの講座がわかりやすいですよ。
そのように見えるだけは見えます。ただ保存バッファではなさそうですよね。
すぐアイディアは出た。でも、そのような使い方が発展しなかったということ、
高橋さんしか使わなかったということ、これらからぐらいからしか読めないので
すよ、僕には。
> 手作業でコマンドラインに降りてならできますよね?
うーん。手で16進コードを打ち込むということですか?
まだ3回しか逆アセなんてしたことないんですよ。それもやり方を確かめるた
め。必要がないなら常駐外したりしたくないのですが、でも…。
「テキスト処理作家はどこへ行った」的な気持ちも大きくなってますね、だん
だん。アセンブラはアセンブラ=遊び。実用は実用。Vzは遊びの道具ではある
けど、主に実用。キーボード・マクロですよ。なんだ、急に?
- No.1947 -
このTreeへ
コメント元:1944 へ
[リストへもどる]
pre
(1915)
1955:
Re^3: VzでEMS操作?
投稿者:
YASAT
2007/01/02(火) 00:21
1947 番 文太 さんへのコメント コメント数 1
> うーん。手で16進コードを打ち込むということですか?
そうです。マクロじゃなければリダイレクトする方法も通ると思うのですが。
- No.1955 -
このTreeへ
コメント元:1947 へ
[リストへもどる]
pre
(1915)
1956:
Re^4: VzでEMS操作?
投稿者:
文太
2007/01/02(火) 00:44
1955 番 YASAT さんへのコメント コメント数 1
--- test.txt ---
e 100 8E,C0,8E,DB,A4,E2,FD,C3
u
q
----------------
C:\>Symdeb <test.txt
Microsoft Symbolic Debug Utility
Version 3.01
(C)Copyright Microsoft Corp 1984, 1985
Processor is [80286]
-exit 100 8E,C0,8E,DB,A4,E2,FD,C3
^ Error
sw3ですが、常駐だと上のようになってしまうのです。
手で打つなら、常駐外すほうが早いと思いますが?
非常駐で、
>Symdeb <test.txt >test2.txt(以下はこの中身)
Microsoft Symbolic Debug Utility
Version 3.01
(C)Copyright Microsoft Corp 1984, 1985
Processor is [80286]
-e 100 8E,C0,8E,DB,A4,E2,FD,C3
-u
2174:0100 8EC0 MOV ES,AX
2174:0102 8EDB MOV DS,BX
2174:0104 A4 MOVSB
2174:0105 E2FD LOOP 0104
2174:0107 C3 RET
略
これが正しいのです。
- No.1956 -
このTreeへ
コメント元:1955 へ
[リストへもどる]
pre
(1915)
1957:
sw4でsymdebは?
投稿者:
Konno
2007/01/02(火) 01:51
1956 番 文太 さんへのコメント コメント数 1
文太さん、新年から飛ばしてますね。
今年もよろしくお願いします。
> sw3ですが、常駐だと上のようになってしまうのです。
> 手で打つなら、常駐外すほうが早いと思いますが?
sw4 で常駐しても駄目なんでしょうか。sw3の常駐で駄目なのは仕様なので。
私はSYMDEB を持ってないので試せないんですよね。でもXPにはDEBUG.EXEが
入ってましたね。
もしかして、e.bat かエイリアスで e で exit とか無いですか?
私は誤操作防止の為 ee.bat でEXIT してますが。
- No.1957 -
このTreeへ
コメント元:1956 へ
[リストへもどる]
pre
(1915)
1960:
Re: sw4でsymdebは?
投稿者:
文太
2007/01/02(火) 14:22
1957 番 Konno さんへのコメント コメント数 1
金野さん
開けまして…。(たしか言ってはいけないことになっているようで…。)
とにかく今年も宜しくお願いいたします。
> sw4 で常駐しても駄目なんでしょうか。sw3の常駐で駄目なのは仕様なので。
> 私はSYMDEB を持ってないので試せないんですよね。でもXPにはDEBUG.EXEが
> 入ってましたね。
symdeb と debug の違いも把握してませんで…。
sw4 を僕が止めたのは、以下のような経緯だったようなのですが、しばらく4
設定でやってみます。メモリの分断はまだ確認されてませんが、まだ使用時間が
短すぎますので…。
> もしかして、e.bat かエイリアスで e で exit とか無いですか?
> 私は誤操作防止の為 ee.bat でEXIT してますが。
ビンゴー!!! m(__)m エイリアス、eeに変更させてもらいました。m(__)m
ですが、常駐でマクロは、やはり駄目なようです。常駐から手でコマンドライ
ンに降りてバッチは問題ないようですが。常駐を外す手間が一つ省けました。こ
こまでが限界でしょうか。
> 09670/09921 KFR04247 XXXX XXXX XPやNTで SW3とSW4の違い
> (13) 03/08/17 23:26 09666へのコメント
>
> > うーん、メモリのこともまた、ちっとも分かってない奴なんですが、金野さん
> >のところとはだいぶ違う感じみたいです。分断はあんまりされてないみたいだけ
> >ど、あれ、「command.com がいっぱい」(出典はなんだっけ、これ?)みたいに
>
> これは理由がわかりました。私は SW4 で常駐してたんですが、SW3 にしたら
> 分断はなくなりました。ただ、VZ16.DOC には
> > スワップモード「SW4」
> >-----------------------------
> > 従来、「SW3」で常駐した時、SYMDEB.EXEを起動すると、SYMDEBの管理メモリの
> >先頭部に、VZ.COMをロードしてしまいました。
> >オプション「SW4」を指定すると、アプリケーション上のコマンドラインのフックを
> >抑止しますので、この不具合を解消できます。
> とあるのでいままで SW4 だったのですが、しばらく SW3 でやってみます。
- No.1960 -
このTreeへ
コメント元:1957 へ
[リストへもどる]
pre
(1915)
1961:
Re^2: sw4でsymdebは?
投稿者:
Konno
2007/01/02(火) 21:51
1960 番 文太 さんへのコメント コメント数 1
> 開けまして…。(たしか言ってはいけないことになっているようで…。)
> とにかく今年も宜しくお願いいたします。
??? もしかして「携帯でのあけおめ・メールは控えましょう」という話ですか。
それは携帯故の制限だと思いましたが。PCでのメールや書き込みが殺到したとしても
インターネット全体が落ちることは無いでしょう。なにせ今は動画コンテンツで常に
大量のデータが流れていますから。2chあたりはともかく、うちなどはまったく影響
無いと思います。 ・・・というのは置いといて、
> symdeb と debug の違いも把握してませんで…。
ほとんど違わないような気もしますが、何せ持ってないもので。
> sw4 を僕が止めたのは、以下のような経緯だったようなのですが、しばらく4
> 設定でやってみます。メモリの分断はまだ確認されてませんが、まだ使用時間が
> 短すぎますので…。
VMAP で残りメモリが違うと思いますが、私も今は全然sw4で起動しないもので。
> ビンゴー!!! m(__)m エイリアス、eeに変更させてもらいました。m(__)m
あ、やっぱり。(^^; e などの一文字だと、コマンドラインをフックするアプリの
オプションで誤動作してしまうと思いました。DICDOS とか、ソート系も?
もしかしたら勘違いかもしれませんが。
> ですが、常駐でマクロは、やはり駄目なようです。常駐から手でコマンドライ
> ンに降りてバッチは問題ないようですが。常駐を外す手間が一つ省けました。こ
> こまでが限界でしょうか。
常駐Vzからバッチで動作するなら、マクロでも出来そうな気がしますが。マクロが
非常駐用になっているという事は無いですかねぇ。
この常駐はsw4なのでしょうか。
- No.1961 -
このTreeへ
コメント元:1960 へ
[リストへもどる]
pre
(1915)
1962:
Re^3: sw4でsymdebは?
投稿者:
文太
2007/01/02(火) 22:33
1961 番 Konno さんへのコメント コメント数 1
金野さん
> > 開けまして…。(たしか言ってはいけないことになっているようで…。)
> ??? もしかして「携帯でのあけおめ・メールは控えましょう」という話ですか。
すいません、話をつまらなく難しくしてしまって。喪中(開け)なのです。
> VMAP で残りメモリが違うと思いますが、私も今は全然sw4で起動しないもので。
ちょっと観察してみます。sw4の文太です。
> あ、やっぱり。(^^; e などの一文字だと、コマンドラインをフックするアプリの
> オプションで誤動作してしまうと思いました。DICDOS とか、ソート系も?
> もしかしたら勘違いかもしれませんが。
完璧でした。マクロからSymdebに渡したつもりのコマンドがエイリアス展開
されておりました。気づかないのもタコだなぁ…。m(__)m
> 常駐Vzからバッチで動作するなら、マクロでも出来そうな気がしますが。マクロが
> 非常駐用になっているという事は無いですかねぇ。
> この常駐はsw4なのでしょうか。
はい、たぶん非常駐用なのか??? オリジナル:JUNさんのマクロなので
すが、Symdeb への入力と出力が同じファイルになっていて、そこを変更し、sw4
にしたらきちんと動作するようになりました。m(__)m
はい、sw4 の文太とお呼びください。symdeb ですよ。アセンブルですよ。文
太さん、こわい。
さぁ、memory.hも写したぞい!(謎)
- No.1962 -
このTreeへ
コメント元:1961 へ
[リストへもどる]
pre
(1915)
1965:
Re^4: sw4でsymdebは?
投稿者:
Konno
2007/01/03(水) 02:59
1962 番 文太 さんへのコメント コメント数 1
> すいません、話をつまらなく難しくしてしまって。喪中(開け)なのです。
文太さん、気が付かずにすみませんでした。そういえば以前それらしきお話を
見かけたような。ご冥福をお祈りします。
> はい、たぶん非常駐用なのか??? オリジナル:JUNさんのマクロなので
> すが、Symdeb への入力と出力が同じファイルになっていて、そこを変更し、sw4
> にしたらきちんと動作するようになりました。m(__)m
ではsw4でもマクロの入出力ファイルを変えれば問題ないわけですね。よかった。
お手間を取らせてしまって申し訳ないです。
- No.1965 -
このTreeへ
コメント元:1962 へ
[リストへもどる]
pre
(1915)
1971:
Re^5: sw4でsymdebは?
投稿者:
文太
2007/01/03(水) 13:25
1965 番 Konno さんへのコメント コメント数 1
> ではsw4でもマクロの入出力ファイルを変えれば問題ないわけですね。よかった。
> お手間を取らせてしまって申し訳ないです。
そんな、そんな。いえいえ、助かりました。一度は諦めた J_unasm.def(敬意
を表して、勝手に命名)が復活しましたので。原型をほとんど留めていませんが、
それでもああいう風に逆アセができることを知らなかったので(それ以外の方法
ももちろん知らないわけですが)、大きかったのです。それも今やマクロからや
れる!
メモリー分断はまだ観察できずにいますが、でも、どこに地雷があるかはいち
おう頭に入っていますので、泣いたり叫いたりせず、対処できます。過去の金野
さん宛ても含めて、感謝です。自分と金野さんが会話してるとまでは、グレップ
するまで思ってなかった。そういえば、金野さんが昔言ってたよなぁ程度で。あ
りがたき過去ログ。ありがたき金野さん。m(__)m
- No.1971 -
このTreeへ
コメント元:1965 へ
[リストへもどる]
pre
(1915)
1980:
メモリの分断ってこういうことですか?
投稿者:
文太
2007/01/04(木) 00:28
1971 番 文太 さんへのコメント コメント数 1
14BD <-- 1 128768 vz 1.60Q -z 1B 21 29
342E 3612 1 1408 command
3487 <-- 1 6304 kb16 JP,932,C:\WINDOWS\sy 09 2F
3612 <-- 1 3856 command 22 23 24
3704 14BD 1 83744 vz
4B77-9FFF 1 346224 <free>
----- EMS ver4.0 (frame: CF00h) ----- ----- XMS ver2.00 -----
やばいんですか、これ? なんか不健康な気分。
- No.1980 -
このTreeへ
コメント元:1971 へ
[リストへもどる]
pre
(1915)
1984:
Re: メモリの分断ってこういうことですか?
投稿者:
Konno
2007/01/04(木) 02:43
1980 番 文太 さんへのコメント コメント数 1
> やばいんですか、これ? なんか不健康な気分。
やばいかどうかはわからないですが、大きめなプログラムが動かなくなりますよね。
本来 sw4 は sw3 よりも問題の無い指定のはずなんですが、XPでAUTOEXEC.NTで常駐
するとこうなってしまいます。
sw4 指定してメモリの分断を避けたいなら、AUTOEXEC.NTではVZを常駐指定せず、
DOS画面になってから手動でVZを常駐させるしかないようです。
実は sw3 でもメモリの分断は起こっているんですが、常駐部分だけの分断なので
空きメモリに影響しないというだけなんですね。
これだけの制限の中でSYMDEB を使うとすると、結局非常駐VZになるかもしれない
ですね。
- No.1984 -
このTreeへ
コメント元:1980 へ
[リストへもどる]
pre
(1915)
1986:
Re^2: メモリの分断ってこういうことですか?
投稿者:
文太
2007/01/04(木) 16:11
1984 番 Konno さんへのコメント
金野さん、
お教えありがとうございました。
> これだけの制限の中でSYMDEB を使うとすると、結局非常駐VZになるかもしれない
> ですね。
うー(我が侭言うなよ)これを視野に入れつつ
> sw4 指定してメモリの分断を避けたいなら、AUTOEXEC.NTではVZを常駐指定せず、
> DOS画面になってから手動でVZを常駐させるしかないようです。
この作戦で様子をみてみます。
- No.1986 -
このTreeへ
コメント元:1984 へ
[リストへもどる]
pre
(1915)
1950:
Re: VzでEMS操作?
投稿者:
としき
2006/12/31(日) 19:55
参照先:http://toshiki.la.coocan.jp/
1943 番 文太 さんへのコメント コメント数 1
> ねこさんの「EMS講座」が93年12月にあるみたいですね。さっき発見したけど、
この講座というか資料、いいですね。わかりやすくて。
- No.1950 -
このTreeへ
コメント元:1943 へ
[リストへもどる]
pre
(1915)
1951:
EMS!
投稿者:
文太
2006/12/31(日) 23:45
1950 番 としき さんへのコメント
EMS!
安全の確認には、高橋さんのemap.defを(書き込むので改造推奨)。
皆様、よいお年を。
=== EMSsave.def ===;really alot from Neko 93/12/12, <nifty:FGALPK/MES/13/1163>
#if0
高橋版以降を使用のこと(書式制御に変数を使用)。
実用するには2文字変数なんかではなく、動かないバッファでハンドルや
セグメントアドレスの情報を確保のこと。
(pq..145とか。使いであるなぁ、あそこ。いたちごっこだもん。動かない
バッファについての情報を確保するための動かないバッファとか)
#endif
* Macro
50 ^^ "EMS_save"
?.
a="abcdefghijkelmnopqrstuvwxyz0123456789", ;<a>
&Sn(a) l=r, ;<l>
&Ea(1) aa=r, ;EMSアロケーション EMS handle <aa>
&Em(aa) bb=r, ;EMSマッピング segment <bb>
&00
&m("strings <aa> written on EMS; handle %d",aa) .
0: ;saving routine
i-,p-,
:a (i<l)? {x=a.i, dz=bb, p.i=x, dz=gz, i++, >a } ;<x,q,>
51 ^\ "EMS_read"
?.
(ks&1)? >a ;Close EMS page by shift
&Em(aa) ;EMSマッピング
&00
&m("%*s, read from EMS",l,pr) .
:a ;--- Del EMS buffer ---
&Ef(aa) ;EMS開放
&m("EMS buffer closed. Handle %d",aa)
00: ;reading routine
i-,p-,
:b (i<l)? {dz=bb, x=p.i, dz=gz, pr.i=x, i++, >b }
*
- No.1951 -
このTreeへ
コメント元:1950 へ
[リストへもどる]
pre
(1915)
1938:
MASM6の所在
投稿者:
Konno
2006/12/29(金) 07:32
1926 番 文太 さんへのコメント コメント数 1
文太さん、まずはうまくいったようで。
怒涛の書き込みに圧倒されてレスが遅れました。(^^;
> 上を見ていただければだいたい分かると思いますが、簡単なまとめ。
> アセンブラ ML.exe (in MASM6)
これは、MASM32 のサイトから落としたんですよね。
http://www.masm32.com/
現在はV9になっているようですが、一応後に続く人の為に確認で。
#自分の勉強法は参考にはならないかもしれませんが、書き出して見ますね。
- No.1938 -
このTreeへ
コメント元:1926 へ
[リストへもどる]
pre
(1915)
1940:
Re: MASM6の所在
投稿者:
文太
2006/12/29(金) 11:13
1938 番 Konno さんへのコメント コメント数 1
- No.1940 -
このTreeへ
コメント元:1938 へ
[リストへもどる]
pre
(1915)
1946:
Re^2: MASM6の所在
投稿者:
Konno
2006/12/31(日) 01:24
1940 番 文太 さんへのコメント コメント数 1
> はい、そうです。最新版だと思います。落として、言われるがままにインスト
> ールして、そこから、ml.exe, ml.err を取り出しただけです。その他の膨大な
> .hlp など、一切見ておりません。(^^;
なるほど、2つだけでいいと。φ(..; バキッ\(--;
> > 現在はV9になっているようですが、一応後に続く人の為に確認で。
> このヴァージョン確認はどうやって見れましたか?
ああ、いやぁ、ミラーサイトのタイトルに書いてあるし、ダウンしたファイル名にも
m32v9r.zip とあるので。
それで思い出したんですが、私はm32v82r.zipも持っていたんですね。全然使って
なかったわけです。(^^;
でも、ML.EXE はどちらも同じみたいですね。ML で実行すると、 Version 6.14.8444
と出ますね。コンソールには出ないけど。
> http://www5c.biglobe.ne.jp/~ecb/assembler/assembler00.html
> はすごくいいですね。ここでも、上のml.exeが推奨されていました。
これはいいですね。わかりやすいし、ソースを簡単に切り貼りできるので色々試せます。
私も勉強しなくては。ここの練習問題は私にはちょっと難しいし。(^^;
> 勉強法、簡単でいいですから、是非是非。
う〜ん、考えてみると私はろくに基礎を勉強してなかったんですよね。
まず目的があって、そのために必要なところだけ調べるというのが私のやり方なので
未だに基礎がちゃんと出来てないんですね。
- No.1946 -
このTreeへ
コメント元:1940 へ
[リストへもどる]
pre
(1915)
1949:
Re^3: MASM6の所在
投稿者:
文太
2006/12/31(日) 12:18
1946 番 Konno さんへのコメント
あ、ほんとだ。リストファイルにありました。
Microsoft (R) Macro Assembler Version 6.14.8444
やっぱ目的ですよね。でもそれが見つからない場合には、最初は書いて動くの
がただ楽しい。ディレクトリを作ってくれるだけでも、というのでもいいですよ
ね。
大掃除の合間をぬって。
- No.1949 -
このTreeへ
コメント元:1946 へ
[リストへもどる]
pre