Whatsapp Telegram Youtube
Service

msystem.zip 411KB.

Macro system

Brief description of the main files in the archive.

The macro system itself:

  • MSYSTEM.MAC This file contains the actual macro system.
  • MMACROS.MAC This file contains additional useful macro definitions.
  • MBIOS.MAC This file contains macro definitions for the IBM-PC BIOS.
  • MDOS.MAC This file contains macro definitions for IBM-PC DOS.
  • CONIO.MAC
  • DIR.MAC
  • ERROR.MAC
  • FLOAT.MAC
  • IO.MAC
  • KBD.MAC
  • MATH.MAC
  • MBIOS.MAC
  • MEM.MAC
  • MOUSE.MAC
  • STOV.MAC
  • STRING.MAC
  • SYS.MAC
  • The macro system itself:

  • CHOISE.M
  • CLOCK.M
  • CODER.M
  • COLOR.M
  • CURSOR.M
  • DBEDIT.M
  • INIT.M
  • KEY.M
  • MENU.M
  • MKEYS.M
  • READ.M
  • REC.M
  • SAY.M
  • SCROLL.M
  • SORT.M
  • SOUND.M
  • WINDOW.M
  • DOCUMENTATION:

  • MSYSTEM.DOC This is a documentation file for the macro system.
  • EXTA.DOC
  • MMACROS.DOC
  • MMEM.DOC
  • OGLAV.DOC
  • READ.DOC
  • TITLE.DOC

  • *.ASM files These files contain

    For installation on the system
    Remember that assembler errors
    Whatever your approach -
    The Assembler itself can be downloaded here tasm25.zip - 175 KB.

    For example, here is a simple code

    ;
    ;

    .MODEL SMALL

    include msystem.mac
    include sys.mac
    include conio.mac
    include mouse.mac
    include mem.mac
    include kbd.mac
    include math.mac
    include cursor.m
    include window.m
    include color.m
    include rec.m
    include dbedit.m
    include say.m
    include read.m
    include key.m
    include mkeys.m

    include 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
    say <@DEBET_NAME,@f_name>
    setcolor
    say <@ space,@ f_s>
    setcolor
    say <@ DEBET_QUAN,@ f_quan>
    setcolor
    say <@ space,@ f_s>
    setcolor
    say <@ space,@ f_s>
    setcolor
    say <@ KREDIT_NAME,@ f_name>
    setcolor
    say <@ space,@ f_s>
    setcolor
    say <@ KREDIT_QUAN,@ f_quan>
    setcolor
    say <@ 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>
    case 1 { ;
    getcolor ,
    setcolor
    reccount <@ rec_A>,
    sayxy <35, 2,@ ii,@ f_w4>
    recrecno <@ rec_A>,
    sayxy <41, 2,@ ii,@ f_w4>
    setcolor
    case 2 {
    mov retr_cho, TRUE
    while {
    mov retr_cho, FALSE
    mkeys_to
    mov AL, cs:key_AL
    switch AL, {
    case 1 {
    mov AH, cs:key_AH
    switch AH,
    case 1 ;
    Inserting ,
    case 2 ;
    Deleting ,
    case 3 ;
    Sorting ,
    case 4 ;
    case 5 ;
    Dating,
    case 6 ;
    menupull
    mov DI, 3
    endcase
    case 2 { ;
    case 3 ;
    Inputing ,
    case 4 ;
    mov done, FALSE
    movDI,0
    endcase
    endwh}
    endcase
    endf

    label1 db 'COMING',0
    label2 db 'CONSUMPTION',0
    title1 db ' Name Quantity

    ukeys1 db 1Eh,0
    ukeys2 db 1Fh,0
    skeys1 db 'ENTER',0
    nkeys1 db 'ENTER',0
    skeys2 db 'INS',0
    nkeys2 db 'NEW',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

    ;--- Head procedure
    func main
    ;
    cli
    mov SP, size_com+len_stack
    sti
    ;
    farrelease <*CS 00.00 size_com+len_stack+len_vars>
    initcon
    release <* size_com+len_stack,0>
    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
    say <@ title1,@ f_s>
    setcolor <<>>
    ;
    color
    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
    ;
    recopen <@ rec_A,@ file_A,len_A>
    getmem , ;recbuffer
    recempty <@ rec_A,@ _mb_empty>
    ;
    color
    mov done, TRUE
    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
    END START

    family list tree collection families pedigree cryptographer surnames names phone secret animal genealogical app trees ancestry heritage gallery codes apple microsoft google huawei allsoft xiaomi samsung appstores screenshots amazon linux