Assembler taalmacrosysteem
msysteem.zip
411 KB.
Macro-systeem
Korte beschrijving van de belangrijkste bestanden in het archief.
Het macrosysteem zelf:
MSYSTEEM.MAC
Dit bestand bevat het daadwerkelijke macrosysteem.
MMACROS.MAC
Dit bestand bevat aanvullende nuttige macrodefinities.
MBIOS.MAC
Dit bestand bevat macrodefinities voor het IBM-PC BIOS.
MDOS.MAC
Dit bestand bevat macrodefinities voor IBM-PC DOS.
CONIO.MAC
DIR.MAC
FOUT.MAC
FLOAT.MAC
IO.MAC
KBD.MAC
WISKUNDE.MAC
MBIOS.MAC
MEM.MAC
MUIS.MAC
STOV.MAC
STRING.MAC
SYS.MAC
Het macrosysteem zelf:
KEUZE.M
KLOK.M
CODER.M
KLEUR.M
CURSOR.M
DBEDIT.M
INIT.M
SLEUTEL.M
MENU.M
MKEYS.M
LEES.M
REC.M
ZEG M
SCROLL.M
SORT.M
GELUID.M
VENSTER.M
DOCUMENTATIE:
MSYSTEEM.DOC
Dit is een documentatiebestand voor het macrosysteem.
EXTA.DOC
MMACROS.DOC
MMEM.DOC
OGLAV.DOC
LEES DOC
TITEL.DOC
*.ASM-bestanden Deze bestanden bevatten
Voor installatie op het systeem
Houd rekening met assembler-fouten
Wat uw aanpak ook is -
De Assembler zelf kunt u hier downloaden
tasm25.zip
- 175 KB.
Hier is bijvoorbeeld een eenvoudige code
;
;
.MODEL KLEIN
inclusief msystem.mac
inclusief sys.mac
inclusief conio.mac
inclusief mouse.mac
inclusief mem.mac
inclusief kbd.mac
inclusief math.mac
inclusief cursor.m
inclusief venster.m
inclusief kleur.m
inclusief rec.m
inclusief dbedit.m
omvatten zeg.m
inclusief read.m
inclusief sleutel.m
inclusief mkeys.m
inclusief mb.m
maat_com = 20000+256
len_stack= 20000
len_vars = 20000
.CODE
BEGIN BEGIN,100u,_main,{
func mb_empty,,
mov SI, buf_A
geheugenvulling <32,@ DEBET_NAME,LEN_NAME>
geheugenvulling < 0,@ DEBET_QUAN,LEN_QUAN>
geheugenvulling <32,@ KREDIT_NAME,LEN_NAME>
geheugenvulling < 0,@ KREDIT_QUAN,LEN_QUAN>
eindf
func _pic,,,1,openbaar
oude_kleur EQU [BP]-1
getcolor ,
mov SI, buf_A
setcolor
zegxy
setcolor
zeg <@DEBET_NAME,@f_name>
setcolor
zeg <@ spatie,@ f_s>
setcolor
zeg <@ DEBET_QUAN,@ f_quan>
setcolor
zeg <@ spatie,@ f_s>
setcolor
zeg <@ spatie,@ f_s>
setcolor
zeg <@ KREDIT_NAME,@ f_name>
setcolor
zeg <@ spatie,@ f_s>
setcolor
zeg <@ KREDIT_QUAN,@ f_quan>
setcolor
zeg <@ spatie,@ f_s>
setcolor
eindf
func _fuser,,,1,public
oude_kleur EQU [BP]-1
mov DI, 1
mov AL, cs:mode
schakelaar AL,<0,1>
zaak 1 { ;
getcolor ,
setcolor
hertelling <@ rec_A>,
zegxy <35, 2,@ ii,@ f_w4>
recrecno <@ rec_A>,
zegxy <41, 2,@ii,@f_w4>
setcolor
geval 2 {
mov retr_cho, WAAR
terwijl {
mov retr_cho, ONWAAR
mkeys_to
mov AL, cs:key_AL
schakel AL, {
zaak 1 {
mov AH, cs:sleutel_AH
schakelaar AH,
zaak 1 ;
Invoegen van ,
geval 2;
, verwijderen
geval 3;
Sorteren ,
geval 4;
geval 5;
Dating,
geval 6;
menupull
mov DI, 3
eindkast
geval 2 {;
geval 3;
, invoeren
geval 4;
mov klaar, FALSE
movDI,0
eindkast
eindwh}
eindkast
endf
label1 db 'KOMT',0
label2 db 'VERBRUIK',0
title1 db ' Naam Aantal
ukeys1 db 1Eh,0
ukeys2 db 1Fh,0
skeys1 db 'ENTER',0
nkeys1 db 'ENTER',0
skeys2 db 'INS',0
nkeys2 db 'NIEUW',0
skeys3 db 'DEL',0
nkeys3 db 'VERWIJDEREN',0
skeys4 db 'F5',0
nkeys4 db 'AFDRUKKEN',0
skeys5 db 'F6',0
nkeys5 db 'ORDER',0
skeys6 db 'F7',0
nkeys6 db 'ZOEKEN',0
skeys7 db 'F8',0
nkeys7 db 'SOM',0
skeys8 db 'F10',0
nkeys8 db 'MENU',0
skeys9 db 'ESC',0
nkeys9 db 'QUIT',0
;--- Hoofdprocedure
func hoofd
;
cli
mov SP, size_com+len_stack
st
;
farrelease <*CS 00.00 size_com+len_stack+len_vars>
begincon
geef <* size_com+len_stack,0> vrij
initsys
initmuis
cursor_uit
;
setcolor <<>>
tekenvak
drawbox < 0, 2.79, 2,@ box_main>
muis_aan
setcolor
zegxy <16, 0,@label1,@f_s>
zegxy <56, 0,@label2,@f_s>
setcolor
zegxy <0, 1,@ titel1,@ f_s>
setcolor
zeg <@ title1,@ f_s>
setcolor <<>>
;
kleur
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
;
heropen <@ rec_A,@ file_A,len_A>
getmem , ;recbuffer
recempty <@ rec_A,@ _mb_empty>
;
kleur
mov klaar, WAAR
terwijl
dbedit <@ rec_A, 0, 3,79,23,@ cs:__pic,@ cs:__fuser>
eindw
;
freemem<*buf_A>
hersluit <@ rec_A>
;
mkeys_of
;
muis_uit
cursor_aan
;
clrscr
stop <0>
eindf
EINDE BEGIN