نظام ماكرو لغة المجمع
msystem.zip
411 كيلو بايت.
نظام ماكرو
وصف موجز للملفات الرئيسية في الأرشيف.
نظام الماكرو نفسه:
MSYSTEM.MAC
يحتوي هذا الملف على نظام الماكرو الفعلي.
MMACROS.MAC
يحتوي هذا الملف على تعريفات ماكرو إضافية مفيدة.
MBIOS.MAC
يحتوي هذا الملف على تعريفات الماكرو لنظام IBM-PC BIOS.
MDOS.MAC
يحتوي هذا الملف على تعريفات الماكرو لـ IBM-PC DOS.
CONIO.MAC
DIR.MAC
خطأ.MAC
تعويم.MAC
IO.MAC
KBD.MAC
MATH.MAC
MBIOS.MAC
MEM.MAC
MOUSE.MAC
STOV.MAC
STRING.MAC
SYS.MAC
نظام الماكرو نفسه:
تشويس.م
الساعة. م
CODER.M
اللون.م
المؤشر.م
DBEDIT.M
INIT.M
KEY.M
القائمة. م
MKEYS.M
قراءة. م
REC.M
قل.م
التمرير.م
SORT.M
الصوت. م
WINDOW.M
توثيق:
MSYSTEM.DOC
هذا ملف توثيقي لنظام الماكرو.
EXTA.DOC
MMACROS.DOC
MMEM.DOC
OGLAV.DOC
قراءة.DOC
العنوان.DOC
* ملفات ASM تحتوي هذه الملفات
للتثبيت على النظام
تذكر أن أخطاء المجمع
مهما كان نهجك -
يمكن تنزيل المجمع نفسه هنا
tasm25.zip
- 175 كيلو بايت.
على سبيل المثال، هنا رمز بسيط
;
;
.موديل صغير
تشمل msystem.mac
تشمل sys.mac
تشمل conio.mac
تشمل mouse.mac
تشمل mem.mac
تشمل kbd.mac
تشمل math.mac
تشمل المؤشر.م
تشمل window.m
تشمل اللون. م
تشمل rec.m
تشمل dbedit.m
تشمل say.m
تشمل read.m
تشمل key.m
تشمل mkeys.m
تشمل mb.m
size_com = 20000+256
len_stack=20000
لين_فار = 20000
.شفرة
البدء، 100 ساعة،_الرئيسية،{
func mb_empty,,
موف سي، buf_A
ميمفيل <32,@ DEBET_NAME,LEN_NAME>
ميمفيل <0،@DEBET_QUAN،LEN_QUAN>
ميمفيل <32,@ KREDIT_NAME,LEN_NAME>
ميمفيل <0،@KREDIT_QUAN،LEN_QUAN>
endf
func _pic,,,1,public
old_color EQU [BP]-1
الحصول على اللون،
موف سي، buf_A
setcolor
سايكسي
تعيين اللون
قل <@DEBET_NAME,@f_name>
setcolor
قل <@مسافة،@f_s>
تعيين اللون
قل <@DEBET_QUAN,@f_quan>
setcolor
قل <@مسافة،@f_s>
تعيين اللون
قل <@مسافة،@f_s>
تعيين اللون
قل <@ KREDIT_NAME,@ f_name>
تعيين اللون
قل <@مسافة،@f_s>
تعيين اللون
قل <@ KREDIT_QUAN,@ f_quan>
تعيين اللون
قل <@مسافة،@f_s>
تعيين اللون
endf
func _fuser،<وضع البايت،كلمة RecCur>،،1،عام
old_color EQU [BP]-1
موف دي، 1
mov AL، cs:mode
التبديل آل،<0,1>
حالة 1 { ؛
الحصول على اللون،
setcolor
حساب <@ريك_A>،
سايكسي <35, 2,@ii,@f_w4>
ريكرينو <@ ريك_A>،
سايكسي <41, 2,@ii,@f_w4>
تعيين اللون
الحالة 2 {
mov retr_cho، صحيح
بينما {
mov retr_cho، خطأ
mkeys_to
موف آل، CS:key_AL
تبديل آل، {
حالة 1 {
موف آه، CS:key_AH
التبديل آه،
حالة 1 ؛
إدراج،
الحالة 2؛
حذف
الحالة 3 ؛
الفرز،
الحالة 4 ؛
الحالة 5 ؛
التعارف,
الحالة 6 ؛
com.menupull
موف دي، 3
حالة النهاية
الحالة 2 { ;
الحالة 3 ؛
إدخال ،
الحالة 4 ؛
تم النقل، خطأ
موفدي،0
حالة النهاية
endwh}
حالة النهاية
endf <كلمة DI>
label1 ديسيبل 'قادم',0
label2 ديسيبل
title1 ديسيبل 'اسم الكمية
ukeys1 ديسيبل 1Eh,0
ukeys2 ديسيبل 1Fh,0
سكييس1 ديسيبل 'أدخل'،0
nkeys1 ديسيبل 'أدخل'،0
skeys2 ديسيبل 'INS'،0
nkeys2 ديسيبل 'جديد'،0
skeys3 ديسيبل 'ديل'،0
nkeys3 ديسيبل 'حذف'،0
سكييس4 ديسيبل 'F5'،0
nkeys4 ديسيبل 'طباعة'،0
سكييس5 ديسيبل 'F6'،0
nkeys5 ديسيبل 'الأمر'،0
سكييس6 ديسيبل 'F7'،0
nkeys6 ديسيبل 'بحث'،0
سكييس7 ديسيبل 'F8'،0
nkeys7 ديسيبل 'SUM',0
سكييس8 ديسيبل 'F10'،0
nkeys8 ديسيبل 'القائمة'،0
skeys9 ديسيبل 'ESC'،0
nkeys9 ديسيبل 'إنهاء'،0
;--- إجراء الرأس
الوظيفة الرئيسية
;
cli
موف SP، size_com+len_stack
sti
;
الإصدار البعيد <*CS 00.00 size_com+len_stack+len_vars>
com.initcon
الافراج عن <* size_com+len_stack,0>
com.initsys
initmouse
cursor_off
;
setcolor <<>>
صندوق السحب
صندوق السحب <0, 2.79, 2,@box_main>
mouse_on
setcolor
سايكسي <16, 0,@ label1,@ f_s>
سايكسي <56, 0,@ label2,@ f_s>
setcolor
سايكسي <0, 1,@ title1,@ f_s>
تعيين اللون
قل <@ title1,@ f_s>
setcolor <<>>
;
اللون
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
;
أعد فتح <@ rec_A,@ file_A,len_A>
getmem , ;recbuffer
الاسترداد <@ rec_A,@ _mb_empty>
;
اللون
تم التحرك، صحيح
بينما
dbedit <@ rec_A, 0, 3,79,23,@ cs:__pic,@ cs:__fuser>
endwh
;
freemem<*buf_A>
إعادة إغلاق <@ريك_A>
;
mkeys_of
;
mouse_off
cursor_on
;
clrscr
توقف <0>
endf
نهاية البداية