Keithley IE-488 Manual page 45

Table of Contents

Advertisement

MOV DS,AX
MOV SI,IE
BUSY
CMP DS:[ST],OOOlH
JE IEEE RTN
MOV WORE PTR DS:[SI],OOOlH
POP DS
PUSH DS
MOV BX,[BP]+12
MOV AX,[BP]+lO
MOV CX,[BPl+B
MOV SI,[BP]+6
MOV DX,[SI]
MOV AX,ROM SEG
MOV DS,AX -
MOV SI,BASADR
MOV DS:[SI],DX
MOV SI,ERRFLG
MOV DS:[SI],CX
MOV SI,VARPTR
MOV DS:[SI],AX
POP AX
PUSH AX
MOV SI,DATSEG
MOV DS:[SI],AX
MOV DX,ROM SEG
MOV ES,DX -
MOV DS,AX
SUB CX,CX
MOV CX,[BX]
MOV SI,2[BXl
JMP DWORD PTR IEE488 PROG
-
IEEE RTN:
-
MOV AX,0060H
JMP DWORD PTR IOERTN
IEE488 PROG:
DD
OC0000048H
IOERTNf
DD
OCOOOOB90H
IE488
ENDP
IE488SEG
ENDS
END
;DS points
to ROM SEG
;internal
pointer
;BUSY ?
ireturn
to caller
;now were busy
;basic
data
seg
;restore
stack
;string
descpt
ptr
;ARG #2
;ARG #3
;address
of interface
;base
address,
device
;get
rom seg address
inew data
seg
iinternal
pointer
;save
base address
;save
flag
ptr
ivariable
pointer
;BASIC data
seg
-save data
seg.
,
:BASIC DATA SEG
;cx = 0
;BYTE COUNT WORD
;cmd string
pointer
;START PROGRAM
;BUSY RTN CODE
-long
error
return
,
;point
to ROM START
;error
return
handler
Step
2.
Assemble
the
above
module
and name the
file
IE488
then
use the
linker
to combine
the Basic
compiled
program.OBJ
and IE488.OBJ
The Assembly
language
link
using
basic
is
outlined
in the
BASIC
Reference
manual
and also
in the
IBM BASIC COMPILER reference
manual.
Page 39

Advertisement

Table of Contents
loading

Table of Contents