記事閲覧

− 野ざらし言 −

6001 Re^5: c.mosさんの遊び?([ESC]0関連)

文太 2025/09/30(Tue) 20:36 [5999]へのコメント
めざらさん、konnoさん、お付き合い、そしてご教示、ありがとうございます。

c:\vzsrc\cmos\inst.asm 1153 (1.6 source)

;--- Scan follow key ---
;-->
; AL :prefix key No.
; DX :key code
;<--
; NC,AX :key code
; CY :error

scanpkey proc
	mov	ah,al
	add	ah,2
	rorm	ah,3
	lodsb
	cmp	al,'0'			; [ESC]0
	je	pkeyn
	call	toupper
	sub	al,40h
	jb	pkey_x
	cmp	al,1Fh
	ja	pkey_x
	add	al,ah
	clr	ah
	clc
	ret
pkey_x:	stc
	ret
pkeyn:	mov	al,INVALID
	ret
scanpkey endp

 「分かりました!」というわけではないけど、少し前進したみたいでうれしい。

 (1)c.mosさんは、^KA の ^K を prefix key, A を follow key と呼んでいる。
 「続くキー」というより「後のキー」のつもりなんだろう(と思う)
 (2)そうなんです、僕も ^K0-4 のマークで使われてるじゃん、数字キーを
を全部殺すことはできなかったんじゃん、なんて考えてました。
 (3)どうでもいい。pkeyn とか出てくると、僕はすぐ、そのPって何とか
思うのです。一度わかっても、忘れる、、、。ここでは、P = prefixですね。

 (4)もっとどうでもいい。僕は、inst.asmを外からグレップしようとしました。
ygrep.exeですが、とうぜん、デフォで正規表現オンです。[ESC]ってやったら、
あれま?! 何これ?! となりました。fgrepを使うべき場面でしたね。

関連記事一覧ツリー (▼ を押すとツリー全体を一括表示します)

- 5990.c.mosさんの遊び?([ESC]0関連.. - 文太 25/09/28-15:27

返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

おなまえ :
Eメール :
タイトル :
メッセージ: 通常モード(推奨)  整形モード(非推奨)  preモード(空白再現)
※ プログラムコード等を含まない場合は,できるだけ通常モードをご利用ください。

参照先 :
暗証キー: (英数字で8文字以内) プレビューなし


- 以下のフォームから自分の投稿記事を修正・削除することができます -

処理 記事No. 暗証キー