السلام عليكم
بدي مساعده من حضراتكم في فهم البرنامج التالي لانو في شغله خربطت لي راسي :S
0 ZRO __ /return address stored here
1 BUN SRV /Branch to service routine
100 CLA /portion of running program
101 ION /Turn on interrupt facility
102 LDA X
103 ADD Y /Interrupt occurs here
104 STA Z /program returns here after interrupt
. .
. .
. /Interrupt serivice routine
200 SRV, STA SAC /Store content of AC
CIR /move E into AC(1)
STA SE /store content of E
SKI /check input flag
BUN NEXT /flag is off,check next flag
INP /flag is on,input character
OUT /print character
STA PT1 I /store it in input buffer
ISZ PT1 /increment input pointer
NXT , SKO /check output flag
BUN EXT /flag is off,exit
LDA PTR I /Load character from output buffer
OUT /Output character
ISZ PTR2 /Increment output pointer
EXT, LDA SE /Restore value of AC(1)
CIL /Shift it to E
LDA SAC /Restore content of AC
ION /Turn interrupt on
BUN ZRO I /Return to running program
SAC, ___ /AC is stored here
SE, ___ /E is stored here
PT1, ___ /Pointer of input buffer
PT2, ___ /Pointer of output bufferاللي بدي اعرفو شو بنستفيد من عمل سيركيوليت رايت لمحتوى الاكيوميليتر
وفالنهايه رجعنا القيمه مثل ماكنت بعمل سيركيوليت ليفت ،،مع اننا ماستفدنا من قيمه الاكستندد ؟؟؟