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

Subversion Repositories cpu8080

[/] [cpu8080/] [trunk/] [project/] [scs1.asm] - Diff between revs 9 and 11

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 9 Rev 11
Line 1... Line 1...
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!                                                                              !
!                                                                              !
!                  IMSAI SCS-1 MONITOR/ASSEMBLER FOR 8080 CPU                  !
!                  IMSAI SCS-1 MONITOR/ASSEMBLER FOR 8080 CPU                  !
!                                                                              !
!                                                                              !
! This copy was converted to IP assembler.                                     !
! This copy was converted to IP assembler, and is modified to run on the       !
 
! MITS serial I/O board, which had jumper selectable baud rates only.          !
!                                                                              !
!                                                                              !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
!
!       page    62
!       page    62
!       title           'imsai scs-1 rev. 2 06 oct. 1976'
!       title           'imsai scs-1 rev. 2 06 oct. 1976'
!
!
tts:    equ     $03
! MITS serial I/O board equates
tti:    equ     $02
!
tto:    equ     $02
tts:    equ     $20
ttyda:  equ     $02
tti:    equ     $21
ttytr:  equ     $01
tto:    equ     $21
 
ttyda:  equ     $01
 
ttytr:  equ     $80
!
!
        jmp     inita           ! dead start
        jmp     inita           ! dead start
        jmp     eor             ! restart monitor
        jmp     eor             ! restart monitor
!
!
        alignp  $08
        alignp  $08
        jmp     brkp            ! breakpoint restart
        jmp     brkp            ! breakpoint restart
!
!
        alignp  $40
        alignp  $40
!
!
! this routine sets up the sio board
 
!
 
inita:  mvi     a,$aa           ! get dummy mode word
 
        out     tts             ! output it
 
        mvi     a,$40           ! get reset bit
 
        out     tts             ! reset sio board
 
        mvi     a,$ce           ! get real mode word
 
        out     tts             ! set the mode for real
 
        mvi     a,$37           ! get the command
 
        out     tts             ! output it
 
!
 
! this routine initializes the file aread for subsequent
! this routine initializes the file aread for subsequent
! processing
! processing
!
!
 
inita:
        lxi     h,file0
        lxi     h,file0
        mvi     c,maxfil*felen
        mvi     c,maxfil*felen
        xra     a
        xra     a
init2:  mov     m,a
init2:  mov     m,a
        inx     h
        inx     h
Line 138... Line 131...
        jmp     cler
        jmp     cler
!
!
! see if tty input ready and check for ctrl x.
! see if tty input ready and check for ctrl x.
!
!
ink:    in      tts             ! get tty status
ink:    in      tts             ! get tty status
        cma                     ! invert status
 
        ani     ttyda           ! is data available?
        ani     ttyda           ! is data available?
        rnz                     ! return if not
        rnz                     ! return if not
        in      tti             ! get the char
        in      tti             ! get the char
        ani     $7f             ! strip off parity
        ani     $7f             ! strip off parity
        cpi     'x'-$40         ! is it a ctrl x?
        cpi     'x'-$40         ! is it a ctrl x?
        ret
        ret
!
!
! this routine reads a byte of data from the usart
! this routine reads a byte of data from the usart
!
!
in8:    in      tts             ! read usart status
in8:    in      tts             ! read usart status
 
        cma                     ! invert status
        ani     ttyda
        ani     ttyda
        jz      in8
        jz      in8
        in      tti             ! read data
        in      tti             ! read data
        ani     127             ! strip off parity
        ani     127             ! strip off parity
        mov     b,a
        mov     b,a
Line 160... Line 153...
 
 
!
!
! this routine outputs a byte of data to the usart
! this routine outputs a byte of data to the usart
!
!
out8:   in      tts             ! read status
out8:   in      tts             ! read status
 
        cma                     ! invert status
        ani     ttytr
        ani     ttytr
        jz      out8
        jz      out8
ok:     mov     a,b
ok:     mov     a,b
        out     tto             ! transmit data
        out     tto             ! transmit data
        ret
        ret
Line 2305... Line 2299...
area:   defvs    18
area:   defvs    18
obuf:   defvs    16
obuf:   defvs    16
        defvs    5
        defvs    5
ibuf:   defvs    83
ibuf:   defvs    83
swch:   equ     $ff
swch:   equ     $ff
symt:   equ     _
symt:   defvs
symt:   defvs
symt:   defvs

powered by: WebSVN 2.1.0

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