![]() |
|
![]() |
msystem.zip 411 كيلوبايت p> يسمح لك نظام وحدات الماكرو بكتابة البرامج بالصيغة المألوفة للغة عالية المستوى ويجعل نصوص البرامج أكثر شفافية للقراءة والإدراك. تم تصميم النظام لمجمعي لغة التجميع TASM-2.5 و MASM-5.0 ، وهي لغة منظمة عالية المستوى يمكن استخدامها لكتابة البرامج من أي حجم ولأي غرض. مصمم للمبرمج الذي لديه بالفعل خبرة في البرمجة بلغة التجميع. p>
وصف موجز للملفات الرئيسية في الأرشيف. h3>
نظام وحدات الماكرو نفسه: h4>
|
على سبيل المثال ، إليك رمز برنامج قاعدة بيانات بسيط ، يحسب الدخل والمصروفات المالية p>
؛ MB.ASM
؛ دي ال كونيوخوف
.MODEL SMALL
تشمل msystem.mac
تشمل sys.mac
تشمل conio.mac
تشمل mouse.mac
تشمل mem.mac
تشمل kbd.mac
تشمل math.mac
تضمين cursor.m
تشمل window.m
تشمل color.m
تضمين rec.m
تشمل dbedit.m
تشمل say.m
تشمل read.m
تضمين key.m
تشمل mkeys.m
تشمل mb.m
size_com = 20000 + 256
len_stack = 20000
len_vars = 20000
.CODE
بداية البداية ، 100 ساعة ، _ رئيسي ، {
func mb_empty ،، \u0026 lt؛ SI \u0026 gt؛
وسائل التحقق SI ، buf_A
memfill \u0026 lt؛ 32، @ DEBET_NAME، LEN_NAME \u0026 gt؛
memfill العلامة \u0026 lt؛ 0، @ DEBET_QUAN، LEN_QUAN \u0026 GT؛
memfill \u0026 lt؛ 32، @ KREDIT_NAME، LEN_NAME \u0026 gt؛
memfill العلامة \u0026 lt؛ 0، @ KREDIT_QUAN، LEN_QUAN \u0026 GT؛
endf
func _pic، \u0026 lt؛ byte X، byte Y \u0026 gt ؛، \u0026 lt؛ SI \u0026 gt ؛، 1، public
old_color EQU [BP] -1
getcolor، \u0026 lt؛ old_color \u0026 GT؛
وسائل التحقق SI ، buf_A
setcolor العلامة \u0026 lt؛ DebAttr \u0026 gt؛
sayxy \u0026 lt؛ X، Y، @ space، @ f_s \u0026 gt؛
setcolor العلامة \u0026 lt ؛ old_color \u0026 GT ؛
قل \u0026 lt؛ @ DEBET_NAME، @ f_name \u0026 gt؛
setcolor العلامة \u0026 lt؛ DebAttr \u0026 gt؛
قل \u0026 lt؛ @ space، @ f_s \u0026 gt؛
setcolor العلامة \u0026 lt ؛ old_color \u0026 GT ؛
قل \u0026 lt؛ @ DEBET_QUAN، @ f_quan \u0026 gt؛
setcolor العلامة \u0026 lt؛ DebAttr \u0026 gt؛
قل \u0026 lt؛ @ space، @ f_s \u0026 gt؛
setcolor العلامة \u0026 lt؛ KreAttr \u0026 GT؛
قل \u0026 lt؛ @ space، @ f_s \u0026 gt؛
setcolor العلامة \u0026 lt ؛ old_color \u0026 GT ؛
قل \u0026 lt؛ @ KREDIT_NAME، @ f_name \u0026 gt؛
setcolor العلامة \u0026 lt؛ KreAttr \u0026 GT؛
قل \u0026 lt؛ @ space، @ f_s \u0026 gt؛
setcolor العلامة \u0026 lt ؛ old_color \u0026 GT ؛
قل \u0026 lt؛ @ KREDIT_QUAN، @ f_quan \u0026 GT؛
setcolor العلامة \u0026 lt؛ KreAttr \u0026 GT؛
قل \u0026 lt؛ @ space، @ f_s \u0026 gt؛
setcolor العلامة \u0026 lt ؛ old_color \u0026 GT ؛
endf
func _fuser، \u0026 lt؛ byte mode، word RecCur \u0026 gt ؛، \u0026 lt؛ DI \u0026 gt ؛، 1، public
old_color EQU [BP] -1
موف DI ، 1
mov AL، cs: mode
التبديل AL ، العلامة \u0026 lt ؛ 0.1 \u0026 GT ؛
حالة 1 {؛ رسم
getcolor، \u0026 lt؛ old_color \u0026 GT؛
setcolor العلامة \u0026 lt؛ LblAttr \u0026 GT؛
أعد الحساب \u0026 lt؛ @ rec_A \u0026 gt ؛، \u0026 lt؛ ii \u0026 gt؛
sayxy \u0026 lt؛ 35، 2، @ ii، @ f_w4 \u0026 gt؛
recrecno \u0026 lt؛ @ rec_A \u0026 gt ؛، \u0026 lt؛ ii \u0026 gt؛
sayxy \u0026 lt؛ 41، 2، @ ii، @ f_w4 \u0026 gt؛
setcolor العلامة \u0026 lt ؛ old_color \u0026 GT ؛
الحالة 2 {
وسائل التحقق retr_cho ، TRUE
بينما \u0026 lt؛ retr_cho e TRUE \u0026 GT؛ {
وسائل التحقق retr_cho ، FALSE
mkeys_to
mov AL، cs: key_AL
التبديل AL ، العلامة \u0026 lt ؛ NULLKEY ، SPACEKEY ، CRKEY ، ESCKEY \u0026 GT ؛ {
الحالة 1 {
وسائل التحقق AH ، cs: key_AH
التبديل AH، \u0026 lt؛ INSKEY، DELRKEY، F6KEY، F7KEY، F8KEY، F10KEY \u0026 gt؛
حالة 1؛ إدراج
إدخال ، العلامة \u0026 lt ؛ DI \u0026 GT ؛
الحالة 2 حذف
حذف \u0026 lt؛ DI \u0026 GT؛
الحالة 3 ؛ فرز
الفرز ، العلامة \u0026 lt ؛ DI \u0026 GT ؛
الحالة 4 تجد
القضية 5 التاريخ
مواعدة ، \u0026 lt؛ DI \u0026 GT؛
القضية 6 القائمة
menupull
موف دي ، 3
النهاية
الحالة 2 {؛ علامة
الحالة 3 ؛ الإدخال
إدخال \u0026 lt؛ RecCur \u0026 gt؛ \u0026 lt؛ DI \u0026 gt؛
الحالة 4 خروج
تم إجراء التحقق ، FALSE
وسائل التحقق DI ، 0
النهاية
endwh}
النهاية
endf \u0026 lt ؛ كلمة DI \u0026 GT ؛
label1 ديسيبل \PARISH\، 0
التسمية 2 ديسيبل \FLOW\، 0
title1 ديسيبل \كمية العنوان\، 0
ukeys1 db 1Eh، 0
ukeys2 db 1Fh، 0
skeys1 db \إدخال\، 0
nkeys1 db \إدخال\، 0
skeys2 db 'INS'، 0
nkeys2 db 'NEW'، 0
skeys3 ديسيبل 'DEL'، 0
nkeys3 ديسيبل \حذف\، 0
skeys4 db 'F5'، 0
nkeys4 db 'PRINT'، 0
skeys5 db 'F6'، 0
nkeys5 db 'ORDER'، 0
skeys6 db 'F7'، 0
nkeys6 db \بحث\، 0
skeys7 db 'F8'، 0
nkeys7 db 'SUM'، 0
skeys8 db 'F10'، 0
nkeys8 db \MENU\، 0
skeys9 db 'ESC'، 0
nkeys9 db 'EXIT'، 0
؛ --- إجراء الرأس
func الرئيسية
؛ كومة
cli
موف SP ، size_com + len_stack
sti
؛ أفتح النظام
farrelease \u0026 lt؛ * CS 00،00 size_com + len_stack + len_vars \u0026 gt؛
initcon
إطلاق العلامة \u0026 lt؛ * size_com + len_stack، 0 \u0026 gt؛
initsys
initmouse
cursor_off
؛ ارسم الإطار الرئيسي
setcolor \u0026 lt؛ \u0026 lt؛ \u0026 lt؛ بايت ptr MainAttr \u0026 gt؛ \u0026 gt؛ \u0026 gt؛
drawbox \u0026 lt؛ cs: ScrnMinX، cs: ScrnMinY، cs: ScrnMaxX، cs: ScrnMaxY، @ box_main \u0026 gt؛
صندوق السحب العلامة \u0026 lt ؛ 0، 2.79، 2، @ box_main \u0026 gt؛
mouse_on
setcolor العلامة \u0026 lt؛ LblAttr \u0026 GT؛
sayxy \u0026 lt؛ 16، 0، @ label1، @ f_s \u0026 gt؛
sayxy \u0026 lt؛ 56، 0، @ label2، @ f_s \u0026 gt؛
setcolor العلامة \u0026 lt؛ DebAttr \u0026 gt؛
sayxy العلامة \u0026 lt ؛ 0، 1، @ title1، @ f_s \u0026 gt؛
setcolor العلامة \u0026 lt؛ KreAttr \u0026 GT؛
قل \u0026 lt؛ @ title1، @ f_s \u0026 gt؛
setcolor \u0026 lt؛ \u0026 lt؛ \u0026 lt؛ بايت ptr MainAttr \u0026 gt؛ \u0026 gt؛ \u0026 gt؛
؛ سطر القائمة
اللون العلامة \u0026 lt ؛ MenuAttr \u0026 GT ؛
mkeys_on \u0026 lt؛ TRUE \u0026 GT؛
mkeys_fr \u0026 lt؛ 79، 0، PGUPKEY * 100h، @ ukeys1، @ snull \u0026 gt؛
mkeys_fr \u0026 lt؛ 79.24، PGDNKEY * 100h، @ ukeys2، @ snull \u0026 gt؛
mkeys_fr العلامة \u0026 lt؛ 4.24، CRKEY، @ skeys1، @ nkeys1 \u0026 gt؛
mkeys_fr \u0026 lt؛ 14.24، INSKEY * 100h، @ skeys2، @ nkeys2 \u0026 gt؛
mkeys_fr \u0026 lt؛ 22،24، DELRKEY * 100h، @ skeys3، @ nkeys3 \u0026 gt؛
mkeys_fr \u0026 lt؛ 30،24، F5KEY * 100h، @ skeys4، @ nkeys4 \u0026 gt؛
mkeys_fr \u0026 lt؛ 37.24، F6KEY * 100h، @ skeys5، @ nkeys5 \u0026 gt؛
mkeys_fr \u0026 lt؛ 44،24، F7KEY * 100h، @ skeys6، @ nkeys6 \u0026 gt؛
mkeys_fr \u0026 lt؛ 51،24، F8KEY * 100h، @ skeys7، @ nkeys7 \u0026 gt؛
mkeys_fr \u0026 lt؛ 58.24، F10KEY * 100h، @ skeys8، @ nkeys8 \u0026 gt؛
mkeys_fr \u0026 lt؛ 65،24، ESCKEY، @ skeys9، @ nkeys9 \u0026 gt؛
mkeys_on \u0026 lt؛ FALSE \u0026 GT؛
؛ فتح الملف
recopen \u0026 lt؛ @ rec_A، @ file_A، len_A \u0026 gt؛
getmem \u0026 lt؛ len_A \u0026 gt ؛، \u0026 lt؛ buf_A \u0026 gt؛ ؛ recbuffer
استرداد \u0026 lt؛ @ rec_A، @ _mb_empty \u0026 gt؛
؛ العمل مع الملف
لون العلامة \u0026 lt ؛ MainAttr \u0026 GT ؛
تم إجراء التحقق ، TRUE
بينما \u0026 lt ؛ فعلت e TRUE \u0026 GT ؛
dbedit \u0026 lt؛ @ rec_A، 0، 3،79،23، @ cs: __ pic، @ cs: __ fuser \u0026 gt؛
النهاية
؛ أغلق الملف
العلامة \u0026 lt؛ * buf_A \u0026 gt؛
recclose \u0026 lt؛ @ rec_A \u0026 gt؛
؛ أغلق
الآخر
mkeys_of
؛ أغلق النظام
mouse_off
cursor_on
؛ الخروج من البرنامج
clrscr
توقف العلامة \u0026 lt؛ 0 \u0026 GT؛
endf
نهاية البداية
familylisttreecollectionfamiliespedigreecryptographersurnamesnamesphonesecretanimalgenealogicalapptreesappsprogramsgallerycodesapplemicrosoftgooglehuaweiallsoft日本語samsungappstoresscreenshotsamazonlinux
|