home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C!T ROM 2
/
ctrom_ii_b.zip
/
ctrom_ii_b
/
PROGRAM
/
C
/
SMALL_C
/
CALL.MAC
< prev
next >
Wrap
Text File
|
1980-01-01
|
768b
|
43 lines
;
;----- CALL: Small-C arithmetic and logical library
;
; Modified for 8088/8086....
; which is why there's not much in it.
; --RG
;
; EXECUTE "SWITCH" STATEMENT
;
; BX = SWITCH VALUE
; (SP) -> SWITCH TABLE
; DW ADDR1, VALUE1
; DW ADDR2, VALUE2
; ...
; DW 0
; [JMP default]
; continuation
;
INCLUDE PROLOG.H
PUBLIC _CCSWITCH
_CCSWITCH:
POP SI ;Pointer to switch table
CLD ;INCREMENT
SWLOOP:
LODSW ;Get address
MOV DX,AX
OR DX,DX ;Zero? (i.e., end of table?)
JZ SWEND
LODSW ;Get value
CMP AX,BX ;See if match
JNE SWLOOP
JMP DX
SWEND:
JMP SI
PUBLIC _CCARGC
_CCARGC:
CBW
MOV BX,AX
RET
;
INCLUDE EPILOG.H
END