Assembler språk makrosystem
msystem.zip
411KB.
Makrosystem
Kort beskrivning av huvudfilerna i arkivet.
Själva makrosystemet:
MSYSTEM.MAC
Den här filen innehåller det faktiska makrosystemet.
MMACROS.MAC
Den här filen innehåller ytterligare användbara makrodefinitioner.
MBIOS.MAC
Den här filen innehåller makrodefinitioner för IBM-PC BIOS.
MDOS.MAC
Den här filen innehåller makrodefinitioner för IBM-PC DOS.
CONIO.MAC
DIR.MAC
ERROR.MAC
FLOAT.MAC
IO.MAC
KBD.MAC
MATH.MAC
MBIOS.MAC
MEM.MAC
MUS.MAC
STOV.MAC
STRING.MAC
SYS.MAC
Själva makrosystemet:
VÄLJ.M
CLOCK.M
KODER.M
FÄRG.M
CURSOR.M
DBEDIT.M
INIT.M
KEY.M
MENY.M
MKEYS.M
LÄS.M
REC.M
SÄG.M
SCROLL.M
SORT.M
LJUD.M
WINDOW.M
DOKUMENTATION:
MSYSTEM.DOC
Detta är en dokumentationsfil för makrosystemet.
EXTA.DOC
MMACROS.DOC
MMEM.DOC
OGLAV.DOC
LÄS.DOC
TITLE.DOC
*.ASM-filer Dessa filer innehåller
För installation på systemet
Kom ihåg att assembler fel
Oavsett din inställning -
Själva Assemblern kan laddas ner här
tasm25.zip
- 175 KB.
Här är till exempel en enkel kod
;
;
.MODELL LITEN
inkludera msystem.mac
inkludera sys.mac
inkluderar conio.mac
inkludera mouse.mac
inkludera mem.mac
inkludera kbd.mac
inkluderar math.mac
inkludera cursor.m
inkludera fönster.m
inkludera färg.m
inkludera rek.m
inkludera dbedit.m
inkludera säg.m
inkludera läs.m
inkludera nyckel.m
inkluderar mkeys.m
inkludera mb.m
size_com = 20000+256
len_stack= 20000
len_vars = 20 000
.KODA
BÖRJA 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
setcolor
sayxy
setcolor
säg <@DEBET_NAME,@f_name>
setcolor
säg <@ space,@ f_s>
setcolor
säg <@ DEBET_QUAN,@ f_quan>
setcolor
säg <@ space,@ f_s>
setcolor
säg <@ space,@ f_s>
setcolor
säg <@ KREDIT_NAME,@ f_name>
setcolor
säg <@ space,@ f_s>
setcolor
säg <@ KREDIT_QUAN,@ f_quan>
setcolor
säg <@ space,@ f_s>
setcolor
endf
func _fuser,,,1,public
old_color EQU [BP]-1
mov DI, 1
mov AL, cs:mode
switch AL,<0,1>
fall 1 { ;
getcolor ,
setcolor
reccount <@ rec_A>,
sayxy <35, 2,@ ii,@ f_w4>
recrecno <@ rec_A>,
sayxy <41, 2,@ ii,@ f_w4>
setcolor
fall 2 {
mov retr_cho, TRUE
medan {
mov retr_cho, FALSK
mkeys_to
mov AL, cs:key_AL
switch AL, {
fall 1 {
mov AH, cs:key_AH
switch AH,
fall 1 ;
Infogar ,
fall 2;
Tar bort ,
fall 3;
Sortering ,
fall 4;
fall 5;
Dejting,
fall 6;
menyuppull
mov DI, 3
gavel
fall 2 { ;
fall 3;
Matar in ,
fall 4;
mov gjort, FALSK
movDI,0
gavel
endwh}
gavel
endf
label1 db 'KOMMER',0
label2 db 'FÖRBRUKNING',0
title1 db ' Namn Kvantitet
ukeys1 db 1Eh,0
ukeys2 db 1Fh,0
skeys1 db 'ENTER',0
nkeys1 db 'ENTER',0
skeys2 db 'INS',0
nkeys2 db 'NYHET',0
skeys3 db 'DEL',0
nkeys3 db 'DELETE',0
skeys4 db 'F5',0
nkeys4 db 'PRINT',0
skeys5 db 'F6',0
nkeys5 db 'ORDER',0
skeys6 db 'F7',0
nkeys6 db 'SÖK',0
skeys7 db 'F8',0
nkeys7 db 'SUM',0
skeys8 db 'F10',0
nkeys8 db 'MENY',0
skeys9 db 'ESC',0
nkeys9 db 'AVSLUTA',0
;--- Huvudförfarande
func huvud
;
cli
mov SP, size_com+len_stack
sti
;
farrelease <*CS 00.00 size_com+len_stack+len_vars>
initcon
släpp <* size_com+len_stack,0>
initsys
initmus
cursor_off
;
setcolor <<>>
drawbox
drawbox < 0, 2.79, 2,@ box_main>
mus_på
setcolor
sayxy <16, 0,@ label1,@ f_s>
sayxy <56, 0,@ label2,@ f_s>
setcolor
sayxy <0, 1,@ title1,@ f_s>
setcolor
säg <@ title1,@ f_s>
setcolor <<>>
;
färg
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
;
öppna igen <@ rec_A,@ file_A,len_A>
getmem , ;recbuffer
recempty <@ rec_A,@ _mb_empty>
;
färg
mov gjort, SANT
medan
dbedit <@ rec_A, 0, 3,79,23,@ cs:__pic,@ cs:__fuser>
endwh
;
freemem<*buf_A>
återstäng <@ rec_A>
;
mkeys_of
;
mouse_off
cursor_on
;
clrscr
stanna <0>
endf
SLUT START