📄 tables.8
字号:
;
; initialization tables
;
; (C)1997-2001 Pascal Dornier / PC Engines; All rights reserved.
; This file is licensed pursuant to the COMMON PUBLIC LICENSE 0.5.
;
;
; Initial initialization table (used in post2)
;
clrtab: db cm_nmi+cm_b,cm_idx ;RTC: disable NMI
db 2,cm_dat ;RTC: BCD mode, interrupt disable
db cm_nmi+cm_a,cm_idx ;RTC: 32768 Hz oscillator, 1ms int
db 26h,cm_dat
db 4,dma0+8 ;disable dma0
db 4,dma1+8+8 ;disable dma1
db 0,dma0+0dh ;reset dma0 (data don't care)
db 0,dma1+0dh+0dh ;reset dma1 (data don't care)
db 0fh,dma0+0fh ;mask all channels
db 0fh,dma1+0fh+0fh ;mask all channels
db 0,dma0+8 ;Enable dma0
db 0,dma1+8+8 ;Enable dma1
db 0fch,port61 ;disable parity
#if def NO_ISAREF
db 50h,timer+3
#else
db 54h,timer+3 ;init refresh
#endif
db 12h,timer+1 ;refresh interval
db 0ffh,0ffh ;end of table
;
; Timer, DMA, PIC initialization table (used in post2)
;
; first data byte, then port address
;
tdmatab: db 0,dma1+8+8 ;Enable dma1
db 0c0h,dma1+0bh+0bh ;Cascade mode, channel 4
db 041h,dma1+0bh+0bh ;Single mode, channel 5
db 042h,dma1+0bh+0bh ;Single mode, channel 6
db 043h,dma1+0bh+0bh ;Single mode, channel 7
db 0,dma1+09h+09h ;clear DRQ4 request
db 0,dma1+0ah+0ah ;unmask DRQ4 -> enable cascade
db 0,dma0+8 ;Enable dma0
db 40h,dma0+0bh ;Single mode, channel 0
db 41h,dma0+0bh ;Single mode, channel 1
db 42h,dma0+0bh ;Single mode, channel 2
db 43h,dma0+0bh ;Single mode, channel 3
db 0,npx+1 ;clear x87 interrupt
db 11h,pic0 ;ICW1: edge, ICW4
db 08h,pic0+1 ;ICW2: interrupt vector 08..0F
db 04h,pic0+1 ;ICW3: IRQ2 is used for cascade
db 01h,pic0+1 ;ICW4: 8086 mode
db 0ffh,pic0+1 ;OCW: mask all interrupts
db 11h,pic1 ;ICW1: edge, ICW4
db 70h,pic1+1 ;ICW2: interrupt vector 70..77
db 02h,pic1+1 ;ICW3: slave identification number
db 01h,pic1+1 ;ICW4: 8086 mode
db 0ffh,pic1+1 ;OCW: mask all interrupts
db 26h,port92 ;enable A20 gate
db 0ffh,0ffh ;end of table
;
; baud rates, H/L swapped
;
rs_baud: db 04,17h ;110 baud
db 03,00h ;150 baud
db 01,80h ;300 baud
db 00,0c0h ;600 baud
db 00,60h ;1200 baud
db 00,30h ;2400 baud
db 00,18h ;4800 baud
db 00,0ch ;9600 baud
;
; serial port I/O addresses (points to scratch register)
;
rs_ports: dw 3ffh,2ffh,3efh,2efh,287h,28fh
dw 297h,29fh,2F7h,377h,0 ;0 = end of table
;
; parallel port I/O addresses
;
lp_ports: dw 03bch,0378h,0278h,0 ;0 = end of table
;
; RTC initialization table
;
; Note: When location cm_dia is set to 80, MS-DOS will ignore the
; RTC date and set 1980.
;
rtc_tab: db 0,cm_ss ;00: second
db 0,cm_ssa ;01: alarm second
db 0,cm_mm ;02: minute
db 0,cm_mma ;03: alarm minute
db 0,cm_hh ;04: hour
db 0,cm_hha ;05: alarm hour
db 0,cm_day ;06: day of week
db 1,cm_dd ;07: day
db 1,cm_mo ;08: month
db 00h,cm_yy ;09: year
db 80h,cm_dia ;0E: power loss flag
db 20h,cm_cent ;32: century
rtc_tab9: ;end of table
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -