home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2002 September
/
Chip_2002-09_cd1.bin
/
zkuste
/
delphi
/
kompon
/
d123456
/
STR_BIT.ZIP
/
16
/
PSP_8.ASM
< prev
next >
Wrap
Assembly Source File
|
1999-11-25
|
2KB
|
69 lines
CODE SEGMENT
ASSUME cs:CODE,ds:NOTHING
;
adrm equ DWORD PTR ss:[bp+8]
Kol equ WORD PTR ss:[bp+6]
; Procedure GenPsp_8 ( m: pointer , Kol : word);
; Åp«µÑñπpá úÑ¡Ñp¿pπÑΓ KOL íá⌐Γ ÅæÅ ó ¼áßß¿ó ß áñpÑß«¼ î
; ìáτá½∞¡á∩ πßΓá¡«ó¬á pÑú¿ßΓpá ¿ ó¿ñ »«½¿¡«¼á ºáñá±Γß∩
; »p«µÑñπp«⌐ InitPsp
; Å«óΓ«p¡δ⌐ ó맮ó »p«µÑñπpδ »p«ñ«½ªáÑΓ »p«µÑßß úÑ¡Ñpᵿ¿
; ÅæÅ ß »pÑpóá¡¡«ú« º¡áτÑ¡¿∩
;
GenPsp_8 PROC FAR
PUBLIC GenPsp_8
push bp
mov bp,sp ;Å«½πτ¿Γ∞ íáºπ ßΓѬá
les di,adrm ;Å«½πτ¿Γ∞ áñpÑß pѺπ½∞ΓáΓá
mov dx,Kol ;諽¿τÑßΓó« íá⌐Γ
Ustan: mov al,0FFh
Polin: mov bl,00001100b
Cikl_mas: mov cx,8
Cikl_bit: test bl,al ;éδí«p «Γó«ñ«ó »«½¿¡«¼á
jp Sum_0
stc
Sum_0: rcr al,1 ; æúÑ¡Ñp¿p«óá¡ ¡«óδ⌐ í¿Γ »ß»
loop Cikl_bit
stosb ; éδó«ñ ßΣ«p¼¿p«óá¡¡«ú« íá⌐Γá
dec dx
jnz Cikl_mas
mov byte ptr cs:[offset Ustan+1],al
pop bp
ret 6
GenPsp_8 ENDP
;
Pol equ BYTE PTR ss:[bp+8]
Ust equ BYTE PTR ss:[bp+6]
;
; çáñá±Γß∩ ¡áτá½∞¡á∩ πßΓá¡«ó¬á pÑú¿ßΓpá Ust ¿ ó¿ñ »«½¿¡«¼á Pol
; ñ½∩ »p«µÑñπpδ GenPsp
; InPsp_8 ( Pol,Ust : byte);
;
InPsp_8 PROC FAR
PUBLIC InPsp_8
push bp
mov bp,sp ;Å«½πτ¿Γ∞ íáºπ ßΓѬá
mov ah,pol
mov cx,8
p_pol: shr ah,1 ; Å«½πτ¿Γ∞ »«½¿¡«¼ ó »α∩¼«⌐
rcl al,1 ; »«ß½Ññ«óáΓѽ∞¡«ßΓ¿
loop p_pol
mov byte ptr cs:[offset Polin+1],al
stc
op_st: rcr al,1
jnc op_st
mov cl,8
mov bl,Ust
kor_nu: test bl,al
jp Sum_v
stc
Sum_v: rcl bl,1
loop kor_nu
mov byte ptr cs:[offset Ustan+1],bl
pop bp
ret 4
InPsp_8 ENDP
CODE ENDS
END