home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
simtel
/
sigm
/
vols000
/
vol082
/
setbit.asm
< prev
next >
Wrap
Assembly Source File
|
1984-04-29
|
614b
|
33 lines
;setbit.asm
;external procedure which sets a bit on in a byte
;
; procedure setbit ( var x : char; bit : integer );
; extern;
; bit# in range 0..7
;
;entry code
db 95,6,0 ;int vmcode
db 92 ;lpn vmcode
db 0 ;mode vmcode
;on entry bc=wtos de=wb hl=wbase
;
;get bit# in b_reg, addr(x) in hl, x into c_reg
setbit xchg ;hl=wb
dcx h! dcx h! dcx h! dcx h
mov b,m ;bit#
dcx h! mov d,m! dcx h! mov e,m ;addr(x)
xchg ;hl=addr(x)
mov c,m ;c=x
;create mask
inr b ;incr loop count
mvi a,1
loop rrc
dcr b
jnz loop
;a=mask c=byte
ora c
mov m,a ;store byte
ret
;
end