OpenCores
URL https://opencores.org/ocsvn/tms1000/tms1000/trunk

Subversion Repositories tms1000

[/] [tms1000/] [trunk/] [rtl/] [icalc.asm] - Rev 2

Compare with Previous | Blame | View Log

.rom @0
    lock : tka    
    kin  : alec 7 
           br k1  
           a8aac
      k1 : retn
           alec 0
           br reset
           br lock

   reset : tcy 6
     re1 : rstr
           dyn 
           br re1
    
    disp : tcy 6              
           br scan2

   scan1 : tya
           tcy  12
           tamiy
    
           tka
           tbit1 1
           br clok
           call kin
           alec 0
           br nok
    
   delay : dan
           br delay
           dyn
           br delay
           call lock
           alec 0
           br nok
           bl key

   noclk : rbit 0
     nok : tcy 12
           tmy
           dyn    ;fetch 1 
            
            
   scan2 : tma
           iyc
           rstr
           dyn
           tdo
    
           setr
           ynec 15
           br scan1
           br disp
    
    clok : alec 7
           br noclk
           tbit1 0
           br nok
    
           sbit 0
           tcy  6
    tst2 : ldp 1
           mnez
           br clk1
           ldp 0
           dyn
           br tst2
    
    
           tya
           ynea
    
           tcy 13
           tcmiy 0
           br nok
           br lock 
           br lock
.rom @1    
    clk1 : tcy 14
           imac
           alec 9
           br clk3
           tcmiy  0
           imac
           alec 5
           br clk3
            
           tcmiy 0
    clk2 : dman
           br clk3
           tcmiy 9
           br clk2
    
    clk3 : tam 
           bl nok
.rom @2    
     key : tcy 6
    clen : xma
           alec 9
           br clen1
           cla
   clen1 : xma
           dyn
           br clen
    
           tcy 13
           ldp 3
           alec 1
           br func
    
    
           ldp 2
           tbit1 3
           br ne_1
           sbit 3
           calll creg
            
    
    ne_1 : tcy 12
           xma
           tbit1 2
           br k4in

           a6aac
    k4in : tcy 5
           mnez
           br exnum
           calll ldata
            
   exnum : bl blank
    
.rom @3    
    func : rbit 3
           tcy 12
           dman
           br not_0
           
    
           tcy 13
           sbit 1
           ynea
           bl lock
    
   not_0 : ldp 15
           alec 0
           br cler
           ldp 6
           alec 1
           br trab
           ldp 4
           alec 2
           br plus
           alec 3
           br mins
           ldp 7
           alec 4
           br mult
    
   divid : ldx 1
           calll creg
            
      d1 : calll sbaa
           alec 0
           br incc
           tcy 0
    trca : ldx 1
           tma
           ldx 0
           tamiy
           ynec 7
           br trca
           bl blank
            
    incc : ldx 1
           tcy 0
    d2 :   imac
           tam
           alec 9
           br d1
           tcmiy 0        
           br d2
.rom @4    
    plus : calll aaba
           
    tob :  bl blank
    
    mins : calll sbaa
    
           alec 0
           br tob
    
           calll creg
           br tob
    
.rom @5        
    aaba : ldx 0
           tcy 0
           cla
    ad1 :  comx
           amaac
           comx
           amaac
           br gt9
           alec 9
           br lt10
    gt9 : a6aac
          tamza
          ia
   incy : iyc
          ynec 7
          br ad1
          retn
   lt10 : tamza
          br incy


    sbaa : ldx 0
           tcy 0
           cla
      s1 : comx
           amaac
           comx
           saman    
           br nobor
           a10aac
           tamza
           ia
   incys : iyc
           ynec 7
           br s1
           retn
    
   nobor : tamza
           br incys
    
.rom @6        
    trac : tcy 0
    t1 :   ldx 0
           tma
           ldx 1
           tamiy
           ynec 7
           br t1
           retn
    
    trab : ldx 3
    tr0 :  tcy 0
    t2 :   comx
           tma
           comx
           tamiy
           ynec 7
           br t2
           retn
           bl blank
    
    rshft : cla
            tcy 6
      r1 :  xma
            dyn 
            br r1
            retn
.rom @7        
    mult : calll trac                
           tcmiy 6
           ldx 0
           calll creg
     ml2 : ldx 1
           tcy 7
           tmy
           dman
           br nobr
           tcy 7
           dman
           br ml1
           bl blank
     ml1 : tam
           ldx 0
    
     
     lshft : cla
    ldata :  tcy 0
    l1    :  xma
             iyc
             ynec 7
             br l1
             retn
            
            br ml2
    nobr :  tam
            calll aaba
            br ml2
    
    
.rom @f        
          cla
          tcy 0
          ynea 
   cler : ldx 3
          call creg
          ldx 1
          call creg
          ldx 0
          
  clall : tcy 7
          br c1
    
   creg : tcy 0
    c1 :  tcmiy 0
          ynec 7
          br c1
          retn
    
    
    blank : ldx 0
            tcy 6          
     bl1 :  mnez
            br brlck
            tcmiy  15       
            dyn
            dyn
            br bl1                                                        
    brlck : bl lock
                        
    .symtab

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.