Assembler-kielimakrojärjestelmä
msystem.zip
411 kt.
Makrojärjestelmä
Lyhyt kuvaus arkiston tärkeimmistä tiedostoista.
Itse makrojärjestelmä:
MSYSTEM.MAC
Tämä tiedosto sisältää todellisen makrojärjestelmän.
MMACROS.MAC
Tämä tiedosto sisältää muita hyödyllisiä makromääritelmiä.
MBIOS.MAC
Tämä tiedosto sisältää makromääritykset IBM-PC BIOS:lle.
MDOS.MAC
Tämä tiedosto sisältää makromääritykset IBM-PC DOS:lle.
CONIO.MAC
DIR.MAC
ERROR.MAC
FLOAT.MAC
IO.MAC
KBD.MAC
MATH.MAC
MBIOS.MAC
MEM.MAC
HIIRI.MAC
STOV.MAC
STRING.MAC
SYS.MAC
Itse makrojärjestelmä:
VALITSE.M
KELLO.M
CODER.M
VÄRI.M
CURSOR.M
DBEDIT.M
INIT.M
KEY.M
MENU.M
MKEYS.M
LUE.M
REC.M
SAY.M
SCROLL.M
SORT.M
ÄÄNI.M
WINDOW.M
DOKUMENTOINTI:
MSYSTEM.DOC
Tämä on makrojärjestelmän dokumentaatiotiedosto.
EXTA.DOC
MMACROS.DOC
MMEM.DOC
OGLAV.DOC
READ.DOC
TITLE.DOC
*.ASM-tiedostot Nämä tiedostot sisältävät
Järjestelmään asentamista varten
Muista, että kokoonpanovirheet
Oli lähestymistapasi mikä tahansa -
Itse Assembler on ladattavissa täältä
tasm25.zip
- 175 kt.
Tässä on esimerkiksi yksinkertainen koodi
;
;
.MALLI PIENI
sisältää msystem.mac
sisältää sys.mac
sisältää conio.mac
sisältää hiiri.mac
sisältää mem.mac
sisältää kbd.mac
sisältää math.mac
sisällytä kohdistin.m
sisältää ikkunan.m
sisältää väri.m
sisältää rec.m
sisältää dbedit.m
sisältää sano.m
sisältää lue.m
sisältää avain.m
sisältää mkeys.m
sisältää mb.m
koko_fi = 20000+256
len_stack = 20000
len_vars = 20000
.KOODI
ALOITA START,100h,_main,{
func mb_empty,,
mov SI, buf_A
memtäytä <32,@ DEBET_NAME,LEN_NAME>
memfill < 0,@ DEBET_QUAN,LEN_QUAN>
memtäytä <32,@ KREDIT_NAME,LEN_NAME>
memfill < 0,@ KREDIT_QUAN,LEN_QUAN>
endf
func _pic,,,1,julkinen
old_color EQU [BP]-1
getcolor ,
mov SI, buf_A
setcolor
sayxy
aseta väri
sano <@DEBET_NAME,@f_name>
setcolor
sano <@ välilyönti,@ f_s>
aseta väri
sano <@ DEBET_QUAN,@ f_quan>
setcolor
sano <@ välilyönti,@ f_s>
setcolor
sano <@ välilyönti,@ f_s>
aseta väri
sano <@ KREDIT_NAME,@ f_name>
setcolor
sano <@ välilyönti,@ f_s>
aseta väri
sano <@ KREDIT_QUAN,@ f_quan>
setcolor
sano <@ välilyönti,@ f_s>
aseta väri
endf
func _fuser,,,1,public
old_color EQU [BP]-1
mov DI, 1
mov AL, cs:mode
kytkin AL,<0,1>
tapaus 1 {;
getcolor ,
setcolor
reccount <@ rec_A>,
sayxy <35, 2,@ ii,@ f_w4>
recrecno <@ rec_A>,
sayxy <41, 2,@ ii,@ f_w4>
aseta väri
tapaus 2 {
mov retr_cho, TOSI
while {
mov retr_cho, EPÄTOSI
mkeys_to
mov AL, cs:key_AL
kytkin AL, {
tapaus 1 {
mov AH, cs:key_AH
kytkin AH,
tapaus 1;
Lisätään ,
tapaus 2;
Poistetaan ,
tapaus 3;
Lajittelu ,
tapaus 4;
tapaus 5;
Treffit,
tapaus 6;
menupull
mov DI, 3
päätekotelo
tapaus 2 {;
tapaus 3;
Syötetään ,
tapaus 4;
mov tehty, EPÄTOSI
movDI,0
päätekotelo
endwh}
päätekotelo
endf
etiketti1 db 'TUULEE',0
etiketti2 db 'KULUTUS',0
otsikko1 db ' Nimi Määrä
ukeys1 db 1Eh,0
ukeys2 db 1Fh,0
skeys1 db 'ENTER',0
nkeys1 db 'ENTER',0
skeys2 db 'INS',0
nkeys2 db 'UUSI',0
skeys3 db 'DEL',0
nkeys3 db 'POISTA',0
skeys4 db 'F5',0
nkeys4 db 'PRINT',0
skeys5 db 'F6',0
nkeys5 db 'ORDER',0
skeys6 db 'F7',0
nkeys6 db 'SEARCH',0
skeys7 db 'F8',0
nkeys7 db 'SUMMA',0
skeys8 db 'F10',0
nkeys8 db 'MENU',0
skeys9 db 'ESC',0
nkeys9 db 'QUIT',0
;--- Pään menettely
func main
;
cli
mov SP, size_com+len_stack
sti
;
farrelease <*CS 00.00 size_com+len_stack+len_vars>
initcon
vapauttaa <* size_com+len_stack,0>
initsys
initmouse
kursori_pois
;
setcolor <<>>
vetolaatikko
vetolaatikko < 0, 2.79, 2,@ box_main>
hiiri_päällä
setcolor
sayxy <16, 0,@ etiketti1,@ f_s>
sayxy <56, 0,@ label2,@ f_s>
setcolor
sayxy <0, 1,@ otsikko1,@ f_s>
setcolor
sano <@ otsikko1,@ f_s>
setcolor <<>>
;
väri
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
;
avaa uudelleen <@ rec_A,@ file_A,len_A>
getmem , ;recbuffer
recempty <@ rec_A,@ _mb_empty>
;
väri
Mov tehty, TOSI
kun
dbedit <@ rec_A, 0, 3,79,23,@ cs:__pic,@ cs:__fuser>
endwh
;
freemem<*buf_A>
sulkea uudelleen <@ rec_A>
;
mkeys_of
;
hiiri_pois
cursor_on
;
clrscr
pysäyttää <0>
endf
LOPETA ALOITUS