Example 71. initializing the refresh control unit – Intel 80C188XL User Manual
Page 190

7-11
REFRESH CONTROL UNIT
Example 7-1. Initializing the Refresh Control Unit
$mod186
name
example_80C186_RCU_code
; FUNCTION: This function initializes the DRAM Refresh
; Control Unit to refresh the DRAM starting at dram_addr
; at clock_time intervals.
; SYNTAX:
; extern void far config_rcu(int dram_addr, int clock_time);
; INPUTS:
dram_addr - Base address of DRAM to refresh
;
clock_time - DRAM refresh rate
; OUTPUTS:
None
;
NOTE: Parameters are passed on the stack as
;
required by high-level languages.
RFBASE
equ xxxxh
;substitute register offset
RFTIME
equ xxxxh
RFCON
equ xxxxh
Enable
equ 8000h
;enable bit
lib_80186
segment public 'code'
assume cs:lib_80186
public _config_rcu
_config_rcu
proc far
push bp
;save caller's bp
mov bp, sp
;get current top of stack
_clock_time
equ word ptr[bp+6]
;get parameters off
_dram_addr
equ word ptr[bp+8]
;the stack
push ax
;save registers that
push cx
;will be modified
push dx
push di