با سلام دوباره!!!!
دوتاسوال داشتم از محضر استاد سیاد :
1.چرا برای set,clear کردن OF,TF دستورالعمل مستقیمی وجود ندارد؟
2.شبه کد یا الگوریتمی که با استفاده از ان بتوان به دلخواه OF را set,clear کرد
با سلام،
در مورد TF یا Trap Flag: این جا نوشته شده که تنها توسط Debug registerها قابل تغییره! یعنی معماری داخلی پردازنده طوریه که تنها به وسیله ی این رجیسترها می شه به این فلگ دسترسی داشت!
در مورد OF یا Overflow Flag:
از اونجایی که این فلگ تنها طی عملیات ریاضی و یا مقایسه ی اعداد علامت دار تغییر می کنه پس باید تو قطعه برنامه تون از این عملیات برای تغییرش استفاده کنید!
در عمل مقایسه داریم: If ((S=0) and (O=1)) or ((S=1) and (O=0)) then Oprnd1 < Oprnd2 when using a signed comparison If ((S=0) and (O=0)) or ((S=1) and (O=1)) then Oprnd1 >= Oprnd2 when using a signed comparison
برای ریست کردن هم می شه از دستورات منطقی استفاده کرد! مثلاً XOR تمام فلگ ها رو ریست می کنه!
همین طور دستور Test که تأثیری روی عملوندها نداره اما فلگ ها رو تغییر می ده!