アセンブラ言語マクロシステム
msystem.zip
411KB。
マクロシステム
アーカイブ内の主なファイルの簡単な説明。
マクロ システム自体:
MSYSTEM.MAC
このファイルには実際のマクロ システムが含まれています。
MMACROS.MAC
このファイルには、追加の便利なマクロ定義が含まれています。
MBIOS.MAC
このファイルには、IBM-PC BIOS のマクロ定義が含まれています。
MDOS.MAC
このファイルには、IBM-PC DOS のマクロ定義が含まれています。
コニオ・マック
DIR.MAC
エラー.MAC
フロート.マック
IO.MAC
KBD.MAC
マスマック
MBIOS.MAC
MEM.MAC
マウス.MAC
STOV.MAC
STRING.MAC
SYS.MAC
マクロ システム自体:
CHOISE.M
クロックエム
コーダーM
カラー.M
カーソル.M
DBEDIT.M
INIT.M
キー・エム
メニューM
MKEYS.M
READ.M
REC.M
セイ・エム
スクロールM
ソートエム
サウンドエム
ウィンドウM
ドキュメンテーション:
MSYSTEM.DOC
これはマクロ システムのドキュメント ファイルです。
エクスタドキュメント
MMACROS.DOC
MMEM.DOC
OGLAV.DOC
読む.ドキュメント
タイトル.ドキュメント
*.ASM ファイル これらのファイルには以下が含まれます
システムへのインストール用
アセンブラエラーに注意してください
どのようなアプローチであっても -
アセンブラー自体はここからダウンロードできます
tasm25.zip
- 175KB。
たとえば、これは簡単なコードです
;
;
.MODEL 小
msystem.mac を含める
sys.macを含める
conio.mac を含める
Mouse.mac を含める
mem.mac を含める
kbd.macを含める
math.mac を含める
カーソル.m を含める
window.m を含める
color.m を含める
レクチャーを含む
dbedit.m を含める
Say.m を含める
read.m を含める
key.m を含める
mkeys.m を含める
MB.Mを含む
サイズコム = 20000+256
len_stack= 20000
len_vars = 20000
。コード
開始 開始,100h,_main,{
関数 mb_empty,,
mov SI、buf_A
memfill <32,@ DEBET_NAME,LEN_NAME>
memfill < 0,@ DEBET_QUAN,LEN_QUAN>
memfill <32,@ KREDIT_NAME,LEN_NAME>
memfill < 0,@ KREDIT_QUAN,LEN_QUAN>
終わり
func _pic,<バイト X,バイト Y>,,1,public
旧色 EQU [BP]-1
getcolor ,
mov SI、buf_A
setcolor
Sayxy
setcolor
<@DEBET_NAME、@f_name> と言ってください
setcolor
<@space,@f_s> と言います
setcolor
<@ DEBET_QUAN、@ f_quan> と言います
setcolor
<@space,@f_s> と言います
setcolor
<@space,@f_s> と言います
setcolor
<@ KREDIT_NAME、@ f_name> と言います
setcolor
<@space,@f_s> と言います
setcolor
<@ KREDIT_QUAN、@ f_quan> と言います
setcolor
<@space,@f_s> と言います
setcolor
終わり
func _fuser,<バイト モード,ワード RecCur>,,1,public
旧色 EQU [BP]-1
移動DI、1
mov AL、cs:mode
スイッチ AL、<0,1>
ケース 1 { ;
getcolor ,
setcolor
recount <@rec_A>,
Sayxy <35, 2,@ ii,@ f_w4>
recrecno <@rec_A>,
Sayxy <41, 2,@ ii,@ f_w4>
setcolor
ケース 2 {
mov retr_cho、TRUE
while {
mov retr_cho、FALSE
mkeys_to
mov AL、cs:key_AL
スイッチ AL、 {
ケース 1 {
mov AH、cs:key_AH
スイッチ AH、
ケース1;
,の挿入
ケース 2 ;
,を削除しています
ケース 3 ;
並べ替え、
ケース4;
ケース5;
デート、
ケース6;
メニュープル
移動DI、3
エンドケース
ケース 2 { ;
ケース 3 ;
、を入力する
ケース4;
移動完了、FALSE
movDI,0
エンドケース
終わります}
エンドケース
endf <ワード DI>
label1 db 'COMING',0
label2 db '消費',0
title1 db ' 名前 数量
ukeys1 db 1Eh,0
ukeys2 db 1Fh,0
skeys1 db 'ENTER',0
nkeys1 db 'ENTER',0
skeys2 db 'INS',0
nkeys2 db '新規',0
skeys3 db 'DEL',0
nkeys3 db '削除',0
skeys4 db 'F5',0
nkeys4 db '印刷',0
skeys5 db 'F6',0
nkeys5 db '注文',0
skeys6 db 'F7',0
nkeys6 db '検索',0
skeys7 db 'F8',0
nkeys7 db 'SUM',0
skeys8 db 'F10',0
nkeys8 db 'メニュー',0
skeys9 db 'ESC',0
nkeys9 db '終了',0
;--- ヘッドプロシージャ
ファンクメイン
;
クリ
mov SP、size_com+len_stack
スティ
;
farrelease <*CS 00.00 size_com+len_stack+len_vars>
初期化
リリース <* size_com+len_stack,0>
イニシス
初期マウス
カーソルオフ
;
setcolor <<>>
ドローボックス
ドローボックス < 0, 2.79, 2,@ box_main>
マウスオン
setcolor
Sayxy <16, 0,@ label1,@ f_s>
Sayxy <56, 0,@ label2,@ f_s>
setcolor
Sayxy <0, 1,@ title1,@ f_s>
setcolor
<@ title1,@ f_s> と言います
setcolor <<>>
;
color <メニュー属性>
mkeys_on
mkeys_fr <79, 0,PGUPKEY*100h,@ ukeys1,@ snull>
mkeys_fr <79,24,PGDNKEY*100h,@ ukeys2,@ snull>
mkeys_fr < 4,24,CRKEY,@ skeys1,@ nkeys1>
mkeys_fr <14,24,INSKEY*100h,@ skeys2,@ nkeys2>
mkeys_fr <22,24,DELRKEY*100h,@ skeys3,@ nkeys3>
mkeys_fr <30,24,F5KEY*100h,@ skeys4,@ nkeys4>
mkeys_fr <37,24,F6KEY*100h,@ skeys5,@ nkeys5>
mkeys_fr <44,24,F7KEY*100h,@ skeys6,@ nkeys6>
mkeys_fr <51,24,F8KEY*100h,@ skeys7,@ nkeys7>
mkeys_fr <58,24,F10KEY*100h,@ skeys8,@ nkeys8>
mkeys_fr <65,24,ESCKEY,@ skeys9,@ nkeys9>
mkeys_on
;
reopen <@rec_A,@file_A,len_A>
getmem , ;recbuffer
レセプティ <@rec_A,@ _mb_empty>
;
color <メイン属性>
移動完了、TRUE
while <完了 e TRUE>
dbedit <@rec_A, 0, 3,79,23,@ cs:__pic,@ cs:__fuser>
終わります
;
freemem<*buf_A>
レククローズ<@rec_A>
;
mkeys_of
;
マウスオフ
カーソルオン
;
clrscr
停止 <0>
終わり
終了 開始