Assembler sprog makrosystem
msystem.zip
411 KB.
Makro system
Kort beskrivelse af hovedfilerne i arkivet.
Selve makrosystemet:
MSYSTEM.MAC
Denne fil indeholder det faktiske makrosystem.
MMACROS.MAC
Denne fil indeholder yderligere nyttige makrodefinitioner.
MBIOS.MAC
Denne fil indeholder makrodefinitioner for IBM-PC BIOS.
MDOS.MAC
Denne fil indeholder makrodefinitioner for IBM-PC DOS.
CONIO.MAC
DIR.MAC
FEJL.MAC
FLOAT.MAC
IO.MAC
KBD.MAC
MATH.MAC
MBIOS.MAC
MEM.MAC
MUS.MAC
STOV.MAC
STRING.MAC
SYS.MAC
Selve makrosystemet:
VÆLG.M
UR.M
KODER.M
FARVE.M
CURSOR.M
DBEDIT.M
INIT.M
NØGLE.M
MENU.M
MKEYS.M
LÆS.M
REC.M
SAY.M
SCROLL.M
SORT.M
LYD.M
WINDOW.M
DOKUMENTATION:
MSYSTEM.DOC
Dette er en dokumentationsfil til makrosystemet.
EXTA.DOC
MMACROS.DOC
MMEM.DOC
OGLAV.DOC
LÆS.DOC
TITLE.DOC
*.ASM filer Disse filer indeholder
Til installation på systemet
Husk at assembler fejler
Uanset din tilgang -
Selve Assembleren kan downloades her
tasm25.zip
- 175 KB.
For eksempel er her en simpel kode
;
;
.MODEL LILLE
inkludere msystem.mac
inkludere sys.mac
inkludere conio.mac
inkludere mouse.mac
inkludere mem.mac
inkludere kbd.mac
inkludere math.mac
inkludere cursor.m
omfatte vindue.m
medtage farve.m
omfatte rek.m
omfatte dbedit.m
omfatter sige.m
medtage læs.m
medtage nøgle.m
omfatte mkeys.m
omfatte mb.m
size_com = 20000+256
len_stack= 20000
len_vars = 20000
.KODE
START START,100h,_main,{
func 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>
endf
func _pic,,,1,public
old_color EQU [BP]-1
getcolor ,
mov SI, buf_A
sætfarve
sayxy
sætfarve
sig <@DEBET_NAME,@f_name>
sætfarve
sig <@ space,@ f_s>
sætfarve
sig <@ DEBET_QUAN,@ f_quan>
sætfarve
sig <@ space,@ f_s>
sætfarve
sig <@ space,@ f_s>
sætfarve
sig <@ KREDIT_NAME,@ f_name>
sætfarve
sig <@ space,@ f_s>
sætfarve
sig <@ KREDIT_QUAN,@ f_quan>
sætfarve
sig <@ space,@ f_s>
sætfarve
endf
func _fuser,,,1,public
old_color EQU [BP]-1
mov DI, 1
mov AL, cs: mode
skifte AL,<0,1>
tilfælde 1 { ;
getcolor ,
sætfarve
reccount <@ rec_A>,
sayxy <35, 2,@ ii,@ f_w4>
recrecno <@ rec_A>,
sayxy <41, 2,@ ii,@ f_w4>
sætfarve
tilfælde 2 {
mov retr_cho, SAND
mens {
mov retr_cho, FALSK
mkeys_to
mov AL, cs:key_AL
switch AL, {
tilfælde 1 {
mov AH, cs:key_AH
switch AH,
tilfælde 1;
Indsætter ,
tilfælde 2;
Sletter ,
tilfælde 3;
Sortering ,
tilfælde 4;
tilfælde 5;
Dating,
tilfælde 6;
menuudtræk
mov DI, 3
endekasse
tilfælde 2 { ;
tilfælde 3;
Indtastning af ,
tilfælde 4;
mov udført, FALSK
movDI,0
endekasse
endwh}
endekasse
endf
label1 db 'KOMMER',0
label2 db 'FORBRUG',0
title1 db ' Navn Antal
ukeys1 db 1Eh,0
ukeys2 db 1Fh,0
skeys1 db 'ENTER',0
nkeys1 db 'ENTER',0
skeys2 db 'INS',0
nkeys2 db 'NYT',0
skeys3 db 'DEL',0
nkeys3 db 'SLET',0
skeys4 db 'F5',0
nkeys4 db 'PRINT',0
skeys5 db 'F6',0
nkeys5 db 'ORDER',0
skeys6 db 'F7',0
nkeys6 db 'SØG',0
skeys7 db 'F8',0
nkeys7 db 'SUM',0
skeys8 db 'F10',0
nkeys8 db 'MENU',0
skeys9 db 'ESC',0
nkeys9 db 'QUIT',0
;--- Hovedprocedure
func hoved
;
cli
mov SP, size_com+len_stack
sti
;
farrelease <*CS 00.00 size_com+len_stack+len_vars>
initcon
frigive <* size_com+len_stack,0>
initsys
initmus
cursor_off
;
sætfarve <<>>
drawbox
drawbox < 0, 2,79, 2,@ box_main>
musen_på
sætfarve
sayxy <16, 0,@ label1,@ f_s>
sayxy <56, 0,@ label2,@ f_s>
sætfarve
sayxy <0, 1,@ title1,@ f_s>
sætfarve
sig <@ title1,@ f_s>
sætfarve <<>>
;
farve
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
;
genåbn <@ rec_A,@ file_A,len_A>
getmem , ;recbuffer
recempty <@ rec_A,@ _mb_empty>
;
farve
mov færdig, SAND
mens
dbedit <@ rec_A, 0, 3,79,23,@ cs:__pic,@ cs:__fuser>
endwh
;
freemem<*buf_A>
genluk <@ rec_A>
;
mkeys_of
;
mouse_off
cursor_on
;
clrscr
stop <0>
endf
SLUT START