Assembler-Sprachmakrosystem
msystem.zip
411 KB.
Makrosystem
Kurze Beschreibung der Hauptdateien im Archiv.
Das Makrosystem selbst:
MSYSTEM.MAC
Diese Datei enthält das eigentliche Makrosystem.
MMACROS.MAC
Diese Datei enthält zusätzliche nützliche Makrodefinitionen.
MBIOS.MAC
Diese Datei enthält Makrodefinitionen für das IBM-PC-BIOS.
MDOS.MAC
Diese Datei enthält Makrodefinitionen für IBM-PC DOS.
CONIO.MAC
DIR.MAC
FEHLER.MAC
FLOAT.MAC
IO.MAC
KBD.MAC
MATH.MAC
MBIOS.MAC
MEM.MAC
MAUS.MAC
STOV.MAC
STRING.MAC
SYS.MAC
Das Makrosystem selbst:
CHOISE.M
UHR.M
CODER.M
FARBE.M
CURSOR.M
DBEDIT.M
INIT.M
KEY.M
MENÜ.M
MKEYS.M
LESEN.M
REC.M
SAY.M
SCROLL.M
SORT.M
SOUND.M
FENSTER.M
DOKUMENTATION:
MSYSTEM.DOC
Dies ist eine Dokumentationsdatei für das Makrosystem.
EXTA.DOC
MMACROS.DOC
MMEM.DOC
OGLAV.DOC
LESEN.DOC
TITEL.DOC
*.ASM-Dateien Diese Dateien enthalten
Zur Installation auf dem System
Denken Sie daran, dass Assemblerfehler auftreten
Was auch immer Ihr Ansatz ist –
Der Assembler selbst kann hier heruntergeladen werden
tasm25.zip
- 175 KB.
Hier ist zum Beispiel ein einfacher Code
;
;
.MODELL KLEIN
msystem.mac einschließen
sys.mac einschließen
conio.mac einschließen
Mouse.mac einschließen
mem.mac einschließen
kbd.mac einschließen
math.mac einschließen
Cursor.m einschließen
schließen Sie window.m ein
Farbe einschließen.m
inkl. empf.m
dbedit.m einschließen
umfassen say.m
include read.m
Schlüssel einschließen.m
mkeys.m einschließen
inkl. mb.m
size_com = 20000+256
len_stack= 20000
len_vars = 20000
.CODE
BEGIN 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
sagen Sie <@DEBET_NAME,@f_name>
setcolor
sagen Sie <@space,@f_s>
setcolor
sagen Sie <@ DEBET_QUAN,@ f_quan>
setcolor
sagen Sie <@space,@f_s>
setcolor
sagen Sie <@space,@f_s>
setcolor
Sagen Sie <@ KREDIT_NAME,@ f_name>
setcolor
sagen Sie <@space,@f_s>
setcolor
sagen Sie <@ KREDIT_QUAN,@ f_quan>
setcolor
sagen Sie <@space,@f_s>
setcolor
endf
func _fuser,,,1,public
old_color EQU [BP]-1
Film DI, 1
mov AL, cs:mode
Schalter 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, WAHR
while {
mov retr_cho, FALSCH
mkeys_to
mov AL, cs:key_AL
switch AL, {
Fall 1 {
mov AH, cs:key_AH
Schalter AH,
Fall 1 ;
Einfügen von ,
Fall 2 ;
Löschen ,
Fall 3 ;
Sortieren ,
Fall 4;
Fall 5 ;
Dating,
Fall 6 ;
Menüpull
Film DI, 3
Endgehäuse
Fall 2 { ;
Fall 3 ;
Eingabe von ,
Fall 4;
Film fertig, FALSCH
movDI,0
Endgehäuse
endwh}
Endgehäuse
endf
label1 db 'COMING',0
label2 db 'CONSUMPTION',0
title1 db ' Name Menge
ukeys1 db 1Eh,0
ukeys2 db 1Fh,0
skeys1 db 'ENTER',0
nkeys1 db 'ENTER',0
skeys2 db 'INS',0
nkeys2 db 'NEU',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 'SEARCH',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
;--- Kopfverfahren
Funktion main
;
cli
mov SP, size_com+len_stack
sti
;
farrelease <*CS 00.00 size_com+len_stack+len_vars>
initcon
Geben Sie <* size_com+len_stack,0> frei
initsys
initmouse
Cursor_off
;
setcolor <<>>
drawbox
drawbox < 0, 2.79, 2,@ box_main>
Mouse_on
setcolor
sayxy <16, 0,@ label1,@ f_s>
sayxy <56, 0,@ label2,@ f_s>
setcolor
sayxy <0, 1,@ title1,@ f_s>
setcolor
sagen Sie <@ title1,@ f_s>
setcolor <<>>
;
Farbe
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
;
Öffnen Sie <@ rec_A,@ file_A,len_A> erneut
getmem , ;recbuffer
recempty <@ rec_A,@ _mb_empty>
;
Farbe
mov fertig, WAHR
while
dbedit <@ rec_A, 0, 3,79,23,@ cs:__pic,@ cs:__fuser>
endwh
;
freemem<*buf_A>
recclose <@ rec_A>
;
mkeys_of
;
mouse_off
Cursor_on
;
clrscr
halt <0>
endf
ENDE START