Ignore:
Timestamp:
Oct 20, 2020, 1:10:09 AM (4 years ago)
Author:
chronos
Message:
  • Added: Devices form with tree view of connected devices. Device control form can be opened by double click.
  • Modifid: IN/OUT instructions now use also device group index to directly specify which device should be read/written.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/CpuSingleSize/Sample.asm

    r219 r220  
    33     NOP
    44     NOP
     5     
     6     VAR  DeviceConsole 1
     7     VAR  ConsoleReadChar 0
     8     VAR  ConsoleWriteChar 0
     9     
     10     VAR  DeviceKeyboard 2
     11     
     12     VAR  DeviceScreen 3
     13     VAR  ScreenGetWidth 0
     14     VAR  ScreenGetHeight 1
     15     VAR  ScreenSetAddr 0
     16     VAR  ScreenWrite 1
    517     
    618     ORG 16
     
    6375    PUSH R2
    6476    PUSH R3
    65     SET  R3, 0
     77    PUSH R4
     78    SET  R3, ConsoleWriteChar
     79    SET  R4, DeviceConsole
    6680WriteStrLoop:
    6781    LD   R2, (R0)
    68     OUT  (R3), R2
     82    OUT  (R4: R3), R2
    6983    INC  R0
    7084    DEC  R1
    7185    JNZ  R1, WriteStrLoop
     86    POP  R4
    7287    POP  R3
    7388    POP  R2
    7489    RET
    75    
     90       
    7691ClearScreen:
    7792    PUSH R0
    7893    PUSH R1
    7994    PUSH R2
    80     SET  R0, 1
     95    PUSH R3
     96    SET  R0, ScreenSetAddr
    8197    SET  R1, 0 
    82     OUT  (R0), R1
    83     SET  R0, 3
    84     IN   R1, (R0)
    85     SET  R0, 4
    86     IN   R2, (R0)
     98    SET  R3, DeviceScreen
     99    OUT  (R3: R0), R1
     100    SET  R0, ScreenGetWidth
     101    IN   R1, (R3: R0)
     102    SET  R0, ScreenGetHeight
     103    IN   R2, (R3: R0)
    87104    MUL  R2, R1
    88     SET  R0, 2
     105    SET  R0, ScreenWrite
    89106    SET  R1, 120
    90107ClearScreenLoop:
    91     OUT  (R0), R1
     108    OUT  (R3: R0), R1
    92109    DEC  R2
    93110    JNZ  R2, ClearScreenLoop
     111    POP  R3
    94112    POP  R2
    95113    POP  R1
     
    104122    PUSH R3
    105123    PUSH R2
    106     SET  R3, 0
    107     IN   R2, (R3)
    108     OUT  (R3), R2
     124    PUSH R4
     125    SET  R4, DeviceConsole
     126    SET  R3, ConsoleReadChar
     127    IN   R2, (R4: R3)
     128    SET  R3, ConsoleWriteChar
     129    OUT  (R4: R3), R2
     130    POP  R4
    109131    POP  R2
    110132    POP  R3
Note: See TracChangeset for help on using the changeset viewer.