Assembler språk makrosystem
msystem.zip
411KB.
Makrosystem
Kort beskrivelse av hovedfilene i arkivet.
Selve makrosystemet:
MSYSTEM.MAC
Denne filen inneholder det faktiske makrosystemet.
MMACROS.MAC
Denne filen inneholder flere nyttige makrodefinisjoner.
MBIOS.MAC
Denne filen inneholder makrodefinisjoner for IBM-PC BIOS.
MDOS.MAC
Denne filen inneholder makrodefinisjoner for IBM-PC DOS.
CONIO.MAC
DIR.MAC
FEIL.MAC
FLOAT.MAC
IO.MAC
KBD.MAC
MATH.MAC
MBIOS.MAC
MEM.MAC
MUS.MAC
STOV.MAC
STRING.MAC
SYS.MAC
Selve makrosystemet:
VELG.M
KLOKKE.M
KODER.M
FARGE.M
CURSOR.M
DBEDIT.M
INIT.M
NØKKEL.M
MENY.M
MKEYS.M
LES.M
REC.M
SAY.M
SCROLL.M
SORT.M
LYD.M
WINDOW.M
DOKUMENTASJON:
MSYSTEM.DOC
Dette er en dokumentasjonsfil for makrosystemet.
EXTA.DOC
MMACROS.DOC
MMEM.DOC
OGLAV.DOC
LES.DOC
TITLE.DOC
*.ASM-filer Disse filene inneholder
For installasjon på systemet
Husk at assembler feiler
Uansett tilnærming -
Selve Assembleren kan lastes ned her
tasm25.zip
- 175 KB.
For eksempel, her er en enkel kode
;
;
.MODELL LITEN
inkludere msystem.mac
inkludere sys.mac
inkluderer conio.mac
inkluderer mouse.mac
inkludere mem.mac
inkludere kbd.mac
inkludere math.mac
inkludere cursor.m
inkludere vindu.m
inkludere farge.m
inkludere rek.m
inkludere dbedit.m
inkludere si.m
inkludere les.m
inkludere nøkkel.m
inkludere mkeys.m
inkludere mb.m
size_com = 20000+256
len_stack= 20000
len_vars = 20000
.KODE
BEGIN START,100t,_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
settfarge
sayxy
settfarge
si <@DEBET_NAME,@f_name>
settfarge
si <@ space,@ f_s>
settfarge
si <@ DEBET_QUAN,@ f_quan>
settfarge
si <@ space,@ f_s>
settfarge
si <@ space,@ f_s>
settfarge
si <@ KREDIT_NAME,@ f_name>
settfarge
si <@ space,@ f_s>
settfarge
si <@ KREDIT_QUAN,@ f_quan>
settfarge
si <@ space,@ f_s>
settfarge
endf
func _fuser,,,1,public
old_color EQU [BP]-1
mov DI, 1
mov AL, cs:modus
bryter AL,<0,1>
tilfelle 1 { ;
getcolor ,
settfarge
gjenta <@ rec_A>,
sayxy <35, 2,@ ii,@ f_w4>
recrecno <@ rec_A>,
sayxy <41, 2,@ ii,@ f_w4>
settfarge
sak 2 {
mov retr_cho, TRUE
mens {
mov retr_cho, FALSE
mkeys_to
mov AL, cs:key_AL
bryter AL, {
sak 1 {
mov AH, cs:key_AH
bryter AH,
tilfelle 1;
Setter inn ,
tilfelle 2;
Sletter ,
tilfelle 3;
Sortering ,
tilfelle 4;
tilfelle 5;
Dating,
tilfelle 6;
menyoppull
mov DI, 3
endekasse
tilfelle 2 { ;
tilfelle 3;
Legger inn ,
tilfelle 4;
mov ferdig, FALSKT
movDI,0
endekasse
endwh}
endekasse
endf
label1 db 'KOMMER',0
label2 db 'FORBRUK',0
title1 db ' Navn Antall
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 'AVSLUTT',0
;--- Hodeprosedyre
func main
;
cli
mov SP, size_com+len_stack
sti
;
farrelease <*CS 00.00 size_com+len_stack+len_vars>
initcon
utgivelse <* size_com+len_stack,0>
initsys
initmus
cursor_off
;
setcolor <<>>
drawbox
drawbox < 0, 2.79, 2,@ box_main>
mus_på
settfarge
sayxy <16, 0,@ label1,@ f_s>
sayxy <56, 0,@ label2,@ f_s>
settfarge
sayxy <0, 1,@ tittel1,@ f_s>
settfarge
si <@ tittel1,@ f_s>
setcolor <<>>
;
farge
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
;
åpne <@ rec_A,@ file_A,len_A> på nytt
getmem , ;recbuffer
recempty <@ rec_A,@ _mb_empty>
;
farge
mov ferdig, SANN
mens
dbedit <@ rec_A, 0, 3,79,23,@ cs:__pic,@ cs:__fuser>
endwh
;
freemem<*buf_A>
lukk <@ rec_A> på nytt
;
mkeys_of
;
mouse_off
cursor_on
;
clrscr
stopp <0>
endf
SLUTT START