armin0282
سه شنبه 27 اردیبهشت 1390, 19:00 عصر
سلام این برنامه ای که نوشتم 8 بیت کم ارزش رجیستر فلگ رو داخل AH قرار میده و بعد AF رو set , reset میکنه!!
سوالی که داشتم اینه که واسه دست کاری کردن 8 بیت پر ارزش رجیستر فلگ باید چی کنم،فقط می دونم از pushF باید استفاده کنم اما چطوری؟!!!!
Data segment
msg1 db 'Please Press Any Key For Set AF Flag !!!$',0Dh,0Ah
msg2 db 0Dh,0Ah,'Please Press Any Key For Reset AF Flag !!!$'
ENDS
Stact Segment
db 50 dup (?)
ENDS
Code Segment
begin proc far
assume ds:data,cs:code,ss:stack
push ax
push ds
mov ax,data
mov ds,ax
mov ah,10010110B
SAHF ;SF=1 ,ZF=0 ,0 ,[AF=1] ,0 ,PF=1 ,1 ,CF=0
;Print msg1
lea dx,msg1
mov ah,9
int 21h
;Wait For Press Any key...
mov ah,1
int 21h
LAHF ;AH=10010110
and ah,11101111B ;AH=10010110 AND 11101111B = 10000110
SAHF ;SF=1 ,ZF=0 ,0 ,[AF=0] ,0 ,PF=1 ,1 ,CF=0 Set AF Rigester
;Print msg1
lea dx,msg2
mov ah,9
int 21h
;Wait For Press Any key...
mov ah,1
int 21h
LAHF ;AH=10000110
OR ah,00010000B ;AH=10000110 OR 00010000 = 10010110
SAHF ;SF=1 ,ZF=0 ,0 ,[AF=1] ,0 ,PF=1 ,1 ,CF=0 ReSet AF Rigester
;Wait For Press Any key...
mov ah,1
int 21h
begin endp
END
end begin
سوالی که داشتم اینه که واسه دست کاری کردن 8 بیت پر ارزش رجیستر فلگ باید چی کنم،فقط می دونم از pushF باید استفاده کنم اما چطوری؟!!!!
Data segment
msg1 db 'Please Press Any Key For Set AF Flag !!!$',0Dh,0Ah
msg2 db 0Dh,0Ah,'Please Press Any Key For Reset AF Flag !!!$'
ENDS
Stact Segment
db 50 dup (?)
ENDS
Code Segment
begin proc far
assume ds:data,cs:code,ss:stack
push ax
push ds
mov ax,data
mov ds,ax
mov ah,10010110B
SAHF ;SF=1 ,ZF=0 ,0 ,[AF=1] ,0 ,PF=1 ,1 ,CF=0
;Print msg1
lea dx,msg1
mov ah,9
int 21h
;Wait For Press Any key...
mov ah,1
int 21h
LAHF ;AH=10010110
and ah,11101111B ;AH=10010110 AND 11101111B = 10000110
SAHF ;SF=1 ,ZF=0 ,0 ,[AF=0] ,0 ,PF=1 ,1 ,CF=0 Set AF Rigester
;Print msg1
lea dx,msg2
mov ah,9
int 21h
;Wait For Press Any key...
mov ah,1
int 21h
LAHF ;AH=10000110
OR ah,00010000B ;AH=10000110 OR 00010000 = 10010110
SAHF ;SF=1 ,ZF=0 ,0 ,[AF=1] ,0 ,PF=1 ,1 ,CF=0 ReSet AF Rigester
;Wait For Press Any key...
mov ah,1
int 21h
begin endp
END
end begin