Hardware Reference
In-Depth Information
LOOP Rloop1
; go back for more
MOV
AX,8000H
; block 1 is at 80000H
MOV
DS,AX
MOV
DI,0
; first location
MOV
CX,0FFFFH
; buffer size 64k
Rloop2
IN
AL,DX
; get a byte
MOV
[DI],AL
; and save it to the buffer
INC
DI
; point to next location
CALL Sdelay
; sampling delay
LOOP Rloop2
; go back for more
POP
DS
POP
SS
POP
DI
POP
SI
POP
BP
; restore base pointer
RET
2
; bye!
Rec ENDP
; This routine records data from the ADC in a
; 128k byte buffer - starting at 70000H
; Registers used: AX,BX,CX,CX,DX,DI,DS
; Parameters passed: 16-bit delay in stack
frame
; Parameter returned: none
PUBLIC Playb
Playb PROC
PUSH BP
; save old base pointer
MOV
BP,SP
; set stack frame pointer
MOV
BX,[BP+6]
; get argument passed
MOV
AX,[BX]
; and preserve in BX
MOV
BX,AX
PUSH SI
PUSH DI
PUSH SS
PUSH DS
MOV
DX,0300H
; port used for analogue input
MOV
AX,7000H
; block 0 is at 70000H
MOV
DS,AX
MOV
DI,0
; first location
MOV
CX,0FFFFH
; buffer size 64k
Ploop1:
MOV
AL,[DI]
; get a byte
OUT
DX,AL
; and output it
INC
DI
; point to next location
CALL Sdelay
; sampling delay
LOOP Ploop1
; go back for more
MOV
AX,8000H
; block 1 is at 80000H
MOV
DS,AX
MOV
DI,0
; first location
MOV
CX,0FFFFH
; buffer size 64k
Search WWH ::




Custom Search