From 8f3e6438a3143b147445dfd83296705ebc5f8bee Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Mon, 14 Apr 2014 14:22:18 -0700 Subject: [PATCH] SCP: Added the NEXT command. This command provides the ability for a simulator to step over subroutine calls. --- README.md | 1 + doc/simh.doc | 2468 +++++++++++++++++++++++++------------------------- scp.c | 36 +- scp.h | 9 +- sim_defs.h | 17 +- 5 files changed, 1284 insertions(+), 1247 deletions(-) diff --git a/README.md b/README.md index be136f8e..527bfb8b 100644 --- a/README.md +++ b/README.md @@ -214,6 +214,7 @@ The "!" command (execute a command on the local OS), now returns the command's e SHOW DEFAULT Show working directory DIR {path|file} Display file listing LS {path|file} Display file listing + NEXT Step across a subroutine call or step a single instruction. #### Command Processing Enhancements diff --git a/doc/simh.doc b/doc/simh.doc index 19a23016..d9954e1e 100644 --- a/doc/simh.doc +++ b/doc/simh.doc @@ -5,22 +5,22 @@ {\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;} {\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;} {\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;} -{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f290\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f291\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} -{\f293\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f294\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f295\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f296\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} -{\f297\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f298\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f300\fbidi \fswiss\fcharset238\fprq2 Arial CE;}{\f301\fbidi \fswiss\fcharset204\fprq2 Arial Cyr;} -{\f303\fbidi \fswiss\fcharset161\fprq2 Arial Greek;}{\f304\fbidi \fswiss\fcharset162\fprq2 Arial Tur;}{\f305\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f306\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);} -{\f307\fbidi \fswiss\fcharset186\fprq2 Arial Baltic;}{\f308\fbidi \fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\f310\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}{\f311\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;} -{\f313\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f314\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f315\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f316\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);} -{\f317\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f318\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f402\fbidi \fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt MS ??};} -{\f400\fbidi \fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt MS ??};}{\f401\fbidi \fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt MS ??};}{\f403\fbidi \fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt MS ??};} -{\f404\fbidi \fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt MS ??};}{\f407\fbidi \fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt MS ??};}{\f630\fbidi \froman\fcharset238\fprq2 Cambria Math CE;} -{\f631\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f633\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f634\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f637\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;} -{\f638\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f660\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f661\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f663\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;} -{\f664\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f667\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f668\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\f670\fbidi \fswiss\fcharset238\fprq2 Tahoma CE;} -{\f671\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f673\fbidi \fswiss\fcharset161\fprq2 Tahoma Greek;}{\f674\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur;}{\f675\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);} -{\f676\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f677\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic;}{\f678\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f679\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai);} -{\f682\fbidi \fmodern\fcharset0\fprq1 @MS Mincho Western;}{\f680\fbidi \fmodern\fcharset238\fprq1 @MS Mincho CE;}{\f681\fbidi \fmodern\fcharset204\fprq1 @MS Mincho Cyr;}{\f683\fbidi \fmodern\fcharset161\fprq1 @MS Mincho Greek;} -{\f684\fbidi \fmodern\fcharset162\fprq1 @MS Mincho Tur;}{\f687\fbidi \fmodern\fcharset186\fprq1 @MS Mincho Baltic;}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} +{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f291\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f292\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} +{\f294\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f295\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f296\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f297\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} +{\f298\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f299\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f301\fbidi \fswiss\fcharset238\fprq2 Arial CE;}{\f302\fbidi \fswiss\fcharset204\fprq2 Arial Cyr;} +{\f304\fbidi \fswiss\fcharset161\fprq2 Arial Greek;}{\f305\fbidi \fswiss\fcharset162\fprq2 Arial Tur;}{\f306\fbidi \fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f307\fbidi \fswiss\fcharset178\fprq2 Arial (Arabic);} +{\f308\fbidi \fswiss\fcharset186\fprq2 Arial Baltic;}{\f309\fbidi \fswiss\fcharset163\fprq2 Arial (Vietnamese);}{\f311\fbidi \fmodern\fcharset238\fprq1 Courier New CE;}{\f312\fbidi \fmodern\fcharset204\fprq1 Courier New Cyr;} +{\f314\fbidi \fmodern\fcharset161\fprq1 Courier New Greek;}{\f315\fbidi \fmodern\fcharset162\fprq1 Courier New Tur;}{\f316\fbidi \fmodern\fcharset177\fprq1 Courier New (Hebrew);}{\f317\fbidi \fmodern\fcharset178\fprq1 Courier New (Arabic);} +{\f318\fbidi \fmodern\fcharset186\fprq1 Courier New Baltic;}{\f319\fbidi \fmodern\fcharset163\fprq1 Courier New (Vietnamese);}{\f403\fbidi \fmodern\fcharset0\fprq1 MS Mincho Western{\*\falt MS ??};} +{\f401\fbidi \fmodern\fcharset238\fprq1 MS Mincho CE{\*\falt MS ??};}{\f402\fbidi \fmodern\fcharset204\fprq1 MS Mincho Cyr{\*\falt MS ??};}{\f404\fbidi \fmodern\fcharset161\fprq1 MS Mincho Greek{\*\falt MS ??};} +{\f405\fbidi \fmodern\fcharset162\fprq1 MS Mincho Tur{\*\falt MS ??};}{\f408\fbidi \fmodern\fcharset186\fprq1 MS Mincho Baltic{\*\falt MS ??};}{\f631\fbidi \froman\fcharset238\fprq2 Cambria Math CE;} +{\f632\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr;}{\f634\fbidi \froman\fcharset161\fprq2 Cambria Math Greek;}{\f635\fbidi \froman\fcharset162\fprq2 Cambria Math Tur;}{\f638\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic;} +{\f639\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese);}{\f661\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f662\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}{\f664\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;} +{\f665\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f668\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f669\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\f671\fbidi \fswiss\fcharset238\fprq2 Tahoma CE;} +{\f672\fbidi \fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f674\fbidi \fswiss\fcharset161\fprq2 Tahoma Greek;}{\f675\fbidi \fswiss\fcharset162\fprq2 Tahoma Tur;}{\f676\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);} +{\f677\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f678\fbidi \fswiss\fcharset186\fprq2 Tahoma Baltic;}{\f679\fbidi \fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f680\fbidi \fswiss\fcharset222\fprq2 Tahoma (Thai);} +{\f683\fbidi \fmodern\fcharset0\fprq1 @MS Mincho Western;}{\f681\fbidi \fmodern\fcharset238\fprq1 @MS Mincho CE;}{\f682\fbidi \fmodern\fcharset204\fprq1 @MS Mincho Cyr;}{\f684\fbidi \fmodern\fcharset161\fprq1 @MS Mincho Greek;} +{\f685\fbidi \fmodern\fcharset162\fprq1 @MS Mincho Tur;}{\f688\fbidi \fmodern\fcharset186\fprq1 @MS Mincho Baltic;}{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;} {\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;} {\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;} {\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;} @@ -192,14 +192,14 @@ Body Text Indent 2 Char;}{\s36\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum {\listoverride\listid22442644\listoverridecount0\ls12}{\listoverride\listid1502426668\listoverridecount0\ls13}{\listoverride\listid1645162521\listoverridecount0\ls14}{\listoverride\listid1064328194\listoverridecount0\ls15}{\listoverride\listid2112620548 \listoverridecount0\ls16}{\listoverride\listid1484007768\listoverridecount0\ls17}{\listoverride\listid1523011899\listoverridecount0\ls18}{\listoverride\listid56512481\listoverridecount0\ls19}{\listoverride\listid154348404\listoverridecount0\ls20} {\listoverride\listid1106123233\listoverridecount0\ls21}{\listoverride\listid1463183950\listoverridecount0\ls22}{\listoverride\listid1999114611\listoverridecount0\ls23}{\listoverride\listid586499726\listoverridecount0\ls24}{\listoverride\listid1510413937 -\listoverridecount0\ls25}{\listoverride\listid40597282\listoverridecount0\ls26}{\listoverride\listid1893996833\listoverridecount0\ls27}}{\*\revtbl {Unknown;}{Mark Pizzolato;}}{\*\rsidtbl \rsid399520\rsid873649\rsid1049593\rsid1264706\rsid1448590\rsid2634434\rsid2698330\rsid2774735 -\rsid2965961\rsid3806017\rsid3867041\rsid3891160\rsid3941693\rsid3951926\rsid4462419\rsid4550150\rsid4873001\rsid5979563\rsid6823027\rsid7174065\rsid7228120\rsid7674256\rsid8084824\rsid8129972\rsid8352301\rsid9308345\rsid9462171\rsid9796111\rsid9973523 -\rsid10051909\rsid10171116\rsid10236607\rsid10761920\rsid11095770\rsid11167734\rsid13708998\rsid13897431\rsid14047945\rsid14383756\rsid14693620\rsid14750569\rsid14776269\rsid14886970\rsid15957281\rsid16013944\rsid16122207}{\mmathPr\mmathFont34\mbrkBin0 -\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\title Writing a Simulator for the SIMH System}{\author Bob Supnik}{\operator Mark Pizzolato}{\creatim\yr1997\mo8\dy30\hr19} -{\revtim\yr2013\mo5\dy23\hr6\min34}{\printim\yr2008\mo8\dy17\hr11\min45}{\version108}{\edmins2451}{\nofpages39}{\nofwords14885}{\nofchars84847}{\*\company Digital Equipment Corporation}{\nofcharsws99533}{\vern49275}}{\*\userprops {\propname Google.Documen -ts.Tracking}\proptype30{\staticval true}{\propname Google.Documents.DocumentId}\proptype30{\staticval 1rIV2md8II8tvgen3oBPYJ5vx9jEYxIlDXSuziX4tDsk}{\propname Google.Documents.RevisionId}\proptype30{\staticval 08425900961188845220}{\propname Google.Documen -ts.PreviousRevisionId}\proptype30{\staticval 13221101916392696283}{\propname Google.Documents.PluginVersion}\proptype30{\staticval 2.0.2662.553}{\propname Google.Documents.MergeIncapabilityFlags}\proptype3{\staticval 0}}{\*\xmlnstbl {\xmlns1 http://schema -s.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect +\listoverridecount0\ls25}{\listoverride\listid40597282\listoverridecount0\ls26}{\listoverride\listid1893996833\listoverridecount0\ls27}}{\*\revtbl {Unknown;}{Mark Pizzolato;}}{\*\rsidtbl \rsid97392\rsid399520\rsid873649\rsid1049593\rsid1264706\rsid1448590\rsid2634434\rsid2698330 +\rsid2774735\rsid2965961\rsid3806017\rsid3867041\rsid3891160\rsid3941693\rsid3951926\rsid4462419\rsid4550150\rsid4873001\rsid5979563\rsid6823027\rsid7150830\rsid7174065\rsid7228120\rsid7674256\rsid8075036\rsid8084824\rsid8129972\rsid8352301\rsid9308345 +\rsid9462171\rsid9796111\rsid9973523\rsid10051909\rsid10171116\rsid10236607\rsid10761920\rsid10947117\rsid11095770\rsid11167734\rsid13708998\rsid13897431\rsid14047945\rsid14383756\rsid14511781\rsid14693620\rsid14750569\rsid14776269\rsid14886970 +\rsid15957281\rsid16013624\rsid16013944\rsid16122207}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\title Writing a Simulator for the SIMH System}{\author Bob Supnik} +{\operator Mark Pizzolato}{\creatim\yr1997\mo8\dy30\hr19}{\revtim\yr2014\mo4\dy14\hr14\min14}{\printim\yr2008\mo8\dy17\hr11\min45}{\version110}{\edmins2471}{\nofpages39}{\nofwords15002}{\nofchars85517}{\*\company Digital Equipment Corporation} +{\nofcharsws100319}{\vern49167}}{\*\userprops {\propname Google.Documents.Tracking}\proptype30{\staticval true}{\propname Google.Documents.DocumentId}\proptype30{\staticval 1rIV2md8II8tvgen3oBPYJ5vx9jEYxIlDXSuziX4tDsk}{\propname Google.Documents.RevisionI +d}\proptype30{\staticval 08425900961188845220}{\propname Google.Documents.PreviousRevisionId}\proptype30{\staticval 13221101916392696283}{\propname Google.Documents.PluginVersion}\proptype30{\staticval 2.0.2662.553}{\propname Google.Documents.MergeIncapab +ilityFlags}\proptype3{\staticval 0}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect \widowctrl\ftnbj\aenddoc\revisions\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0 \noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\formshade\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot\nolnhtadjtbl\rsidroot1049593 \donotshowmarkup1\fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}} @@ -208,10 +208,12 @@ s.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\marg \qc \fi-720\li720\ri0\widctlpar\wrapdefault\faauto\outlinelevel0\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Writing a Simulator for the SIMH System \par }\pard \ltrpar\qc \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Revised }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 -\b\f1\fs32\cf0\revised\revauth1\revdttm-2028619358\insrsid2965961 \hich\af1\dbch\af31505\loch\f1 23}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\deleted\f1\fs32\revauthdel1\revdttmdel-2028619358\insrsid2634434\delrsid2965961 \hich\af1\dbch\af31505\loch\f1 1 -\hich\af1\dbch\af31505\loch\f1 5}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\insrsid10051909 -}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\insrsid2634434 \hich\af1\dbch\af31505\loch\f1 May}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 -\b\f1\fs32\insrsid10051909 \hich\af1\dbch\af31505\loch\f1 -201}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\insrsid14693620 \hich\af1\dbch\af31505\loch\f1 3}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 for SIMH }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\insrsid10051909 \hich\af1\dbch\af31505\loch\f1 V4.0}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\insrsid4550150 +\b\f1\fs32\cf0\revised\revauth1\revdttm656700301\insrsid97392 \hich\af1\dbch\af31505\loch\f1 14}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\deleted\f1\fs32\revauthdel1\revdttmdel-2028619358\insrsid2634434\delrsid2965961 \hich\af1\dbch\af31505\loch\f1 15}{ +\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\insrsid10051909 -}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\deleted\f1\fs32\revauthdel1\revdttmdel656700301\insrsid2634434\delrsid97392 \hich\af1\dbch\af31505\loch\f1 May}{\rtlch\fcs1 \ab\af1\afs32 +\ltrch\fcs0 \b\f1\fs32\cf0\revised\revauth1\revdttm656700301\insrsid97392 \hich\af1\dbch\af31505\loch\f1 Apr}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\insrsid10051909 \hich\af1\dbch\af31505\loch\f1 -201}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 +\b\f1\fs32\cf0\revised\revauth1\revdttm656700301\insrsid97392 \hich\af1\dbch\af31505\loch\f1 4}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\deleted\f1\fs32\revauthdel1\revdttmdel656700301\insrsid14693620\delrsid97392 \hich\af1\dbch\af31505\loch\f1 3}{ +\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 for SIMH }{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 \b\f1\fs32\insrsid10051909 \hich\af1\dbch\af31505\loch\f1 V4.0}{\rtlch\fcs1 \ab\af1\afs32 \ltrch\fcs0 +\b\f1\fs32\insrsid4550150 \par }\pard\plain \ltrpar\s36\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af2\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af2\hich\af2\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af2 \ltrch\fcs0 \b\loch\af1\hich\af1\dbch\af11\insrsid4550150 \par @@ -241,564 +243,557 @@ me of Robert M Supnik shall not be used in advertising or otherwise to promote t \dbch\af11\insrsid4550150 \page }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par }\pard\plain \ltrpar\s23\ql \li0\ri0\sb120\widctlpar\tx600\tqr\tldot\tx9350\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\ai\af0\afs24\alang1025 \ltrch\fcs0 \b\i\fs24\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\field\fldedit{\*\fldinst {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 TOC \\o }}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 -\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 1.}{\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 -\b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Overview\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 -_Toc357054080 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003000380030000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 4}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 \b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 2.}{\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 -\b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Data Types\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 -_Toc357054081 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003000380031000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 4}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 \b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 3.}{\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 -\b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -VM Organization\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054082 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003000380032000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 5}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 \b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 +\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 1.}{\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 +\b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Overview +\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248184 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003100380034000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 4}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 \b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 2.}{\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 +\b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Data Types +\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248185 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003100380035000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 4}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 \b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 3.}{\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 +\b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +VM Organization\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 +_Toc385248186 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003100380036000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 5}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 \b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \par }\pard\plain \ltrpar\s24\ql \li200\ri0\sb120\widctlpar\tx800\tqr\tldot\tx9350\wrapdefault\faauto\adjustright\rin0\lin200\itap0 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 3.1} -{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 CPU Organization\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 P -\hich\af0\dbch\af31505\loch\f0 AGEREF \hich\af0\dbch\af31505\loch\f0 _Toc357054083 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003000380033000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 6}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 +\b\fs22\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 3.1}{ +\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 CPU Organization\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF +\hich\af0\dbch\af31505\loch\f0 _Toc385248187 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003100380037000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 6}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \par }\pard\plain \ltrpar\s25\ql \li400\ri0\widctlpar\tx1200\tqr\tldot\tx9350\wrapdefault\faauto\adjustright\rin0\lin400\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 { -\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 3.1.1}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Time Base\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 -_Toc357054084 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003000380034000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 6}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 3.1.2}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Step Function\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 -_Toc357054085 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003000380035000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 6}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 3.1.3}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Memory Organization\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054086 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003000380036000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 7}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 3.1.4}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Interrupt Organization\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054087 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003000380037000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 7}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 3.1.5}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -I/O Dispatching\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054088 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003000380038000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 8}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 3.1.6}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Instruction Execution\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054089 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003000380039000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 8}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 +\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 3.1.1}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Time Base\tab } +{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248188 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003100380038000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 6}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 3.1.2}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Step Function +\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248189 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003100380039000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 6}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 3.1.3}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +Memory Organization\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF +\hich\af0\dbch\af31505\loch\f0 _Toc385248190 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003100390030000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 7}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 3.1.4}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +Interrupt Organization\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF +\hich\af0\dbch\af31505\loch\f0 _Toc385248191 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003100390031000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 7}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 3.1.5}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 I/O Dispatching +\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248192 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003100390032000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 8}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 3.1.6}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Instruc +\hich\af0\dbch\af31505\loch\f0 tion Execution\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF +\hich\af0\dbch\af31505\loch\f0 _Toc385248193 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003100390033000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 8}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \par }\pard\plain \ltrpar\s24\ql \li200\ri0\sb120\widctlpar\tx800\tqr\tldot\tx9350\wrapdefault\faauto\adjustright\rin0\lin200\itap0 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 3.2} -{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Peripheral Device Organization\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -\hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc357054090 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003000390030000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 9}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 +\b\fs22\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 3.2}{ +\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 Peripheral Device Organization\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +\hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248194 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003100390034000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 9}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \par }\pard\plain \ltrpar\s25\ql \li400\ri0\widctlpar\tx1200\tqr\tldot\tx9350\wrapdefault\faauto\adjustright\rin0\lin400\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 { -\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 3.2.1}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Device Timing\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 -_Toc357054091 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003000390031000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 10}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 3.2.2}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Clock Calibration\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054092 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003000390032000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 11}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 3.\hich\af0\dbch\af31505\loch\f0 2.3}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 Idling -\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc357054093 -\\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003000390033000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 11}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 3.2.4}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 Data I/O -\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc357054094 -\\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003000390034000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 12}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 +\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 3.2.1}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Device Timing +\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248195 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003100390035000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 10}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 3.2.2}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +Clock Calibration\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 +_Toc385248196 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003100390036000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 11}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 3.2.3}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Idling\tab } +{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248197 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003100390037000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 11}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 3.2.4}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Data I/O\tab } +{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248198 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003100390038000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 12}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \par }\pard\plain \ltrpar\s23\ql \li0\ri0\sb120\widctlpar\tx600\tqr\tldot\tx9350\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\ai\af0\afs24\alang1025 \ltrch\fcs0 -\b\i\fs24\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4. -}{\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 \b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 Data Structures\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 -\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc357054095 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 -\ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003000390035000000}}}{\fldrslt {\rtlch\fcs1 \af0 -\ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 13}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 -\b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 +\b\i\fs24\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.}{ +\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 \b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 +\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Data Structures\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 +\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248199 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003100390039000000}}}{\fldrslt {\rtlch\fcs1 \af0 +\ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 13}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 +\b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \par }\pard\plain \ltrpar\s24\ql \li200\ri0\sb120\widctlpar\tx800\tqr\tldot\tx9350\wrapdefault\faauto\adjustright\rin0\lin200\itap0 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.1} -{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 sim_device Structure\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 -PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc357054096 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003000390036000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 13}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 +\b\fs22\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.1}{ +\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 sim_device Structure\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 +PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248200 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200300030000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 13}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \par }\pard\plain \ltrpar\s25\ql \li400\ri0\widctlpar\tx1200\tqr\tldot\tx9350\wrapdefault\faauto\adjustright\rin0\lin400\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 { -\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.1.1}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Awidth and Aincr\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054097 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003000390037000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 15}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.1.2}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 Device F -\hich\af0\dbch\af31505\loch\f0 lags\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054098 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003000390038000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 15}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.1.3}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 Context -\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc357054099 -\\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003000390039000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 15}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.1.4}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Examine and Deposit Routines\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054100 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100300030000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 15}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.1.5}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Reset Routine\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 -_Toc357054101 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100300031000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 16}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.1.6}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Boot Routine\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 -_Toc357054102 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100300032000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 16}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.1.7}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Attach and Detach Routines\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054103 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100300033000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 16}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.1.8}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Memory Size Change Routine\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054104 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100300034000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 17}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.1.9}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Debug Controls\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 -_Toc357054105 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100300035000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 17}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.1.10}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Device Specific Help support\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054106 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100300036000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 18}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.1.11}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Help Routine\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 -_Toc357054107 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100300037000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 18}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.1.12}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Attach Help Routine\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054108 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100300038000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 19}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 +\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.1.1}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Awidth and Aincr +\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248201 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200300031000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 15}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.1.2}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Device Flags +\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248202 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200300032000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 15}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.1\hich\af0\dbch\af31505\loch\f0 .3}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Context\tab } +{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248203 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200300033000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 15}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.1.4}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +Examine and Deposit Routines\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF +\hich\af0\dbch\af31505\loch\f0 _Toc385248204 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200300034000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 15}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.1.5}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Reset Routine +\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248205 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200300035000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 16}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.1.6}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Boot Routine +\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248206 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200300036000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 16}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.1.7}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +Attach and Detach Routines\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF +\hich\af0\dbch\af31505\loch\f0 _Toc385248207 \\\hich\af0\dbch\af31505\loch\f0 h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200300037000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 16}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.1.8}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +Memory Size Change Routine\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF +\hich\af0\dbch\af31505\loch\f0 _Toc385248208 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200300038000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 17}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.1.9}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Debug Controls +\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248209 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200300039000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 17}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.1.10}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +Device Specific Help support\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF +\hich\af0\dbch\af31505\loch\f0 _Toc385248210 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200310030000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 18}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.1.11}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Help Routine +\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248211 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200310031000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 18}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.1.12}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +Attach Help Routine\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF +\hich\af0\dbch\af31505\loch\f0 _Toc385248212 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200310032000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 19}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \par }\pard\plain \ltrpar\s24\ql \li200\ri0\sb120\widctlpar\tx800\tqr\tldot\tx9350\wrapdefault\faauto\adjustright\rin0\lin200\itap0 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.2} -{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 sim_unit Structure\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 -PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc357054109 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100300039000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 19}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 +\b\fs22\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.2}{ +\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 sim_unit Structure\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF +\hich\af0\dbch\af31505\loch\f0 _Toc385248213 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200310033000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 19}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \par }\pard\plain \ltrpar\s25\ql \li400\ri0\widctlpar\tx1200\tqr\tldot\tx9350\wrapdefault\faauto\adjustright\rin0\lin400\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 { -\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.2.1}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Unit Flags\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 -_Toc357054110 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100310030000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 20}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.2.2}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Service Routine\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054111 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100310031000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 20}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 +\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.2.1}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Unit Flags\tab } +{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248214 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200310034000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 20}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.2.2}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Service Routine +\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248215 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200310035000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 20}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \par }\pard\plain \ltrpar\s24\ql \li200\ri0\sb120\widctlpar\tx800\tqr\tldot\tx9350\wrapdefault\faauto\adjustright\rin0\lin200\itap0 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.3} -{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 sim_reg Structure\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 -PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc357054112 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100310032000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 20}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 +\b\fs22\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.3}{ +\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 sim_reg Structure\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF +\hich\af0\dbch\af31505\loch\f0 _Toc385248216 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200310036000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 20}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \par }\pard\plain \ltrpar\s25\ql \li400\ri0\widctlpar\tx1200\tqr\tldot\tx9350\wrapdefault\faauto\adjustright\rin0\lin400\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 { -\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.3.1}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Register Flags\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 -_Toc357054113 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100310033000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 22}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 +\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4\hich\af0\dbch\af31505\loch\f0 .3.1}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Register Flags +\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248217 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200310037000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 22}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \par }\pard\plain \ltrpar\s24\ql \li200\ri0\sb120\widctlpar\tx800\tqr\tldot\tx9350\wrapdefault\faauto\adjustright\rin0\lin200\itap0 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.4} -{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 sim_bitfield Structure\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 -PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc357054114 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100310034000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 22}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.5}{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 -\b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -sim_mtab Structure\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054115 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100310035000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 23}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 +\b\fs22\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.4}{ +\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 sim_bitfield Structure\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 +PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248218 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200310038000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 22}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.5}{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 +\b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 sim_mtab Structure +\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248219 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200310039000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 23}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \par }\pard\plain \ltrpar\s25\ql \li400\ri0\widctlpar\tx1200\tqr\tldot\tx9350\wrapdefault\faauto\adjustright\rin0\lin400\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 { -\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.5.1}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Validation Routine\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054116 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100310036000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 25}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.5.2}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Display Routine\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054117 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100310037000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 25}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.5.3}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Help Flags\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 -_Toc357054118 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100310038000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 25}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.5.4}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Example arguments in the }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 mstring}{\rtlch\fcs1 \af0 \ltrch\fcs0 -\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -\hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc357054119 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100310039000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 26}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.5.5}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Help field\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 -_Toc357054120 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100320030000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 26}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 +\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.5.1}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +Validation Routine\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 +_Toc385248220 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200320030000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 25}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.5.2}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Display Routine +\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248221 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200320031000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 25}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.5.3}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Help Flags\tab } +{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248222 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200320032000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 25}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.5.4}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +Example arguments in the }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 mstring}{\rtlch\fcs1 \af0 \ltrch\fcs0 +\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +\hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248223 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200320033000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 26}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.5.5}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Help field\tab } +{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248224 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200320034000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 26}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \par }\pard\plain \ltrpar\s24\ql \li200\ri0\sb120\widctlpar\tx800\tqr\tldot\tx9350\wrapdefault\faauto\adjustright\rin0\lin200\itap0 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 4.6} -{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Other Data Structures\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 -PAGEREF \hich\af0\dbch\af31505\loch\f0 _\hich\af0\dbch\af31505\loch\f0 Toc357054121 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100320031000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 26}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 +\b\fs22\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 4.6}{ +\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 Other Data Structures\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 +PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248225 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200320035000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 26}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \par }\pard\plain \ltrpar\s23\ql \li0\ri0\sb120\widctlpar\tx600\tqr\tldot\tx9350\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\ai\af0\afs24\alang1025 \ltrch\fcs0 -\b\i\fs24\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 5. -}{\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 \b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 VM Provided Routines\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 -\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc357054122 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 -\ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100320032000000}}}{\fldrslt {\rtlch\fcs1 \af0 -\ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 26}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 -\b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 +\b\i\fs24\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 5.}{ +\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 \b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 +\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 VM Provided Routines\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 +\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248226 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200320036000000}}}{\fldrslt {\rtlch\fcs1 \af0 +\ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 26}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 +\b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \par }\pard\plain \ltrpar\s24\ql \li200\ri0\sb120\widctlpar\tx800\tqr\tldot\tx9350\wrapdefault\faauto\adjustright\rin0\lin200\itap0 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 5.1} -{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Instruction Execution\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 -PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc357054123 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100320033000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 26}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 5.2}{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 -\b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Binary Load and Dump\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054124 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100320034000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 27}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 5.3}{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 -\b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Symbolic Examination and Deposit\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054125 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100320035000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 27}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 5.4}{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 -\b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Optional Interfaces\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054126 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100320036000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 28}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 +\b\fs22\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 5.1}{ +\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 Instruction Execution\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 +PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248227 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200320037000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 26}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 5.2}{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 +\b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +Binary Load and Dump\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF +\hich\af0\dbch\af31505\loch\f0 _Toc385248228 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200320038000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 27}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 5.3}{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 +\b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +Symbolic Examination and Deposit\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF +\hich\af0\dbch\af31505\loch\f0 _Toc385248229 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200320039000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 27}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 5.4}{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 +\b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +Optional Interfaces\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF\hich\af0\dbch\af31505\loch\f0 + \hich\af0\dbch\af31505\loch\f0 _Toc385248230 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200330030000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 28}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \par }\pard\plain \ltrpar\s25\ql \li400\ri0\widctlpar\tx1200\tqr\tldot\tx9350\wrapdefault\faauto\adjustright\rin0\lin400\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 { -\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 5.4.1}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Once Only Initialization Routine\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054127 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100320037000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 28}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 5.4.2}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Address Input and Display\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054128 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100320038000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 28}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 5.4.3}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Command Input and Post-Processing\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054129 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100320039000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 28}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 5.4.4}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -VM-Specific Commands\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054130 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100330030000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 29}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 +\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 5.4.1}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +Once Only Initialization Routine\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF +\hich\af0\dbch\af31505\loch\f0 _Toc385248231 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200330031000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 28}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 5.4.2}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +Address Input and Display\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF +\hich\af0\dbch\af31505\loch\f0 _Toc385248232 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200330032000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 28}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 5.4.3}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +Command Input and Post-Processing\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF +\hich\af0\dbch\af31505\loch\f0 _Toc385248233 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200330033000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 28}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 5.4.4}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +VM-Specific Commands\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGER\hich\af0\dbch\af31505\loch\f0 +EF \hich\af0\dbch\af31505\loch\f0 _Toc385248234 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200330034000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 29}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 5.4.5}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +VM-Support for stepping over subroutine calls\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF +\hich\af0\dbch\af31505\loch\f0 _Toc385248235 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200330035000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 29}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \par }\pard\plain \ltrpar\s23\ql \li0\ri0\sb120\widctlpar\tx600\tqr\tldot\tx9350\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\ai\af0\afs24\alang1025 \ltrch\fcs0 -\b\i\fs24\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 6. -}{\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 \b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 -\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 Other SCP Facilities\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 -\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc357054131 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 -\ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100330031000000}}}{\fldrslt {\rtlch\fcs1 \af0 -\ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 29}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 -\b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 +\b\i\fs24\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 6.}{ +\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 \b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 +\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Other SCP Facilities\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 +\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248236 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 +\ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200330036000000}}}{\fldrslt {\rtlch\fcs1 \af0 +\ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 29}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\ai0\af31507\afs22 \ltrch\fcs0 +\b0\i0\f31506\fs22\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \par }\pard\plain \ltrpar\s24\ql \li200\ri0\sb120\widctlpar\tx800\tqr\tldot\tx9350\wrapdefault\faauto\adjustright\rin0\lin200\itap0 \rtlch\fcs1 \ab\af0\afs22\alang1025 \ltrch\fcs0 -\b\fs22\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 6.1} -{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Terminal Input/Output Formatting Library\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -\hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc357054132 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100330032000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 29}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 6.2}{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 -\b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Terminal Multiplexer Emulation Library\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 _Toc357054133 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100330033000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 30}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 6.3}{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 -\b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Magnetic Tape Emulation Library\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054134 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100330034000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 35}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 6.4}{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 -\b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Disk Emulation Library\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054135 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100330035000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 36}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001\charrsid16013624 \hich\af0\dbch\af31505\loch\f0 6.5}{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 -\b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 -Breakpoint Support\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF -\hich\af0\dbch\af31505\loch\f0 _Toc357054136 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 {\*\datafield -08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300350037003000350034003100330036000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 -\hich\af0\dbch\af31505\loch\f0 38}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm-2028619360\noproof\insrsid4873001 +\b\fs22\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 6.1}{ +\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 Terminal Input/Output Formatting Library\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +\hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248237 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200330037000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 29}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 6.2}{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 +\b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +Terminal Multiplexer Emu\hich\af0\dbch\af31505\loch\f0 lation Library\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +\hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248238 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200330038000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 30}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 6.3}{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 +\b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +Magnetic Tape Emulation Library\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF +\hich\af0\dbch\af31505\loch\f0 _Toc385248239 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200330039000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 35}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 6.4}{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 +\b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 +Disk Emulation Library\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF +\hich\af0\dbch\af31505\loch\f0 _Toc385248240 \\h\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200340030000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 37}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392\charrsid6694090 \hich\af0\dbch\af31505\loch\f0 6.5}{\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 +\b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 Breakpoint Support +\tab }{\field{\*\fldinst {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \hich\af0\dbch\af31505\loch\f0 \hich\af0\dbch\af31505\loch\f0 PAGEREF \hich\af0\dbch\af31505\loch\f0 _Toc385248241 \\h +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 {\*\datafield +08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380035003200340038003200340031000000}}}{\fldrslt {\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 +\hich\af0\dbch\af31505\loch\f0 38}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \ab0\af31507 \ltrch\fcs0 \b0\f31506\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700302\noproof\insrsid97392 \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 -\deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 1.}{\rtlch\fcs1 \ab\ai\af31507\afs22 \ltrch\fcs0 +\deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 1.}{\rtlch\fcs1 \ab\ai\af0\afs22 \ltrch\fcs0 \b\i\deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Overview\tab \hich\af0\dbch\af31505\loch\f0 4}{\rtlch\fcs1 \ab\ai\af31507\afs22 \ltrch\fcs0 \b\i\deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 2.}{\rtlch\fcs1 \ab\ai\af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Overview\tab 4}{\rtlch\fcs1 \ab\ai\af0\afs22 \ltrch\fcs0 \b\i\deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 2.}{\rtlch\fcs1 \ab\ai\af0\afs22 \ltrch\fcs0 \b\i\deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Data Types\tab \hich\af0\dbch\af31505\loch\f0 4}{\rtlch\fcs1 \ab\ai\af31507\afs22 \ltrch\fcs0 \b\i\deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.}{\rtlch\fcs1 \ab\ai\af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Data Types\tab 4}{\rtlch\fcs1 \ab\ai\af0\afs22 \ltrch\fcs0 \b\i\deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.}{\rtlch\fcs1 \ab\ai\af0\afs22 \ltrch\fcs0 \b\i\deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 VM Organization\tab \hich\af0\dbch\af31505\loch\f0 5}{\rtlch\fcs1 \ab\ai\af31507\afs22 \ltrch\fcs0 \b\i\deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.1}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 VM Organization\tab 5}{\rtlch\fcs1 \ab\ai\af0\afs22 \ltrch\fcs0 \b\i\deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.1}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 CPU Organization\tab \hich\af0\dbch\af31505\loch\f0 6}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.1.1}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 CPU Organization\tab 6}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.1.1}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Time Base\tab \hich\af0\dbch\af31505\loch\f0 6}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.1.2}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Time Base\tab 6}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.1.2}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Step Function\tab \hich\af0\dbch\af31505\loch\f0 6}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.1.3}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Step Function\tab 6}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.1.3}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Memory Organization\tab \hich\af0\dbch\af31505\loch\f0 7}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.1.4}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Memory Organization\tab 7}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.1.4}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Interrupt Organization\tab \hich\af0\dbch\af31505\loch\f0 7}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.1.5}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Interrupt Organization\tab 7}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.1.5}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 I/O Dispatching\tab \hich\af0\dbch\af31505\loch\f0 8}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.1.6}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 I/O Dispatching\tab 8}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.1.6}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Instruction Execution\tab \hich\af0\dbch\af31505\loch\f0 8}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.2}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Instruction Execution\tab 8}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.2}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 P\hich\af0\dbch\af31505\loch\f0 eripheral Device Organization\tab \hich\af0\dbch\af31505\loch\f0 9}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 -\b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.2.1}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Peripheral Device Organization\tab 9}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.2.1}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Device Timing\tab \hich\af0\dbch\af31505\loch\f0 10}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.2.2}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Device Timing\tab 10}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.2.2}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Clock Calibration\tab \hich\af0\dbch\af31505\loch\f0 11}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.2.3}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Clock Calibration\tab 11}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.2.3}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Idling\tab \hich\af0\dbch\af31505\loch\f0 11}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.2.4}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Idling\tab 11}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 3.2.4}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Data I/O\tab \hich\af0\dbch\af31505\loch\f0 12}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.}{\rtlch\fcs1 \ab\ai\af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Data I/O\tab 12}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.}{\rtlch\fcs1 \ab\ai\af0\afs22 \ltrch\fcs0 \b\i\deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Data Structures\tab \hich\af0\dbch\af31505\loch\f0 13}{\rtlch\fcs1 \ab\ai\af31507\afs22 \ltrch\fcs0 \b\i\deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Data Structures\tab 13}{\rtlch\fcs1 \ab\ai\af0\afs22 \ltrch\fcs0 \b\i\deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 sim_device Structure\tab \hich\af0\dbch\af31505\loch\f0 13}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.1}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 sim_device Structure\tab 13}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.1}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Awidth and Aincr\tab \hich\af0\dbch\af31505\loch\f0 15}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.2}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Awidth and Aincr\tab 15}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.2}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Device Flags\tab \hich\af0\dbch\af31505\loch\f0 15}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.3}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Device Flags\tab 15}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.3}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Context\tab \hich\af0\dbch\af31505\loch\f0 15}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.4}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Context\tab 15}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.4}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Exa\hich\af0\dbch\af31505\loch\f0 mine and Deposit Routines\tab \hich\af0\dbch\af31505\loch\f0 15}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.5}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Examine and Deposit Routines\tab 15}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.5}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Reset Routine\tab \hich\af0\dbch\af31505\loch\f0 16}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.6}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Reset Routine\tab 16}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.6}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Boot Routine\tab \hich\af0\dbch\af31505\loch\f0 16}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.7}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Boot Routine\tab 16}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.7}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Attach and Detach Routines\tab \hich\af0\dbch\af31505\loch\f0 16}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 - -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.8}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Attach and Detach Routines\tab 16}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.8}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Memory Size Change Routine\tab \hich\af0\dbch\af31505\loch\f0 17}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 - -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.9}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Memory Size Change Routine\tab 17}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.9}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Debug Controls\tab \hich\af0\dbch\af31505\loch\f0 17}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.10}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Debug Controls\tab 17}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.10}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Device Specific Help support\tab \hich\af0\dbch\af31505\loch\f0 18}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 - -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.11}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Device Specific Help support\tab 18}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.1\hich\af0\dbch\af31505\loch\f0 1}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Help Routine\tab \hich\af0\dbch\af31505\loch\f0 18}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.12}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Help Routine\tab 18}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.1.12}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Attach Help Routine\tab \hich\af0\dbch\af31505\loch\f0 19}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.2}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Attach Help Routine\tab 19}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.2}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 sim_unit Structure\tab \hich\af0\dbch\af31505\loch\f0 19}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.2.1}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 sim_unit Structure\tab 19}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.2.1}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Unit Flags\tab \hich\af0\dbch\af31505\loch\f0 20}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.2.2}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Unit Flags\tab 20}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.2.2}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Service Routine\tab \hich\af0\dbch\af31505\loch\f0 20}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.3}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Service Routine\tab 20}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.3}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 sim_reg Structure\tab \hich\af0\dbch\af31505\loch\f0 20}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.3.1}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 sim_reg Structure\tab 20}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.3.1}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Register Flags\tab \hich\af0\dbch\af31505\loch\f0 22}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.4}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Register Flags\tab 22}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.4}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 s\hich\af0\dbch\af31505\loch\f0 im_bitfield Structure\tab \hich\af0\dbch\af31505\loch\f0 22}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 -\b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.5}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 sim_bitfield Structure\tab 22}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.5}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 sim_mtab Structure\tab \hich\af0\dbch\af31505\loch\f0 23}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.5.1}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 sim_mtab Structure\tab 23}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.5.1}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Validation Routine\tab \hich\af0\dbch\af31505\loch\f0 25}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.5.2}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Validation Routine\tab 25}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.5.2}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Display Routine\tab \hich\af0\dbch\af31505\loch\f0 25}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.5.3}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Display Routine\tab 25}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.5.3}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Help Flags\tab \hich\af0\dbch\af31505\loch\f0 25}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.5.4}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Help Flags\tab 25}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.5.4}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \hich\af0\dbch\af31505\loch\f0 Example arguments in the }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 mstring}{ -\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab \hich\af0\dbch\af31505\loch\f0 26}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab \hich\af0\dbch\af31505\loch\f0 26}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.5.5}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.5.5}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Help field\tab \hich\af0\dbch\af31505\loch\f0 26}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.6}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Help field\tab 26}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 4.6}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Other Data Structures\tab \hich\af0\dbch\af31505\loch\f0 26}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 5.}{\rtlch\fcs1 \ab\ai\af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Other Data Structures\tab 26}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 5.}{\rtlch\fcs1 \ab\ai\af0\afs22 \ltrch\fcs0 \b\i\deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 VM Provided Routines\tab \hich\af0\dbch\af31505\loch\f0 26}{\rtlch\fcs1 \ab\ai\af31507\afs22 \ltrch\fcs0 \b\i\deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 - -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 5.1}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 VM Provided Routines\tab 26}{\rtlch\fcs1 \ab\ai\af0\afs22 \ltrch\fcs0 \b\i\deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 5.1}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Instruction Execution\tab \hich\af0\dbch\af31505\loch\f0 26}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 5.2}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Instruction Execution\tab 26}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 5.2}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Binary Load and Dump\tab \hich\af0\dbch\af31505\loch\f0 27}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 5.3}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Binary Load and Dump\tab 27}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 5.3}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Symbolic Examination and Deposit\tab \hich\af0\dbch\af31505\loch\f0 27}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 - -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 5.4}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Symbolic Examination and Deposit\tab \hich\af0\dbch\af31505\loch\f0 27}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 5.4}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Optional Interfaces\tab \hich\af0\dbch\af31505\loch\f0 28}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 5.4.1}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Optional Interfaces\tab 28}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 5.4.1}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Once Only Initialization Routine\tab \hich\af0\dbch\af31505\loch\f0 28}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 - -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 5.4.2}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Once Only Initialization Routine\tab 28}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 5.4.2}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Address Input and Display\tab \hich\af0\dbch\af31505\loch\f0 28}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 5.4.3}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Address Input and Display\tab 28}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 5.4.3}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Command Input and Post-Processing\tab \hich\af0\dbch\af31505\loch\f0 28}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 -\deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 5.4.4}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Command Input and Post-Processing\tab 28}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 5.4.4}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 VM-Specific Commands\tab \hich\af0\dbch\af31505\loch\f0 29}{\rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 6.}{\rtlch\fcs1 \ab\ai\af31507\afs22 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 VM-Specific Commands\tab 29}{\rtlch\fcs1 \af0\afs22 \ltrch\fcs0 \deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 6.}{\rtlch\fcs1 \ab\ai\af0\afs22 \ltrch\fcs0 \b\i\deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Other SCP Facilities\tab \hich\af0\dbch\af31505\loch\f0 29}{\rtlch\fcs1 \ab\ai\af31507\afs22 \ltrch\fcs0 \b\i\deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 - -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 6.1}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Other SCP Facilities\tab 29}{\rtlch\fcs1 \ab\ai\af0\afs22 \ltrch\fcs0 \b\i\deleted\f31506\fs22\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 6.1}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Terminal Input/Output Formatting Library\tab \hich\af0\dbch\af31505\loch\f0 29}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 -\b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 6.2}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Terminal Input/Output Formatting Library\tab 29}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 6.2}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Terminal Multiplexer Emulation Library\tab \hich\af0\dbch\af31505\loch\f0 30}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 - -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 6.3}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Terminal Multiplexer Emulation Library\tab 30}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 6.3}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Magnetic Tape Emulation Library\tab \hich\af0\dbch\af31505\loch\f0 35}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 6.4}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Magnetic Tape Emulation Library\tab 35}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 6.4}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Disk Emulation Library\tab \hich\af0\dbch\af31505\loch\f0 36}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 6.5}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 +\hich\af0\dbch\af31505\loch\f0 Disk Emulation Library\tab 36}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001\charrsid8075036 \hich\af0\dbch\af31505\loch\f0 6.5}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \tab }{\rtlch\fcs1 \af0 \ltrch\fcs0 \deleted\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 -\hich\af0\dbch\af31505\loch\f0 Breakpoint Support\tab \hich\af0\dbch\af31505\loch\f0 38}{\rtlch\fcs1 \ab\af31507 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 +\hich\af0\dbch\af31505\loch\f0 Breakpoint Support\tab 38}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\deleted\f31506\lang1024\langfe1024\revauthdel1\revdttmdel-2028619360\noproof\insrsid4873001\delrsid4873001 \par }}}\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 \sectd \ltrsect \linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \page -\par {\*\bkmkstart _Toc357054080}{\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af0\afs28 \ltrch\fcs0 \b\f1\fs28\kerning28\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 1.\tab}}\pard\plain \ltrpar\s1\ql \fi-360\li360\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248184}{\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af0\afs28 \ltrch\fcs0 \b\f1\fs28\kerning28\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 1.\tab}}\pard\plain \ltrpar\s1\ql \fi-360\li360\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx360\wrapdefault\faauto\ls1\outlinelevel0\adjustright\rin0\lin360\itap0 \rtlch\fcs1 \ab\af1\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang1033\langfe1033\kerning28\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Overview{\*\bkmkend _Toc357054080} +\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Overview{\*\bkmkend _Toc385248184} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 @@ -810,40 +805,40 @@ d, this manual presents and explains the form, meaning, and operation of the int \hich\af1\dbch\af31505\loch\f1 l\hich\af1\dbch\af31505\loch\f1 simulators operating within SIMH will experience. \par \par \hich\af1\dbch\af31505\loch\f1 Some terminology: Each simulator consists of a standard }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 simulator control package}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 (SCP and related libraries), which provides a control framework and utility routines for a simulator; and a unique }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 virtual machine}{ -\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (VM), which implements the simulated processor and selected peripherals. A VM consists of multiple }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 devices}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 , such as the CPU, paper tape reader, disk controller, etc. Each controller consists of a named state space (called }{\rtlch\fcs1 -\ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 registers}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ) and o\hich\af1\dbch\af31505\loch\f1 ne or more }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 -\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 units}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . Each unit consists of a numbered state space (called a }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 data set}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ). }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 }{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 The }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 host computer}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - is the system on which SIMH runs; the }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 target computer}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 is the system being simulated. - +\hich\af1\dbch\af31505\loch\f1 (SCP and related libraries), which provides a control framework and utility routines for a simulator; and a unique }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 virtual +\hich\af1\dbch\af31505\loch\f1 machine}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (VM), which implements the simulated processor and selected peripherals. A VM consists of multiple }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 +\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 devices}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +, such as the CPU, paper tape reader, disk controller, etc. Each controller consists of a named state space (called }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 registers}{\rtlch\fcs1 \af1 \ltrch\fcs0 +\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ) and one or m\hich\af1\dbch\af31505\loch\f1 ore }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 units}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 . Each unit consists of a numbered state space (called a }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 data set}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 ). }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 The }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 +\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 host computer}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 is the system on which SIMH runs; the }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 target computer}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 is the system being simulated. \par -\par \hich\af1\dbch\af31505\loch\f1 SIMH is unabashedly based on the MIMIC simulation system, designed\hich\af1\dbch\af31505\loch\f1 in the late 1960\hich\f1 \rquote \loch\f1 s by Len Fehskens, Mike McCarthy, and Bob Supnik. This document is based on MIMIC +\par \hich\af1\dbch\af31505\loch\f1 SIMH is unabashedly based on the MIMIC simulation system, designed in the\hich\af1\dbch\af31505\loch\f1 late 1960\hich\f1 \rquote \loch\f1 s by Len Fehskens, Mike McCarthy, and Bob Supnik. This document is based on MIMIC \hich\f1 \rquote \loch\f1 \hich\f1 s published interface specification, \'93\loch\f1 \hich\f1 How to Write a Virtual Machine for the MIMIC Simulation System\'94\loch\f1 , by Len Fehskens and Bob Supnik. \par -\par {\*\bkmkstart _Toc357054081}{\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af0\afs28 \ltrch\fcs0 \b\f1\fs28\kerning28\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 2.\tab}}\pard\plain \ltrpar\s1\ql \fi-360\li360\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248185}{\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af0\afs28 \ltrch\fcs0 \b\f1\fs28\kerning28\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 2.\tab}}\pard\plain \ltrpar\s1\ql \fi-360\li360\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx360\wrapdefault\faauto\ls1\outlinelevel0\adjustright\rin0\lin360\itap0 \rtlch\fcs1 \ab\af1\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang1033\langfe1033\kerning28\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Da\hich\af1\dbch\af31505\loch\f1 ta Types{\*\bkmkend _Toc357054081} +\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Data Type\hich\af1\dbch\af31505\loch\f1 s{\*\bkmkend _Toc385248185} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 -SIMH is written in C. The host system must support (at least) 32-bit data types (64-bit data types for the PDP-10 and other large-word target systems). To cope with the vagaries of C data types, SIMH defines some unambiguous data t -\hich\af1\dbch\af31505\loch\f1 ypes for its interfaces: +SIMH is written in C. The host system must support (at least) 32-bit data types (64-bit data types for the PDP-10 and other large-word target systems). To cope with the vagaries of C data types, SIMH defines some unambiguous data types fo +\hich\af1\dbch\af31505\loch\f1 r its interfaces: \par \par \tab \hich\af1\dbch\af31505\loch\f1 SIMH data type\tab \tab \tab interpretation in typical 32-bit C \par \par \tab \hich\af1\dbch\af31505\loch\f1 int8, uint8\tab \tab \tab signed char, unsigned char \par \tab \hich\af1\dbch\af31505\loch\f1 int16, uint16\tab \tab \tab signed short, unsigned short \par \tab \hich\af1\dbch\af31505\loch\f1 int32, uint32\tab \tab \tab signed int, unsigned int -\par \tab \hich\af1\dbch\af31505\loch\f1 t_int64, t_uint64\tab \tab \tab long long, _int64 (system\hich\af1\dbch\af31505\loch\f1 specific) +\par \tab \hich\af1\dbch\af31505\loch\f1 t_int64, t_uint64\tab \tab \tab long long, _int64 (system specif\hich\af1\dbch\af31505\loch\f1 ic) \par \tab \hich\af1\dbch\af31505\loch\f1 t_addr\tab \tab \tab \tab simulated address, uint32 or t_uint64 \par \tab \hich\af1\dbch\af31505\loch\f1 t_value\tab \tab \tab \tab simulated value, uint32 or t_uint64 \par \tab \hich\af1\dbch\af31505\loch\f1 t_svalue\tab \tab \tab simulated signed value, int32 or t_int64 \par \tab \hich\af1\dbch\af31505\loch\f1 t_mtrec\tab \tab \tab \tab mag tape record length, uint32 \par \tab \hich\af1\dbch\af31505\loch\f1 t_stat\tab \tab \tab \tab status code, int -\par \tab \hich\af1\dbch\af31505\loch\f1 t_bool\tab \tab \tab \tab true/false va\hich\af1\dbch\af31505\loch\f1 lue, int +\par \tab \hich\af1\dbch\af31505\loch\f1 t_bool\tab \tab \tab \tab true/false value, in\hich\af1\dbch\af31505\loch\f1 t \par \par \hich\af1\dbch\af31505\loch\f1 [The inconsistency in naming t_int64 and t_uint64 is due to Microsoft VC++, which uses int64 as a structure name member in the master Windows definitions file.] \par @@ -857,27 +852,27 @@ SIMH is written in C. The host system must support (at least) 32-bit data types \par \tab }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 CTAB}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \tab \tab \hich\af1\dbch\af31505\loch\f1 command definition structure \par \tab }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 DEBTAB}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \tab \hich\af1\dbch\af31505\loch\f1 debug table entry structure \par -\par {\*\bkmkstart _Toc357054082}{\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af0\afs28 \ltrch\fcs0 \b\f1\fs28\kerning28\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.\tab}}\pard\plain \ltrpar\s1\ql \fi-360\li360\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248186}{\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af0\afs28 \ltrch\fcs0 \b\f1\fs28\kerning28\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.\tab}}\pard\plain \ltrpar\s1\ql \fi-360\li360\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx360\wrapdefault\faauto\ls1\outlinelevel0\adjustright\rin0\lin360\itap0 \rtlch\fcs1 \ab\af1\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang1033\langfe1033\kerning28\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 VM Organization{\*\bkmkend _Toc357054082} +\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 VM Organization{\*\bkmkend _Toc385248186} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 A virtual machine (VM) is a collection of devices bound together through their internal logic. Each device is named and corresponds more or less to a hunk of hardware on the real machine; for example: \par \par \tab \hich\af1\dbch\af31505\loch\f1 VM device\tab \tab \tab Real machine hardware \par -\par \tab \hich\af1\dbch\af31505\loch\f1 C\hich\af1\dbch\af31505\loch\f1 PU\tab \tab \tab \tab central processor and main memory +\par \tab \hich\af1\dbch\af31505\loch\f1 CPU\tab \tab \tab \tab ce\hich\af1\dbch\af31505\loch\f1 ntral processor and main memory \par \tab \hich\af1\dbch\af31505\loch\f1 PTR\tab \tab \tab \tab paper tape reader controller and paper tape reader \par \tab \hich\af1\dbch\af31505\loch\f1 TTI\tab \tab \tab \tab console keyboard \par \tab \hich\af1\dbch\af31505\loch\f1 TTO\tab \tab \tab \tab console output \par \tab \hich\af1\dbch\af31505\loch\f1 DKP\tab \tab \tab \tab disk pack controller and drives \par -\par \hich\af1\dbch\af31505\loch\f1 There may be more than one device per physical hardware entity, as f\hich\af1\dbch\af31505\loch\f1 -or the console; but for each user-accessible device there must be at least one. One of these devices will have the pre-eminent responsibility for directing simulated operations. Normally, this is the CPU, but it could be a higher-level entity, such as a -\hich\af1\dbch\af31505\loch\f1 \hich\af1\dbch\af31505\loch\f1 bus master. +\par \hich\af1\dbch\af31505\loch\f1 There may be more than one device per physical hardware entity, as for the c\hich\af1\dbch\af31505\loch\f1 +onsole; but for each user-accessible device there must be at least one. One of these devices will have the pre-eminent responsibility for directing simulated operations. Normally, this is the CPU, but it could be a higher-level entity, such as a bus mas +\hich\af1\dbch\af31505\loch\f1 t\hich\af1\dbch\af31505\loch\f1 er. \par \par \hich\af1\dbch\af31505\loch\f1 The VM actually runs as a subroutine of the simulator control package (SCP). It provides a master routine for running simulated programs and other routines and data structures to implement SCP\hich\f1 \rquote \loch\f1 -s command and control functions. The interfaces \hich\af1\dbch\af31505\loch\f1 between a VM and SCP are relatively few: +s command and control functions. The interfaces between \hich\af1\dbch\af31505\loch\f1 a VM and SCP are relatively few: \par \par \tab \hich\af1\dbch\af31505\loch\f1 Interface\tab \tab \tab Function \par @@ -896,7 +891,7 @@ binary loader subroutine \par \tab \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_inst}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (void)\tab \tab instruction execution subroutine \par \tab \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 parse_sym}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 \hich\f1 (\'85\loch\f1 )\tab \tab -\hich\af1\dbch\af31505\loch\f1 symbolic instruction parse subroutine +symbolic instruction parse\hich\af1\dbch\af31505\loch\f1 subroutine \par \tab \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 fprint_sym}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 \hich\f1 (\'85\loch\f1 )\tab \tab symbolic instruction print subroutine \par @@ -904,23 +899,23 @@ symbolic instruction print subroutine \par \par \tab \hich\af1\dbch\af31505\loch\f1 Interface\tab \tab \tab \tab Function \par -\par \tab \hich\af1\dbch\af31505\loch\f1 void (*}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim\hich\af1\dbch\af31505\loch\f1 _vm_init}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 -) (void)\tab \tab pointer to once-only initialization routine for VM +\par \tab \hich\af1\dbch\af31505\loch\f1 void (*}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_vm_init}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ) (void)\tab \tab pointer +\hich\af1\dbch\af31505\loch\f1 to once-only initialization routine for VM \par \tab \hich\af1\dbch\af31505\loch\f1 t_addr (*}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_vm_parse_addr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 \hich\f1 ) (\'85\loch\f1 ) \tab pointer to address parsing routine \par \tab \hich\af1\dbch\af31505\loch\f1 void (*}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_vm_fprint_addr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 \hich\f1 ) (\'85\loch\f1 ) \tab pointer to address output routine \par \tab \hich\af1\dbch\af31505\loch\f1 char (}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 *sim_vm_read}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 \hich\f1 ) (\'85\loch\f1 )\tab -\tab pointer to command input ro\hich\af1\dbch\af31505\loch\f1 utine -\par \tab \hich\af1\dbch\af31505\loch\f1 void (*}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_vm_post}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 \hich\f1 ) (\'85\loch\f1 )\tab -\tab pointer to command post-processing routine +\tab pointer to command input routine +\par \tab \hich\af1\dbch\af31505\loch\f1 void (*}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_vm_post}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 )\hich\af1\dbch\af31505\loch\f1 +\hich\f1 (\'85\loch\f1 )\tab \tab pointer to command post-processing routine \par \tab \hich\af1\dbch\af31505\loch\f1 CTAB }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 *sim_vm_cmd}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \tab \hich\af1\dbch\af31505\loch\f1 pointer to simulator-specific command table \par \par \hich\af1\dbch\af31505\loch\f1 There is no required organization for VM code. The following convention has been used so far. Let name be the }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 name}{\rtlch\fcs1 \af1 -\ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 of the real system (i1401 for the IBM 1401; i1620 for the IBM 1620; pdp1 for the PDP-1; pdp18b for the other 18-bit PDP\hich\f1 \rquote \loch\f1 -s; pdp8 for the PDP-8; pdp11 for the PDP-11; nova for Nova; hp2100 for the HP 21XX; h316 for the Honeywell 315/516; gri for the GRI-90\hich\af1\dbch\af31505\loch\f1 9\hich\af1\dbch\af31505\loch\f1 -; pdp10 for the PDP-10; vax for the VAX; sds for the SDS-940): +\ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 of the real system (i1401\hich\af1\dbch\af31505\loch\f1 for the IBM 1401; i1620 for the IBM 1620; pdp1 for the PDP-1; pdp18b for the other 18-bit PDP\hich\f1 \rquote \loch\f1 +s; pdp8 for the PDP-8; pdp11 for the PDP-11; nova for Nova; hp2100 for the HP 21XX; h316 for the Honeywell 315/516; gri for the GRI-909; pdp10 for the PDP-10; v\hich\af1\dbch\af31505\loch\f1 a\hich\af1\dbch\af31505\loch\f1 +x for the VAX; sds for the SDS-940): \par \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \ai\af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls2\pnrnot0 \pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls2\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 name}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 @@ -930,10 +925,10 @@ s; pdp8 for the PDP-8; pdp11 for the PDP-11; nova for Nova; hp2100 for the HP 21 \hich\af1\dbch\af31505\loch\f1 _sys.c contains all the SCP interfaces except the instruction simulator \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \ai\af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls2\pnrnot0 \pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls2\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 name}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 _cpu.c contains the instruction simulator and \hich\af1\dbch\af31505\loch\f1 CPU data structures +\hich\af1\dbch\af31505\loch\f1 _cpu.c contains the instruction simulator and CPU data structures \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \ai\af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls2\pnrnot0 -\pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls2\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 name}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 _stddev.c contains the peripherals which were standard with the real system. +\pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls2\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 nam\hich\af1\dbch\af31505\loch\f1 e}{\rtlch\fcs1 \af1 \ltrch\fcs0 +\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 _stddev.c contains the peripherals which were standard with the real system. \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \ai\af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls2\pnrnot0 \pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls2\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 name}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 _lp.c contains the line printer. @@ -950,17 +945,17 @@ s; pdp8 for the PDP-8; pdp11 for the PDP-11; nova for Nova; hp2100 for the HP 21 \par \tab \hich\af1\dbch\af31505\loch\f1 sim_console.c\tab \tab sim_console.h\tab \tab terminal I/O library \par \tab \hich\af1\dbch\af31505\loch\f1 sim_fio.c\tab \tab sim_fio.h\tab \tab file I/O library \par \tab \hich\af1\dbch\af31505\loch\f1 sim_timer.c\tab \tab sim_timer.h\tab \tab timer library -\par \tab \hich\af1\dbch\af31505\loch\f1 sim_sock.c\tab \tab \hich\af1\dbch\af31505\loch\f1 sim_sock.h\tab \tab socket I/O library +\par \tab \hich\af1\dbch\af31505\loch\f1 sim_sock.c\tab \tab sim_\hich\af1\dbch\af31505\loch\f1 sock.h\tab \tab socket I/O library \par \tab \hich\af1\dbch\af31505\loch\f1 sim_ether.c\tab \tab sim_ether.h\tab \tab Ethernet I/O library \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid399520 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid399520 \tab \hich\af1\dbch\af31505\loch\f1 sim_serial.c\tab \tab sim_serial.h\tab \tab Serial Port I/O library \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 sim_tmxr.c\tab \tab sim_tmxr.h\tab \tab terminal multiplexer simulation library \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid399520 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid399520 \tab \hich\af1\dbch\af31505\loch\f1 sim_disk.c\tab \tab sim_disk.h\tab \tab disk simulation library -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 sim_tape.\hich\af1\dbch\af31505\loch\f1 c\tab \tab sim_tape.h\tab \tab +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 sim_tape.c\tab \tab s\hich\af1\dbch\af31505\loch\f1 im_tape.h\tab \tab magtape simulation library -\par {\*\bkmkstart _Toc357054083}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.1\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248187}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.1\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx390\wrapdefault\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin390\itap0 \rtlch\fcs1 \ab\ai\af1\afs24\alang1025 \ltrch\fcs0 \b\i\fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 CPU Organization{\*\bkmkend _Toc357054083} +\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 CPU Organization{\*\bkmkend _Toc385248187} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 Most CPU\hich\f1 \rquote \loch\f1 s perform at least the following functions: @@ -979,9 +974,9 @@ magtape simulation library \pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls3\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Interrupt processing \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 Instruction execution is actually the least complicated part of the design; memory and I/O organization should be tackled first. -\par {\*\bkmkstart _Toc357054084}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.1.1\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248188}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.1.1\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Time Base{\*\bkmkend _Toc357054084} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Time Base{\*\bkmkend _Toc385248188} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 In order to simulate asynchronous events, such a\hich\af1\dbch\af31505\loch\f1 @@ -991,32 +986,33 @@ s I/O completion, the VM must define and keep a time base. This can be accurate \par \hich\af1\dbch\af31505\loch\f1 The CPU is responsible for counting down the event counter }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_interval}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 and calling the asynchronous event controller }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_process_event}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . SCP does the record keeping for timing. -\par {\*\bkmkstart _Toc357054085}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.1.2\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248189}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.1.2\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Step Function{\*\bkmkend _Toc357054085} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Step Function{\*\bkmkend _Toc385248189} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 SCP implements a stepping function using the step command. STEP counts down a specified number of time units (as described in section 3.1.1) and then stops simulation. The VM can override the STEP command\hich\f1 \rquote -\loch\f1 s counts by calling routine }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_cancel_step}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 : +\par \hich\af1\dbch\af31505\loch\f1 SCP i\hich\af1\dbch\af31505\loch\f1 +mplements a stepping function using the step command. STEP counts down a specified number of time units (as described in section 3.1.1) and then stops simulation. The VM can override the STEP command\hich\f1 \rquote \loch\f1 s counts by calling routine +}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_cancel_step}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 : \par \par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault\faauto\ls25\adjustright\rin0\lin720\itap0 { -\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 t\hich\af1\dbch\af31505\loch\f1 _stat sim_cancel_step (void) \hich\f1 \endash \loch\f1 cancel STEP count down. +\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 t_stat\hich\af1\dbch\af31505\loch\f1 sim_cancel_step (void) \hich\f1 \endash \loch\f1 cancel STEP count down. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 The VM can then inspect variable }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_step}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 to see if a STEP command is in progress. If }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_step}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 is non-zero, it represents the number of steps to execute. The VM can count down }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_step}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 using its own\hich\af1\dbch\af31505\loch\f1 counting method, such as cycles, instructions, or memory references. -\par {\*\bkmkstart _Toc357054086}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.1.3\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\hich\af1\dbch\af31505\loch\f1 using its own coun\hich\af1\dbch\af31505\loch\f1 ting method, such as cycles, instructions, or memory references. +\par {\*\bkmkstart _Toc385248190}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.1.3\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Memory Organization{\*\bkmkend _Toc357054086} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Memory Organization{\*\bkmkend _Toc385248190} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 The criterion for memory layout is very simple: use the SIMH data type that is as large as (or if necessary, larger than), the word l\hich\af1\dbch\af31505\loch\f1 -ength of the real machine. Note that the criterion is word length, not addressability: the PDP-11 has byte addressable memory, but it is a 16-bit machine, and its memory is defined as uint16 M[]. It may seem tempting to define memory as a union of int8 -\hich\af1\dbch\af31505\loch\f1 a\hich\af1\dbch\af31505\loch\f1 -nd int16 data types, but this would make the resulting VM endian-dependent. Instead, the VM should be based on the underlying word size of the real machine, and byte manipulation should be done explicitly. Examples: +\par \hich\af1\dbch\af31505\loch\f1 The criterion for memory layout is very simple: use the SIMH data type that is as large as (or if necessary, larger than), the word length\hich\af1\dbch\af31505\loch\f1 + of the real machine. Note that the criterion is word length, not addressability: the PDP-11 has byte addressable memory, but it is a 16-bit machine, and its memory is defined as uint16 M[]. It may seem tempting to define memory as a union of int8 and i +\hich\af1\dbch\af31505\loch\f1 n\hich\af1\dbch\af31505\loch\f1 +t16 data types, but this would make the resulting VM endian-dependent. Instead, the VM should be based on the underlying word size of the real machine, and byte manipulation should be done explicitly. Examples: \par -\par \tab \hich\af1\dbch\af31505\loch\f1 Simulator\tab \tab memory size\tab \tab memory decla\hich\af1\dbch\af31505\loch\f1 ration +\par \tab \hich\af1\dbch\af31505\loch\f1 Simulator\tab \tab memory size\tab \tab memory declaratio\hich\af1\dbch\af31505\loch\f1 n \par \par \tab \hich\af1\dbch\af31505\loch\f1 IBM 1620\tab \tab 5-bit\tab \tab \tab uint8 \par \tab \hich\af1\dbch\af31505\loch\f1 IBM 1401\tab \tab 7-bit\tab \tab \tab uint8 @@ -1025,16 +1021,16 @@ nd int16 data types, but this would make the resulting VM endian-dependent. Ins \par \tab \hich\af1\dbch\af31505\loch\f1 PDP-1\tab \tab \tab 18-bit\tab \tab \tab uint32 \par \tab \hich\af1\dbch\af31505\loch\f1 VAX\tab \tab \tab 32-bit\tab \tab \tab uint32 \par \tab \hich\af1\dbch\af31505\loch\f1 PDP-10, IBM 7094\tab 36-bit\tab \tab \tab t_uint64 -\par {\*\bkmkstart _Toc357054087}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.1.4\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248191}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.1.4\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Interrupt Organization{\*\bkmkend _Toc357054087} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Interrupt Organization{\*\bkmkend _Toc385248191} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 Th\hich\af1\dbch\af31505\loch\f1 e design of the VM\hich\f1 \rquote \loch\f1 s interrupt structure is a complex interaction between efficiency and fidelity to the hardware. If the VM\hich\f1 \rquote \loch\f1 -s interrupt structure is too abstract, interrupt driven software may not run. On the other hand, if it follows the hardware too \hich\af1\dbch\af31505\loch\f1 l\hich\af1\dbch\af31505\loch\f1 -iterally, it may significantly reduce simulation speed. One rule I can offer is to minimize the fetch-phase cost of interrupts, even if this complicates the (much less frequent) evaluation of the interrupt system following an I/O operation or asynchronou -\hich\af1\dbch\af31505\loch\f1 s\hich\af1\dbch\af31505\loch\f1 event. Another is not to over-generalize; even if the real hardware could support 64 or 256 interrupting devices, the simulators will be running much smaller configurations. I\hich\f1 -\rquote \loch\f1 ll start with a simple interrupt structure and then offer suggestions for ge\hich\af1\dbch\af31505\loch\f1 n\hich\af1\dbch\af31505\loch\f1 eralization. +\par \hich\af1\dbch\af31505\loch\f1 The des\hich\af1\dbch\af31505\loch\f1 ign of the VM\hich\f1 \rquote \loch\f1 s interrupt structure is a complex interaction between efficiency and fidelity to the hardware. If the VM\hich\f1 \rquote \loch\f1 +s interrupt structure is too abstract, interrupt driven software may not run. On the other hand, if it follows the hardware too liter\hich\af1\dbch\af31505\loch\f1 a\hich\af1\dbch\af31505\loch\f1 +lly, it may significantly reduce simulation speed. One rule I can offer is to minimize the fetch-phase cost of interrupts, even if this complicates the (much less frequent) evaluation of the interrupt system following an I/O operation or asynchronous eve +\hich\af1\dbch\af31505\loch\f1 n\hich\af1\dbch\af31505\loch\f1 t. Another is not to over-generalize; even if the real hardware could support 64 or 256 interrupting devices, the simulators will be running much smaller configurations. I\hich\f1 \rquote +\loch\f1 ll start with a simple interrupt structure and then offer suggestions for general\hich\af1\dbch\af31505\loch\f1 i\hich\af1\dbch\af31505\loch\f1 zation. \par \par \hich\af1\dbch\af31505\loch\f1 In the simplest structure, interrupt requests correspond to device flags and are kept in an interrupt request variable, with one flag per bit. The fetch-phase evaluation of interrupts consists of two steps: are interrupts enabled, and is the @@ -1042,36 +1038,36 @@ In the simplest structure, interrupt requests correspond to device flags and are \par \par \tab \hich\af1\dbch\af31505\loch\f1 if (int_enable && int_requests) \{\hich\f1 \'85\loch\f1 \hich\f1 process interrupt\'85\loch\f1 \} \par -\par \hich\af1\dbch\af31505\loch\f1 Indeed, the interrupt enable flag can be made the highest bit in the interrupt request variable, and the two tests combined: +\par \hich\af1\dbch\af31505\loch\f1 Indeed, the interrupt enable flag can be made the highest \hich\af1\dbch\af31505\loch\f1 bit in the interrupt request variable, and the two tests combined: \par \par \tab \hich\af1\dbch\af31505\loch\f1 if (int_requests > INT_ENABLE) \{\hich\f1 \'85\loch\f1 \hich\f1 process interrupt\'85\loch\f1 \} \par -\par \hich\af1\dbch\af31505\loch\f1 Setting or clearing device flags directly sets or clears the appropriate \hich\af1\dbch\af31505\loch\f1 interrupt request flag: +\par \hich\af1\dbch\af31505\loch\f1 Setting or clearing device flags directly sets or clears the appropriate interrupt request flag: \par -\par \tab \hich\af1\dbch\af31505\loch\f1 set: \tab int_requests = int_requests | DEVICE_FLAG; +\par \tab \hich\af1\dbch\af31505\loch\f1 set: \tab int_requests = int_request\hich\af1\dbch\af31505\loch\f1 s | DEVICE_FLAG; \par \tab \hich\af1\dbch\af31505\loch\f1 clear:\tab int_requests = int_requests & ~DEVICE_FLAG; \par -\par \hich\af1\dbch\af31505\loch\f1 At a slightly higher complexity, interrupt requests do not correspond directly to device flags but are based on masking the devi\hich\af1\dbch\af31505\loch\f1 -ce flags with an enable (or disable) mask. There are now two parallel variables: device flags and interrupt enable mask. The fetch-phase test is now: +\par \hich\af1\dbch\af31505\loch\f1 At a slightly higher complexity, interrupt requests do not correspond directly to device flags but are based on masking the device flags with an enable (or disable) mask. There are now \hich\af1\dbch\af31505\loch\f1 +two parallel variables: device flags and interrupt enable mask. The fetch-phase test is now: \par \par \tab \hich\af1\dbch\af31505\loch\f1 If (int_enable && (dev_flags & int_enables)) \{\hich\f1 \'85\loch\f1 \hich\f1 process interrupt\'85\loch\f1 \} \par -\par \hich\af1\dbch\af31505\loch\f1 As a next step, the VM may keep \hich\af1\dbch\af31505\loch\f1 a summary interrupt request variable, which is updated by any change to a device flag or interrupt enable/disable: +\par \hich\af1\dbch\af31505\loch\f1 As a next step, the VM may keep a summary interrupt request variable, which is updated by \hich\af1\dbch\af31505\loch\f1 any change to a device flag or interrupt enable/disable: \par \par \tab \hich\af1\dbch\af31505\loch\f1 enable:\tab int_requests = device_flags & int_enables; \par \tab \hich\af1\dbch\af31505\loch\f1 disable:\tab int_requests = device_flags & ~int_disables; \par -\par \hich\af1\dbch\af31505\loch\f1 This simplifies the fetch phase \hich\af1\dbch\af31505\loch\f1 test slightly. +\par \hich\af1\dbch\af31505\loch\f1 This simplifies the fetch phase test slightly. \par -\par \hich\af1\dbch\af31505\loch\f1 -At yet higher complexity, the interrupt system may be too complex or too large to evaluate during the fetch-phase. In this case, an interrupt pending flag is created, and it is evaluated by subroutine call whenever a change could occur (st -\hich\af1\dbch\af31505\loch\f1 art of execution, I/O instruction issued, device time out occurs). This makes fetch-phase evaluation simple and isolates interrupt evaluation to a common subroutine. +\par \hich\af1\dbch\af31505\loch\f1 At yet higher complexity, the interrupt sy\hich\af1\dbch\af31505\loch\f1 +stem may be too complex or too large to evaluate during the fetch-phase. In this case, an interrupt pending flag is created, and it is evaluated by subroutine call whenever a change could occur (start of execution, I/O instruction issued, device time out +\hich\af1\dbch\af31505\loch\f1 \hich\af1\dbch\af31505\loch\f1 occurs). This makes fetch-phase evaluation simple and isolates interrupt evaluation to a common subroutine. \par -\par \hich\af1\dbch\af31505\loch\f1 If required for interrupt processing, the highest priority interrupting device can be de\hich\af1\dbch\af31505\loch\f1 -termined by scanning the interrupt request variable from high priority to low until a set bit is found. The bit position can then be back-mapped through a table to determine the address or interrupt vector of the interrupting device. -\par {\*\bkmkstart _Toc357054088}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.1.5\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par \hich\af1\dbch\af31505\loch\f1 If required for interrupt processing, the highest priority interrupting device can be determined by scanning the interrupt request variable from h\hich\af1\dbch\af31505\loch\f1 +igh priority to low until a set bit is found. The bit position can then be back-mapped through a table to determine the address or interrupt vector of the interrupting device. +\par {\*\bkmkstart _Toc385248192}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.1.5\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 I/\hich\af1\dbch\af31505\loch\f1 O Dispatching{\*\bkmkend _Toc357054088} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 I/O Dispatching{\*\bkmkend _Toc385248192} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 I/O dispatching consists of four steps: @@ -1085,25 +1081,25 @@ termined by scanning the interrupt request variable from high priority to low un \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls14\pnrnot0 \pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls14\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Call the device processor. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 -Analyzing an I/O command is usually easy. Most systems have one or more explicit I/O instructions containing an I/O command and a device address. Memory mapped I/O is more complicated; the identification of a reference to I/O space becomes part of memor -\hich\af1\dbch\af31505\loch\f1 y\hich\af1\dbch\af31505\loch\f1 addressing. This usually requires centralizing memory reads and writes into subroutines, rather than as inline code. +\par \hich\af1\dbch\af31505\loch\f1 Analyzing an I/O command is usually e\hich\af1\dbch\af31505\loch\f1 +asy. Most systems have one or more explicit I/O instructions containing an I/O command and a device address. Memory mapped I/O is more complicated; the identification of a reference to I/O space becomes part of memory addressing. This usually requires +\hich\af1\dbch\af31505\loch\f1 c\hich\af1\dbch\af31505\loch\f1 entralizing memory reads and writes into subroutines, rather than as inline code. \par -\par \hich\af1\dbch\af31505\loch\f1 Once an I/O command has been analyzed, the CPU must locate the device subroutine. The simplest way is a large switch statement with har\hich\af1\dbch\af31505\loch\f1 -dwired subroutine calls. More modular is to call through a dispatch table, with NULL entries representing non-existent devices; this also simplifies support for modifiable device addresses and configurable devices. Before calling the device routine, the -\hich\af1\dbch\af31505\loch\f1 C\hich\af1\dbch\af31505\loch\f1 PU usually breaks down the I/O command into standard fields. This simplifies writing the peripheral simulator. -\par {\*\bkmkstart _Toc357054089}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.1.6\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par \hich\af1\dbch\af31505\loch\f1 Once an I/O command has been analyzed, the CPU must locate the device subroutine. The simplest way is a large switch statement with hardwired subroutine calls. More modular\hich\af1\dbch\af31505\loch\f1 + is to call through a dispatch table, with NULL entries representing non-existent devices; this also simplifies support for modifiable device addresses and configurable devices. Before calling the device routine, the CPU usually breaks down the I/O comma +\hich\af1\dbch\af31505\loch\f1 n\hich\af1\dbch\af31505\loch\f1 d into standard fields. This simplifies writing the peripheral simulator. +\par {\*\bkmkstart _Toc385248193}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.1.6\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Instruction Execution{\*\bkmkend _Toc357054089} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Instruction Execution{\*\bkmkend _Toc385248193} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 Instruction execution is the responsibility of VM subroutine }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_instr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 . It is called fro\hich\af1\dbch\af31505\loch\f1 m SCP as a result of a RUN, GO, CONT, or BOOT command. It begins executing instructions at the current PC (}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 . It is called from SCP as a result of a RUN, GO, CONT,\hich\af1\dbch\af31505\loch\f1 or BOOT command. It begins executing instructions at the current PC (}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_PC}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 points to its register description block) and continues until halted by an error or an external event. \par -\par \hich\af1\dbch\af31505\loch\f1 When called, the CPU needs to account\hich\af1\dbch\af31505\loch\f1 - for any state changes that the user made. For example, it may need to re-evaluate whether an interrupt is pending, or restore frequently used state to local register variables for efficiency. The actual instruction fetch and execute cycle is usually st -\hich\af1\dbch\af31505\loch\f1 r\hich\af1\dbch\af31505\loch\f1 uctured as a loop controlled by an error variable, e.g., +\par \hich\af1\dbch\af31505\loch\f1 When called, the CPU needs to account for any state changes that the user \hich\af1\dbch\af31505\loch\f1 +made. For example, it may need to re-evaluate whether an interrupt is pending, or restore frequently used state to local register variables for efficiency. The actual instruction fetch and execute cycle is usually structured as a loop controlled by an e +\hich\af1\dbch\af31505\loch\f1 r\hich\af1\dbch\af31505\loch\f1 ror variable, e.g., \par \par \tab \hich\af1\dbch\af31505\loch\f1 reason = 0; \par \tab \hich\af1\dbch\af31505\loch\f1 do \{\hich\f1 \'85\loch\f1 \} while (reason == 0);\tab or\tab while (reason == 0) \{\hich\f1 \'85\loch\f1 \} @@ -1112,8 +1108,8 @@ dwired subroutine calls. More modular is to call through a dispatch table, with \par \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls4\pnrnot0 \pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls4\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 If the event timer }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 sim_interval}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 has reached zero, process any timed even\hich\af1\dbch\af31505\loch\f1 ts. This is done by SCP subroutine }{\rtlch\fcs1 \ab\af1 -\ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_process_event}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +\hich\af1\dbch\af31505\loch\f1 sim_interval}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 has reached zero, process any timed events. This is done by SCP subroutine }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 +\b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 s\hich\af1\dbch\af31505\loch\f1 im_process_event}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . Because this is the polling mechanism for user-generated processor halts (^E), errors must be recognized immediately: \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par }\pard \ltrpar\ql \li1440\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\adjustright\rin0\lin1440\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 if (sim_interval <= 0) \{ @@ -1121,8 +1117,8 @@ dwired subroutine calls. More modular is to call through a dispatch table, with if (reason = sim_process_event ()) break; \} \par }\pard \ltrpar\ql \fi2160\li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls4\pnrnot0 -\pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls4\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Check f\hich\af1\dbch\af31505\loch\f1 -or outstanding interrupts and process if required. +\pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls4\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Check for outstanding in\hich\af1\dbch\af31505\loch\f1 +terrupts and process if required. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls4\pnrnot0 \pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls4\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 @@ -1130,13 +1126,14 @@ Check for other processor-unique events, such as wait-state outstanding or traps \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls4\pnrnot0 \pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls4\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 -Check for an instruction breakpoint. SCP has a comprehensive breakpoint facility. It allows a VM to define many different kinds of breakpoints. The VM checks for execution (type E) breakpoints during instruction fetch. +Check for an instruction breakpoint. SCP has a comprehensive breakpoint facility. It allows a VM to define many differ\hich\af1\dbch\af31505\loch\f1 ent kinds of breakpoints. The VM checks for execution (type E) breakpoints during instruction fetch. + \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls4\pnrnot0 -\pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls4\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Fetch the next instruction, in\hich\af1\dbch\af31505\loch\f1 -crement the PC, optionally decode the address, and dispatch (via a switch statement) for execution. +\pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls4\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +Fetch the next instruction, increment the PC, optionally decode the address, and dispatch (via a switch statement) for execution. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 A few guidelines for implementation: +\par \hich\af1\dbch\af31505\loch\f1 A few guidelines fo\hich\af1\dbch\af31505\loch\f1 r implementation: \par \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls5\pnrnot0 \pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls5\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 @@ -1144,31 +1141,33 @@ In general, code should reflect the hardware being simulated. This is usually s \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls5\pnrnot0 \pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls5\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 The VM should provide some debugging aids. The existing CPU\hich\f1 -\rquote \loch\f1 s all provide multiple instruction breakpoints, a PC change queue, error stops on invalid instructions or operations, and symbolic examination and modification of memory. -\par {\*\bkmkstart _Toc357054090}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.2\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar +\rquote \loch\f1 s all provide multiple instruction breakpoints, a PC change\hich\af1\dbch\af31505\loch\f1 queue, error stops on invalid instructions or operations, and symbolic examination and modification of memory. +\par {\*\bkmkstart _Toc385248194}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.2\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx390\wrapdefault\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin390\itap0 \rtlch\fcs1 \ab\ai\af1\afs24\alang1025 \ltrch\fcs0 \b\i\fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Periphe\hich\af1\dbch\af31505\loch\f1 ral Device Organization{\*\bkmkend _Toc357054090} +\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Peripheral Device Organization{\*\bkmkend _Toc385248194} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 The basic elements of a VM are devices, each corresponding roughly to a real chunk of hardware. A device consists of register-based state and one or more units. Thus, a multi-drive disk subsystem is a single device ( -\hich\af1\dbch\af31505\loch\f1 -representing the hardware of the real controller) and one or more units (each representing a single disk drive). Sometimes the device and its unit are the same entity as, for example, in the case of a paper tape reader. However, a single physical device -,\hich\af1\dbch\af31505\loch\f1 such as the console, may be broken up for convenience into separate input and output devices. +\par \hich\af1\dbch\af31505\loch\f1 +The basic elements of a VM are devices, each corresponding roughly to a real chunk of hardware. A device consists of register-based state and one or more units. Thus, a multi-drive disk subsystem is a single device (representing the hardware of the real +\hich\af1\dbch\af31505\loch\f1 \hich\af1\dbch\af31505\loch\f1 +controller) and one or more units (each representing a single disk drive). Sometimes the device and its unit are the same entity as, for example, in the case of a paper tape reader. However, a single physical device, such as the console, may be broken u +\hich\af1\dbch\af31505\loch\f1 p\hich\af1\dbch\af31505\loch\f1 for convenience into separate input and output devices. \par -\par \hich\af1\dbch\af31505\loch\f1 In general, units correspond to individual sources of input or output (one tape transport, one A-to-D channel). Units are the basic medium for both device timi\hich\af1\dbch\af31505\loch\f1 -ng and device I/O. Except for the console, all I/O devices are simulated as host-resident files. SCP allows the user to make an explicit association between a host-resident file and a simulated hardware entity. +\par \hich\af1\dbch\af31505\loch\f1 In general, units correspond to individual sources of input or output (one tape transport, one A-to-D channel). Units are the basic medium for both device timing and device I/O. Except for the con +\hich\af1\dbch\af31505\loch\f1 sole, all I/O devices are simulated as host-resident files. SCP allows the user to make an explicit association between a host-resident file and a simulated hardware entity. \par -\par \hich\af1\dbch\af31505\loch\f1 Both devices and units have state. Device\hich\af1\dbch\af31505\loch\f1 s operate on }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 registers}{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 , which contain information about the state of the device, and indirectly, about the state of the units. Units operate on }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 data sets}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 , which may be thought of as individual instances of input or output, such as a disk pack or a punched\hich\af1\dbch\af31505\loch\f1 - paper tape. In a typical multi-unit device, all units are the same, and the device performs similar operations on all of them, depending on which one has been selected by the program being simulated. +\par \hich\af1\dbch\af31505\loch\f1 Both devices and units have state. Devices operate on }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 registers}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 , which contain \hich\af1\dbch\af31505\loch\f1 information about the state of the device, and indirectly, about the state of the units. Units operate on }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 data sets}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +, which may be thought of as individual instances of input or output, such as a disk pack or a punched paper tape. In a typical multi-unit \hich\af1\dbch\af31505\loch\f1 +device, all units are the same, and the device performs similar operations on all of them, depending on which one has been selected by the program being simulated. \par -\par \hich\af1\dbch\af31505\loch\f1 (Note: SIMH, like MIMIC, restricts registers to devic\hich\af1\dbch\af31505\loch\f1 es. Replicated registers, for example, disk drive current state, are handled via register arrays.) +\par \hich\af1\dbch\af31505\loch\f1 (Note: SIMH, like MIMIC, restricts registers to devices. Replicated registers, for example,\hich\af1\dbch\af31505\loch\f1 disk drive current state, are handled via register arrays.) \par \par \hich\af1\dbch\af31505\loch\f1 For each structural level, SIMH defines, and the VM must supply, a corresponding data structure. }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_device}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 structures correspond to devices, }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_reg}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 struc\hich\af1\dbch\af31505\loch\f1 tures to registers, and }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_unit}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 structures to units. These structures are described in detail in section 4. +\hich\af1\dbch\af31505\loch\f1 structures to registers, and }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_unit}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 struc +\hich\af1\dbch\af31505\loch\f1 tures to units. These structures are described in detail in section 4. \par \par \hich\af1\dbch\af31505\loch\f1 The primary functions of a peripheral are: \par @@ -1179,47 +1178,47 @@ ng and device I/O. Except for the console, all I/O devices are simulated as hos \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls6\pnrnot0 \pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls6\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 data transmission. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 -Command decoding is fairly obvious. At least one section of the peripheral code module will be devoted to processing directives issued by the CPU. Typically, the command decoder will be responsible for register and flag manipulation, and for issuing or -\hich\af1\dbch\af31505\loch\f1 c\hich\af1\dbch\af31505\loch\f1 anceling I/O requests. The former is easy, but the later requires a thorough understanding of device timing. -\par {\*\bkmkstart _Toc357054091}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.2.1\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par \hich\af1\dbch\af31505\loch\f1 Command \hich\af1\dbch\af31505\loch\f1 +decoding is fairly obvious. At least one section of the peripheral code module will be devoted to processing directives issued by the CPU. Typically, the command decoder will be responsible for register and flag manipulation, and for issuing or cancelin +\hich\af1\dbch\af31505\loch\f1 g\hich\af1\dbch\af31505\loch\f1 I/O requests. The former is easy, but the later requires a thorough understanding of device timing. +\par {\*\bkmkstart _Toc385248195}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.2.1\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Device Timing{\*\bkmkend _Toc357054091} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Device Timing{\*\bkmkend _Toc385248195} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 The principal problem in I/O device simulation is imitating asynchronous operations in a sequential\hich\af1\dbch\af31505\loch\f1 - simulation environment. Fortunately, the timing characteristics of most I/O devices do not vary with external circumstances. The distinction between devices whose timing is externally generated (e.g., console keyboard) and those whose timing is }{ -\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1049593 \hich\af1\dbch\af31505\loch\f1 internal\hich\af1\dbch\af31505\loch\f1 ly}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - generated (disk, paper tape reader) is crucial. With an externally timed device, there is no way to know when an in-progress operation will begin or end; with an internally timed device, given the time when an operation starts, the end time can be calc -\hich\af1\dbch\af31505\loch\f1 ulated. +\par \hich\af1\dbch\af31505\loch\f1 The principal problem in I/O device simulation is imitating asynchronous operations in a sequential simulat\hich\af1\dbch\af31505\loch\f1 +ion environment. Fortunately, the timing characteristics of most I/O devices do not vary with external circumstances. The distinction between devices whose timing is externally generated (e.g., console keyboard) and those whose timing is }{\rtlch\fcs1 +\af1 \ltrch\fcs0 \f1\insrsid1049593 \hich\af1\dbch\af31505\loch\f1 internally}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 gener\hich\af1\dbch\af31505\loch\f1 +ated (disk, paper tape reader) is crucial. With an externally timed device, there is no way to know when an in-progress operation will begin or end; with an internally timed device, given the time when an operation starts, the end time can be calculated. + \par \par \hich\af1\dbch\af31505\loch\f1 For an internally timed device, the elapsed time between the start and conclusion of an operation is called the wait time. Some typical internally timed devices and their wait times include: \par \par \tab \hich\af1\dbch\af31505\loch\f1 PTR (300 char/sec)\tab \tab 3.3 msec -\par \tab \hich\af1\dbch\af31505\loch\f1 PTP (50 char/sec)\tab \tab 20 m\hich\af1\dbch\af31505\loch\f1 sec -\par \tab \hich\af1\dbch\af31505\loch\f1 CLK (line frequency)\tab \tab 16.6 msec +\par \tab \hich\af1\dbch\af31505\loch\f1 PTP (50 char/sec)\tab \tab 20 msec +\par \tab \hich\af1\dbch\af31505\loch\f1 CLK\hich\af1\dbch\af31505\loch\f1 (line frequency)\tab \tab 16.6 msec \par \tab \hich\af1\dbch\af31505\loch\f1 TTO (30 char/sec)\tab \tab 33 msec \par \par \hich\af1\dbch\af31505\loch\f1 Mass storage devices, such as disks and tapes, do not have a fixed response time, but a start-to-finish time can be calculated based on current versus desired position, state of motion, etc. \par -\par \hich\af1\dbch\af31505\loch\f1 For an externally timed device, there is no portable mechanism by which a VM can be notified of an external event (for example, a key stroke). Accordingly, all current VM\hich\f1 \rquote \loch\f1 -s poll for keyboard input, thus converting the externally timed keyboard to a pseu\hich\af1\dbch\af31505\loch\f1 -do-internally timed device. A more general restriction is that SIMH is single-threaded. Threaded operations must be done by polling using the unit timing mechanism, either with real units or fake units created expressly for polling. +\par \hich\af1\dbch\af31505\loch\f1 For an\hich\af1\dbch\af31505\loch\f1 externally timed device, there is no portable mechanism by which a VM can be notified of an external event (for example, a key stroke). Accordingly, all current VM\hich\f1 \rquote +\loch\f1 s poll for keyboard input, thus converting the externally timed keyboard to a pseudo-inte\hich\af1\dbch\af31505\loch\f1 r\hich\af1\dbch\af31505\loch\f1 +nally timed device. A more general restriction is that SIMH is single-threaded. Threaded operations must be done by polling using the unit timing mechanism, either with real units or fake units created expressly for polling. \par -\par \hich\af1\dbch\af31505\loch\f1 SCP provides the sup\hich\af1\dbch\af31505\loch\f1 -porting routines for device timing. SCP maintains a list of devices (called active devices) that are in the process of timing out. It also provides routines for querying or manipulating this list (called the active queue). Lastly, it provides a routine -\hich\af1\dbch\af31505\loch\f1 \hich\af1\dbch\af31505\loch\f1 for checking for timed-out units and executing a VM-specified action when a time-out occurs. +\par \hich\af1\dbch\af31505\loch\f1 SCP provides the supporting \hich\af1\dbch\af31505\loch\f1 +routines for device timing. SCP maintains a list of devices (called active devices) that are in the process of timing out. It also provides routines for querying or manipulating this list (called the active queue). Lastly, it provides a routine for che +\hich\af1\dbch\af31505\loch\f1 c\hich\af1\dbch\af31505\loch\f1 king for timed-out units and executing a VM-specified action when a time-out occurs. \par -\par \hich\af1\dbch\af31505\loch\f1 Device timing is done with the UNIT structure, described in section 4. To set up a timed operation, the peripheral calculates a waiting period for a unit and pla\hich\af1\dbch\af31505\loch\f1 -ces that unit on the active queue. The CPU counts down the waiting period. When the waiting period has expired, }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_process_event}{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 removes the unit from the active queue and calls a device subroutine. A device may also cancel an outstanding timed operati\hich\af1\dbch\af31505\loch\f1 -on and query the state of the queue. The timing subroutines are: +\par \hich\af1\dbch\af31505\loch\f1 Device timing is done with the UNIT structure, described in section 4. To set up a timed operation, the peripheral calculates a waiting period for a unit and places that\hich\af1\dbch\af31505\loch\f1 + unit on the active queue. The CPU counts down the waiting period. When the waiting period has expired, }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_process_event}{\rtlch\fcs1 \af1 \ltrch\fcs0 +\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 removes the unit from the active queue and calls a device subroutine. A device may also cancel an outstanding timed operation and q\hich\af1\dbch\af31505\loch\f1 +uery the state of the queue. The timing subroutines are: \par \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0 \pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls7\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_activate}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - (UNIT *uptr, int32 wait). This routine places the specified unit on the active queue with the specified waiting period. A waiting period of 0 is legal; negative wai\hich\af1\dbch\af31505\loch\f1 -ts cause an error. If the unit is already active, the active queue is not changed, and no error occurs. + (UNIT *uptr, int32 wait). This routine places the specified unit on the active queue with the specified waiting period. A waiting period of 0 is legal; negative waits cause\hich\af1\dbch\af31505\loch\f1 + an error. If the unit is already active, the active queue is not changed, and no error occurs. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0 \pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls7\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 @@ -1234,8 +1233,8 @@ ts cause an error. If the unit is already active, the active queue is not chang \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\adjustright\rin0\lin0\itap0\pararsid13897431 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid10051909 \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid10051909 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0 \pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls7\adjustright\rin0\lin720\itap0\pararsid13897431 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid10051909 \hich\af1\dbch\af31505\loch\f1 int32 }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 -\b\f1\insrsid10051909 \hich\af1\dbch\af31505\loch\f1 sim_activate_time}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid10051909 \hich\af1\dbch\af31505\loch\f1 - (UNIT *uptr). This routine returns the time the device has remaining in the queue + 1. if it is not pending, the routine returns 0.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid10051909\charrsid10051909 +\b\f1\insrsid10051909 \hich\af1\dbch\af31505\loch\f1 sim_activate_time}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid10051909 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr). This routine returns the time the de\hich\af1\dbch\af31505\loch\f1 +vice has remaining in the queue + 1. if it is not pending, the routine returns 0.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid10051909\charrsid10051909 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0 \pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls7\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 double }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 @@ -1243,8 +1242,7 @@ ts cause an error. If the unit is already active, the active queue is not chang \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0 \pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls7\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uint32 }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 sim_gr\hich\af1\dbch\af31505\loch\f1 time}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - (void). This routine returns the low-order 32b of the time elapsed since the last RUN or BOOT command. +\hich\af1\dbch\af31505\loch\f1 sim_grtime}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (void). This routine returns the low-order 32b of the time elapsed since the last RUN or BOOT command. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0 \pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls7\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 int32 }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 @@ -1252,25 +1250,25 @@ ts cause an error. If the unit is already active, the active queue is not chang \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0 \pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls7\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 sim_process_event}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (void). This routine rem\hich\af1\dbch\af31505\loch\f1 -oves all timed out units from the active queue and calls the appropriate device subroutine to service the time-out. +\hich\af1\dbch\af31505\loch\f1 sim_process_event}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (void). This routine removes\hich\af1\dbch\af31505\loch\f1 + all timed out units from the active queue and calls the appropriate device subroutine to service the time-out. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls7\pnrnot0 \pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls7\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 int32 }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 sim_interval}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . This variable counts down the first outstanding timed event. If there are no timed events outstanding, SCP counts -\hich\af1\dbch\af31505\loch\f1 \hich\f1 down a \'93\loch\f1 \hich\f1 null interval\'94\loch\f1 of 10,000 time units. -\par {\*\bkmkstart _Toc357054092}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.2.2\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\hich\af1\dbch\af31505\loch\f1 sim_interval}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . This variable counts down the first outstanding timed event. If there are no timed events outstanding, SCP counts down +\hich\af1\dbch\af31505\loch\f1 \hich\f1 a \'93\loch\f1 \hich\f1 null interval\'94\loch\f1 of 10,000 time units. +\par {\*\bkmkstart _Toc385248196}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.2.2\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Clock Calibration{\*\bkmkend _Toc357054092} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Clock Calibration{\*\bkmkend _Toc385248196} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 The timing mechanism described in the previous section is approximate. Devices, such as real-time clocks, which track wall time will be inaccurate. SCP provid\hich\af1\dbch\af31505\loch\f1 -es routines to synchronize multiple simulated clocks (to a maximum of 8) to wall time. +\par \hich\af1\dbch\af31505\loch\f1 The timing mechanism described in the previous section is approximate. Devices, such as real-time clocks, which track wall time will be inaccurate. SCP provides r\hich\af1\dbch\af31505\loch\f1 +outines to synchronize multiple simulated clocks (to a maximum of 8) to wall time. \par \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls15\pnrnot0 \pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls15\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 int32 }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_rtcn_init}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (int32 clock_interval, int32 clk). This routine initializes the clock calibration mechanism for simulated clock }{\rtlch\fcs1 -\ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 clk}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . The argument is returned a\hich\af1\dbch\af31505\loch\f1 s the result. +\ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 clk}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . The argument is returned as th\hich\af1\dbch\af31505\loch\f1 e result. \par }\pard \ltrpar\ql \li360\ri0\widctlpar\wrapdefault{\*\pn \pnlvlcont\ilvl0\ls0\pnrnot0\pndec }\faauto\adjustright\rin0\lin360\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par {\pntext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault{\*\pn \pnlvlblt\ilvl0\ls15\pnrnot0 \pnf3\pnstart1\pnindent360\pnsp120\pnhang {\pntxtb \'b7}}\faauto\ls15\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 int32 }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 @@ -1278,7 +1276,7 @@ es routines to synchronize multiple simulated clocks (to a maximum of 8) to wall \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 clk}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . The argument is the number of clock ticks expected per second. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 The VM must call }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_rtcn_init}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - for each simulated clock in two places: i\hich\af1\dbch\af31505\loch\f1 n the prolog of }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_instr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 + for each simulated clock in two places: in th\hich\af1\dbch\af31505\loch\f1 e prolog of }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_instr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 , before instruction execution starts, and whenever the real-time clock is started. The simulator calls }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_rtcn_calb}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 to calculate the actual interval delay when the real-time clock is serviced: \par @@ -1292,9 +1290,9 @@ es routines to synchronize multiple simulated clocks (to a maximum of 8) to wall \par \tab \hich\af1\dbch\af31505\loch\f1 sim_activate (&clk_unit, sim_rtcb_calb (clk_ticks_per_second, clkno); \par \par \hich\af1\dbch\af31505\loch\f1 The real-time clock is usually simulated clock 0; other clocks are used for \hich\af1\dbch\af31505\loch\f1 polling asynchronous multiplexers or intervals timers. -\par {\*\bkmkstart _Toc357054093}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.2.3\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248197}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.2.3\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Idling{\*\bkmkend _Toc357054093} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Idling{\*\bkmkend _Toc385248197} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 If a VM implements a free-running, calibrated clock of 100Hz or less, then the VM can also implement idling. Idling is a way of pausing simulation when no real \hich\af1\dbch\af31505\loch\f1 @@ -1321,9 +1319,9 @@ work is happening, without losing clock calibration. The VM must detect when it \par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}\hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_show_idle}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (FILE *st, UNIT *uptr, int32 val, void *desc) \hich\f1 \endash \hich\af1\dbch\af31505\loch\f1 displays whether idling is enabled or disabled, as seen by SCP. -\par {\*\bkmkstart _Toc357054094}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.2.4\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248198}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 3.2.4\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Data I/O{\*\bkmkend _Toc357054094} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Data I/O{\*\bkmkend _Toc385248198} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 For most devices, timing is half the battle (for clocks it is the entire war); the other half is I/O. Some devices are simulated on real hardware (f\hich\af1\dbch\af31505\loch\f1 @@ -1405,9 +1403,9 @@ SIMH provides capabilities to access files >2GB (the int32 position limit). If (int32 char). This routine outputs the specified ASCII character to the console. If the console is attached to a Telnet connection, and the connection is lost, the routine returns SCPE_LOST; if the connection i\hich\af1\dbch\af31505\loch\f1 s backlogged, the routine returns SCPE_STALL. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par {\*\bkmkstart _Toc357054095}{\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af0\afs28 \ltrch\fcs0 \b\f1\fs28\kerning28\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.\tab}}\pard\plain \ltrpar\s1\ql \fi-360\li360\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248199}{\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af0\afs28 \ltrch\fcs0 \b\f1\fs28\kerning28\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.\tab}}\pard\plain \ltrpar\s1\ql \fi-360\li360\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx360\wrapdefault\faauto\ls1\outlinelevel0\adjustright\rin0\lin360\itap0 \rtlch\fcs1 \ab\af1\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang1033\langfe1033\kerning28\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Data Structures{\*\bkmkend _Toc357054095} +\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Data Structures{\*\bkmkend _Toc385248199} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 The devices, units, and registers that make up a VM are formally described through a set of data structures which interface the VM to the control portions of SCP. \hich\af1\dbch\af31505\loch\f1 @@ -1416,9 +1414,9 @@ s backlogged, the routine returns SCPE_STALL. \par \par \hich\af1\dbch\af31505\loch\f1 \hich\f1 Note that a device must always have at least one unit, even if that unit is not needed for simulation purposes. A device must always point to a valid register table, but the register table can consist of just the \'93\loch\f1 \hich\f1 end of table\'94\loch\f1 entry. -\par {\*\bkmkstart _Toc357054096}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.1\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248200}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.1\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx390\wrapdefault\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin390\itap0 \rtlch\fcs1 \ab\ai\af1\afs24\alang1025 \ltrch\fcs0 \b\i\fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_device Structure{\*\bkmkend _Toc357054096} +\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_device Structure{\*\bkmkend _Toc385248200} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 Devices are defined by the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_device}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 structure (typedef @@ -1503,9 +1501,9 @@ ures, or NULL if none. \f1\insrsid14750569 \hich\af1\dbch\af31505\loch\f1 which might be useful while displaying }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid399520 \hich\af1\dbch\af31505\loch\f1 help }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14750569 \par }\pard \ltrpar\ql \li2160\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin2160\itap0\pararsid14750569 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14750569 \hich\af1\dbch\af31505\loch\f1 for the current device, or NULL if }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid399520 \hich\af1\dbch\af31505\loch\f1 none is required. -\par {\*\bkmkstart _Toc357054097}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.1.1\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248201}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.1.1\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Awidth and Aincr{\*\bkmkend _Toc357054097} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Awidth and Aincr{\*\bkmkend _Toc385248201} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid4550150 \par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 The }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 awidth}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 @@ -1520,18 +1518,19 @@ ures, or NULL if none. \par \par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault\faauto\ls24\adjustright\rin0\lin720\itap0 { \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Set }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 awidth}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 = 8 and }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 aincr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 = 1 and sup\hich\af1\dbch\af31505\loch\f1 -port only byte access in the examine/deposit routines. +\hich\af1\dbch\af31505\loch\f1 = 8 and }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 aincr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 + = 1 and support only byte access in the examine/deposit routines. \par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}\hich\af1\dbch\af31505\loch\f1 Set }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 awidth }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 and }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 aincr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 to the fundamental sizes and support unaligned data access in the examine/deposit routines. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 In a byte-addressable VM, SAVE and RESTORE will require (memory_size_bytes / }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 aincr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 -) iterations to save or restore memory. Thus, it is significantly more efficient to use word-wide rather than byte-wide memory; but requirements for unaligned access can add significantly to the complexity of the examine and deposit routines. -\par {\*\bkmkstart _Toc357054098}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.1.2\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par \hich\af1\dbch\af31505\loch\f1 In a byte-addressable VM, SAVE and RESTORE will require (me\hich\af1\dbch\af31505\loch\f1 mory_size_bytes / }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 aincr}{\rtlch\fcs1 \af1 +\ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +) iterations to save or restore memory. Thus, it is significantly more efficient to use word-wide rather than byte-wide memory; but requirements for unaligned access can add significantly to the complexity of the examine and deposit +\hich\af1\dbch\af31505\loch\f1 routines. +\par {\*\bkmkstart _Toc385248202}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.1.2\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Device Flags{\*\bkmkend _Toc357054098} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Device Flags{\*\bkmkend _Toc385248202} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 The }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 flags }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 @@ -1540,33 +1539,32 @@ field contains indicators of current device status. SIMH defines }{\rtlch\fcs1 \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 flag name\tab \tab meaning if set \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \tab \hich\af1\dbch\af31505\loch\f1 DEV_DISABLE\tab \tab device can be set enabled or disabled -\par \tab \hich\af1\dbch\af31505\loch\f1 DEV_DIS\tab \tab device is currently disabled -\par \tab \hich\af1\dbch\af31505\loch\f1 DEV_DYNM\tab \tab \hich\af1\dbch\af31505\loch\f1 device requires call on }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 msize}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 routine to change memory size +\par \tab \hich\af1\dbch\af31505\loch\f1 DEV_DIS\tab \tab device is currentl\hich\af1\dbch\af31505\loch\f1 y disabled +\par \tab \hich\af1\dbch\af31505\loch\f1 DEV_DYNM\tab \tab device requires call on }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 msize}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 + routine to change memory size \par \tab \hich\af1\dbch\af31505\loch\f1 DEV_DEBUG\tab \tab device supports SET DEBUG command \par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3867041 -\par \hich\af1\dbch\af31505\loch\f1 The flags field also contains an optional device type specification. One of these may be specified when initializing the flags field: +\par \hich\af1\dbch\af31505\loch\f1 The flags field also contains an optional device type specification. One of these may be specified when initializing the flags\hich\af1\dbch\af31505\loch\f1 field: \par -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid14776269 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14776269 \tab \hich\af1\dbch\af31505\loch\f1 DEV_DISK\tab \tab de\hich\af1\dbch\af31505\loch\f1 -vice uses sim_disk library attach +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid14776269 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14776269 \tab \hich\af1\dbch\af31505\loch\f1 DEV_DISK\tab \tab device uses sim_disk library attach \par \tab \hich\af1\dbch\af31505\loch\f1 DEV_TAPE\tab \tab device uses sim_tape library attach \par \tab \hich\af1\dbch\af31505\loch\f1 DEV_MUX\tab \tab device uses sim_tmxr library attach \par \tab \hich\af1\dbch\af31505\loch\f1 DEV_ETHER\tab \tab device uses sim_ether library attach \par \tab \hich\af1\dbch\af31505\loch\f1 DEV_DISPLAY\tab \tab device uses sim_video library attach \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14776269 -\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Starting at bit position DEV\hich\af1\dbch\af31505\loch\f1 -_V_UF, the remaining flags are device-specific. Device flags are automatically saved and restored; the device need not supply a register for these bits. -\par {\*\bkmkstart _Toc357054099}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.1.3\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Starti\hich\af1\dbch\af31505\loch\f1 +ng at bit position DEV_V_UF, the remaining flags are device-specific. Device flags are automatically saved and restored; the device need not supply a register for these bits. +\par {\*\bkmkstart _Toc385248203}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.1.3\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Context{\*\bkmkend _Toc357054099} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Context{\*\bkmkend _Toc385248203} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 The field contains a pointer to a VM-specific device context \hich\af1\dbch\af31505\loch\f1 -table, if required. SIMH never accesses this field. The context field allows VM-specific code to walk VM-specific data structures from the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_devices }{\rtlch\fcs1 -\af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 root pointer. -\par {\*\bkmkstart _Toc357054100}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.1.4\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par \hich\af1\dbch\af31505\loch\f1 The field contains a pointer to a VM-sp\hich\af1\dbch\af31505\loch\f1 +ecific device context table, if required. SIMH never accesses this field. The context field allows VM-specific code to walk VM-specific data structures from the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +sim_devices }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 root pointer. +\par {\*\bkmkstart _Toc385248204}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.1.4\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Examine and Deposit Routines{\*\bkmkend _Toc357054100} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Examine and Deposit Routines{\*\bkmkend _Toc385248204} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 @@ -1586,9 +1584,9 @@ For devices which maintain their data sets as host files, SCP implements the exa \hich\af1\dbch\af31505\loch\f1 in the specified }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 addr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 for unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . The }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 switch}{ \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 variable is the same as for the examine routine. -\par {\*\bkmkstart _Toc357054101}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.1.5\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248205}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.1.5\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Reset Routine{\*\bkmkend _Toc357054101} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Reset Routine{\*\bkmkend _Toc385248205} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 The reset routine implements the device reset function for the RESET, RUN, and BOOT commands. Its calling sequence is: @@ -1598,9 +1596,9 @@ For devices which maintain their data sets as host files, SCP implements the exa \par \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 A ty\hich\af1\dbch\af31505\loch\f1 pical reset routine clears all device flags and cancels any outstanding timing operations. Switch \hich\f1 \endash \loch\f1 p specifies a reset to power-up state. -\par {\*\bkmkstart _Toc357054102}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.1.6\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248206}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.1.6\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Boot Routine{\*\bkmkend _Toc357054102} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Boot Routine{\*\bkmkend _Toc385248206} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 If a device responds to a BOOT command, the boot routine implements the\hich\af1\dbch\af31505\loch\f1 bootstrapping function. Its calling sequence is: @@ -1611,9 +1609,9 @@ pical reset routine clears all device flags and cancels any outstanding timing o \ltrch\fcs0 \f1\insrsid4550150 . \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 A typical bootstrap routine copies a bootstrap loader into main memory and sets the PC to the starting ad\hich\af1\dbch\af31505\loch\f1 dress of the loader. SCP then starts simulation at the specified address. -\par {\*\bkmkstart _Toc357054103}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.1.7\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248207}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.1.7\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Attach and Detach Routines{\*\bkmkend _Toc357054103} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Attach and Detach Routines{\*\bkmkend _Toc385248207} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 Normally, the ATTACH and DETACH commands are handled by SCP. However, devices which need to pre- or post-process these c\hich\af1\dbch\af31505\loch\f1 @@ -1650,50 +1648,49 @@ ually attached and must test the unit flags if required. \par \hich\af1\dbch\af31505\loch\f1 SCP executes a DETACH ALL command as part of simulator exit. Normally, DETACH ALL only calls a unit\hich\f1 \rquote \loch\f1 s detach routine if the unit\hich\f1 \rquote \loch\f1 s UNIT_ATT flag is set. During simulator exit, the detach routine i\hich\af1\dbch\af31505\loch\f1 s also called if the unit is not flagged as attachable (UNIT_ATTABLE is not set). This allows the detach routine of a non-attachable unit to function as a simulator-specific cleanup routine for the unit, device, or entire simulator. -\par {\*\bkmkstart _Toc357054104}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.1.8\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248208}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.1.8\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Mem\hich\af1\dbch\af31505\loch\f1 ory Size Change Routine{\*\bkmkend _Toc357054104} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Mem\hich\af1\dbch\af31505\loch\f1 ory Size Change Routine{\*\bkmkend _Toc385248208} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 Most units instantiate any memory array at the maximum size possible. This allows apparent memory size to be changed by varying the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 capac -}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - field in the unit structure. For some devices (like the VAX CPU), instantiating the maximum memory size would impose a significant resource burden if less memory was actually needed. These devices must provide a routine, the memory size change routine, -\hich\af1\dbch\af31505\loch\f1 \hich\af1\dbch\af31505\loch\f1 for RESTORE to use if memory size must be changed: +}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 field in the unit structure. For some devices (like the VAX CPU), instantiatin\hich\af1\dbch\af31505\loch\f1 +g the maximum memory size would impose a significant resource burden if less memory was actually needed. These devices must provide a routine, the memory size change routine, for RESTORE to use if memory size must be changed: \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 change_mem_size}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr, int32 val, char *cptr, void *desc) \hich\f1 \endash \loch\f1 Change the capacity (memory size) of unit }{ -\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 to }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 val}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . The }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 and }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 desc}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - arguments are included for compatibility with the SET com\hich\af1\dbch\af31505\loch\f1 mand\hich\f1 \rquote \loch\f1 s validation routine calling sequence. +\hich\af1\dbch\af31505\loch\f1 change_mem_size}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (UNIT\hich\af1\dbch\af31505\loch\f1 *uptr, int32 val, char *cptr, void *desc) \hich\f1 \endash \loch\f1 + Change the capacity (memory size) of unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 to }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 +\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 val}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . The }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 +\ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 and }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 desc}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 + arguments are included for compatibility with the SET command\hich\f1 \rquote \loch\f1 s validation routine calling sequence. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par {\*\bkmkstart _Toc357054105}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.1.9\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248209}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.1.9\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Debug Controls{\*\bkmkend _Toc357054105} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Debug Controls{\*\bkmkend _Toc385248209} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 Devices can support debug printouts. Debug printouts are controlled by the SET \{NO\}DEBUG command, which specifies where debug output should be printed; and by the\hich\af1\dbch\af31505\loch\f1 SET \{NO\} +\par \hich\af1\dbch\af31505\loch\f1 Devices can support debug printouts. Debug printouts are controlled by the SET \{NO\}DEBUG command, which specifies where debug output should be printed; and by the SET \{NO\}\hich\af1\dbch\af31505\loch\f1 DEBUG command, which enables or disables individual debug printouts. \par \par \hich\af1\dbch\af31505\loch\f1 If a device supports debug printouts, device flag DEV_DEBUG must be set. Field }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 dctrl}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 is used for the d\hich\af1\dbch\af31505\loch\f1 ebug control flags. If a device supports only a single debug on/off flag, then the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +\hich\af1\dbch\af31505\loch\f1 is used for the debug control flags. If a device supports only a single debug on/off flag, then the\hich\af1\dbch\af31505\loch\f1 }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 debflags}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 field should be set to NULL. If a device supports multiple debug on/off flags, then the correspondence between bit positions in }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 -\b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 dctrl}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 and debug flag names is spec\hich\af1\dbch\af31505\loch\f1 ified by table }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 -\b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 debflags}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 debflags}{\rtlch\fcs1 -\af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 points to a continguous array of }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_debtab}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 structures (typedef }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 DEBTAB}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 -). Each sim_debtab structure specifies a single debug flag: +\b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 dctrl}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 and debug flag names is specified by table }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 debflags}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 debflags}{\rtlch\fcs1 \af1 \ltrch\fcs0 +\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 points to a continguous array of }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_debtab}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 str\hich\af1\dbch\af31505\loch\f1 uctures (typedef }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 DEBTAB}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 ). Each sim_debtab structure specifies a single debug flag: \par \par \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid16013944 \hich\af1\dbch\af31505\loch\f1 s}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 truct sim_debtab \{ \par \tab \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab name}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ;\tab \tab \tab \tab /}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 * flag name */ -\par \tab \tab \hich\af1\dbch\af31505\loch\f1 uint32\tab \tab mask;\tab \tab \tab \tab /* control bit \hich\af1\dbch\af31505\loch\f1 */ +\par \tab \tab \hich\af1\dbch\af31505\loch\f1 uint32\tab \tab mask;\tab \tab \tab \tab /* control bit */ \par \tab \tab \}\hich\af1\dbch\af31505\loch\f1 ; \par \par \hich\af1\dbch\af31505\loch\f1 The fields are the following: \par \par \tab \hich\af1\dbch\af31505\loch\f1 name\tab \tab name of the debug flag. -\par \tab \hich\af1\dbch\af31505\loch\f1 mask\tab \tab bit mask of the debug flag. +\par \tab \hich\af1\dbch\af31505\loch\f1 mask\tab \tab bit m\hich\af1\dbch\af31505\loch\f1 ask of the debug flag. \par \par \hich\af1\dbch\af31505\loch\f1 The array is terminated with a NULL entry. \par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid8129972 @@ -1702,17 +1699,16 @@ debflags}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505 \par \par }\pard \ltrpar\ql \fi720\li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid16013944 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\cf2\lang1024\langfe1024\noproof\insrsid8129972 \hich\af2\dbch\af31505\loch\f2 void}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1024\langfe1024\noproof\insrsid8129972 \hich\af2\dbch\af31505\loch\f2 _}{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1024\langfe1024\noproof\insrsid8129972\charrsid16013944 \hich\af2\dbch\af31505\loch\f2 sim_debug}{\rtlch\fcs1 \af2 \ltrch\fcs0 -\f2\lang1024\langfe1024\noproof\insrsid8129972 \hich\af2\dbch\af31505\loch\f2 (uint32 \hich\af2\dbch\af31505\loch\f2 dbits, DEVICE* dptr, }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\cf2\lang1024\langfe1024\noproof\insrsid8129972 \hich\af2\dbch\af31505\loch\f2 -const}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1024\langfe1024\noproof\insrsid8129972 \hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\cf2\lang1024\langfe1024\noproof\insrsid8129972 \hich\af2\dbch\af31505\loch\f2 char}{\rtlch\fcs1 \af2 -\ltrch\fcs0 \f2\lang1024\langfe1024\noproof\insrsid8129972 \hich\af2\dbch\af31505\loch\f2 * fmt, ...); +\f2\lang1024\langfe1024\noproof\insrsid8129972 \hich\af2\dbch\af31505\loch\f2 (uint32 dbits, DEVICE* dptr, }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\cf2\lang1024\langfe1024\noproof\insrsid8129972 \hich\af2\dbch\af31505\loch\f2 const}{\rtlch\fcs1 \af2 +\ltrch\fcs0 \f2\lang1024\langfe1024\noproof\insrsid8129972 \hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\cf2\lang1024\langfe1024\noproof\insrsid8129972 \hich\af2\dbch\af31505\loch\f2 char}{\rtlch\fcs1 \af2 \ltrch\fcs0 +\f2\lang1024\langfe1024\noproof\insrsid8129972 \hich\af2\dbch\af31505\loch\f2 * fmt, ...); \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid8129972 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1024\langfe1024\noproof\insrsid8129972 -\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\lang1024\langfe1024\noproof\insrsid8129972\charrsid16013944 \hich\af1\dbch\af31505\loch\f1 The dbits is a flag which matches a mask in a sim_debtab structure, and the }{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\lang1024\langfe1024\noproof\insrsid8352301\charrsid16013944 \hich\af1\dbch\af31505\loch\f1 the dptr is the DEVICE which has the corresponding dctl field.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\lang1024\langfe1024\noproof\insrsid8129972\charrsid16013944 - +\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\lang1024\langfe1024\noproof\insrsid8129972\charrsid16013944 \hich\af1\dbch\af31505\loch\f1 The dbits is a flag which matches a ma\hich\af1\dbch\af31505\loch\f1 sk in a sim_debtab structure, and the }{\rtlch\fcs1 \af1 +\ltrch\fcs0 \f1\lang1024\langfe1024\noproof\insrsid8352301\charrsid16013944 \hich\af1\dbch\af31505\loch\f1 the dptr is the DEVICE which has the corresponding dctl field.}{\rtlch\fcs1 \af1 \ltrch\fcs0 +\f1\lang1024\langfe1024\noproof\insrsid8129972\charrsid16013944 \par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\lang1024\langfe1024\noproof\insrsid8352301\charrsid16013944 -\par \hich\af1\dbch\af31505\loch\f1 Additionally support exists for displaying bit and bitfield va\hich\af1\dbch\af31505\loch\f1 lues. Bit field values are defined using the BITFIELD}{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\lang1024\langfe1024\noproof\insrsid8084824\charrsid16013944 \hich\af1\dbch\af31505\loch\f1 structure and the BIT macros to declare the bits and bitfields.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\lang1024\langfe1024\noproof\insrsid8352301\charrsid16013944 - +\par \hich\af1\dbch\af31505\loch\f1 Additionally support exists for displaying bit and bitfield values. Bit field values are defined using the BITFIELD}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\lang1024\langfe1024\noproof\insrsid8084824\charrsid16013944 +\hich\af1\dbch\af31505\loch\f1 structure and the BIT macros to decla\hich\af1\dbch\af31505\loch\f1 re the bits and bitfields.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\lang1024\langfe1024\noproof\insrsid8352301\charrsid16013944 \par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1024\langfe1024\noproof\insrsid8352301 \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\rin0\lin720\itap0\pararsid16013944 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1024\langfe1024\noproof\insrsid8352301 \hich\af2\dbch\af31505\loch\f2 BIT(nm) }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1024\langfe1024\noproof\insrsid8084824 \tab \tab \tab }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\cf11\lang1024\langfe1024\noproof\insrsid8084824 \hich\af2\dbch\af31505\loch\f2 - Single Bit definition}{\rtlch\fcs1 \af2 \ltrch\fcs0 @@ -1759,44 +1755,44 @@ const}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1024\langfe1024\noproof\insrsid81299 \par \hich\af2\dbch\af31505\loch\f2 BITFIELD xx_csr_bits[] = \{ \par \hich\af2\dbch\af31505\loch\f2 BIT(GO), }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\cf11\lang1024\langfe1024\noproof\insrsid16013944 \hich\af2\dbch\af31505\loch\f2 /* Go */ \par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1024\langfe1024\noproof\insrsid16013944 \hich\af2\dbch\af31505\loch\f2 BITFNAM(FUNC,5,rp_fname), }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\cf11\lang1024\langfe1024\noproof\insrsid16013944 -\hich\af2\dbch\af31505\loch\f2 /* F\hich\af2\dbch\af31505\loch\f2 unction Code */ +\hich\af2\dbch\af31505\loch\f2 /* Function Code */ \par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1024\langfe1024\noproof\insrsid16013944 \hich\af2\dbch\af31505\loch\f2 BIT(IE), }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\cf11\lang1024\langfe1024\noproof\insrsid16013944 \hich\af2\dbch\af31505\loch\f2 /* Interrupt Enable */ -\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1024\langfe1024\noproof\insrsid16013944 \hich\af2\dbch\af31505\loch\f2 BIT(RDY), }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\cf11\lang1024\langfe1024\noproof\insrsid16013944 -\hich\af2\dbch\af31505\loch\f2 /* Drive Ready */ +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1024\langfe1024\noproof\insrsid16013944 \hich\af2\dbch\af31505\loch\f2 BIT(RDY), \hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 +\f2\cf11\lang1024\langfe1024\noproof\insrsid16013944 \hich\af2\dbch\af31505\loch\f2 /* Drive Ready */ \par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1024\langfe1024\noproof\insrsid16013944 \hich\af2\dbch\af31505\loch\f2 BIT(DVA), }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\cf11\lang1024\langfe1024\noproof\insrsid16013944 \hich\af2\dbch\af31505\loch\f2 /* Drive Available */ \par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1024\langfe1024\noproof\insrsid16013944 \hich\af2\dbch\af31505\loch\f2 BITNCF(1), }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\cf11\lang1024\langfe1024\noproof\insrsid16013944 -\hich\af2\dbch\af31505\loch\f2 /\hich\af2\dbch\af31505\loch\f2 * 12 Reserved */ +\hich\af2\dbch\af31505\loch\f2 /* 12 Reserved */ \par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1024\langfe1024\noproof\insrsid16013944 \hich\af2\dbch\af31505\loch\f2 BIT(TRE), }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\cf11\lang1024\langfe1024\noproof\insrsid16013944 \hich\af2\dbch\af31505\loch\f2 /* Transfer Error */ -\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1024\langfe1024\noproof\insrsid16013944 \hich\af2\dbch\af31505\loch\f2 BIT(SC), }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\cf11\lang1024\langfe1024\noproof\insrsid16013944 -\hich\af2\dbch\af31505\loch\f2 /* Special Condition */ +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1024\langfe1024\noproof\insrsid16013944 \hich\af2\dbch\af31505\loch\f2 BIT(SC), \hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 +\f2\cf11\lang1024\langfe1024\noproof\insrsid16013944 \hich\af2\dbch\af31505\loch\f2 /* Special Condition */ \par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1024\langfe1024\noproof\insrsid16013944 \hich\af2\dbch\af31505\loch\f2 ENDBITS \par \}\hich\af2\dbch\af31505\loch\f2 ; \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid8129972 -\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid16013944 \hich\af1\dbch\af31505\loch\f1 The fields in a register can be displayed (along with transition indicators) by calling sim_\hich\af1\dbch\af31505\loch\f1 debug_bits. +\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid16013944 \hich\af1\dbch\af31505\loch\f1 The fields in a register can be displayed (along with transition indicators) by calling sim_debug_bits. \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\rin0\lin720\itap0\pararsid16013944 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\cf2\lang1024\langfe1024\noproof\insrsid8084824 \hich\af2\dbch\af31505\loch\f2 void}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1024\langfe1024\noproof\insrsid8084824 \hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af2 \ltrch\fcs0 \b\f2\lang1024\langfe1024\noproof\insrsid8084824\charrsid16013944 \hich\af2\dbch\af31505\loch\f2 sim_debug_bits}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1024\langfe1024\noproof\insrsid8084824 \hich\af2\dbch\af31505\loch\f2 (uint32 dbits, DEVICE* dptr, BITFIELD* bitdefs, uint32 before, uint32 after, }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\cf2\lang1024\langfe1024\noproof\insrsid8084824 \hich\af2\dbch\af31505\loch\f2 int}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\lang1024\langfe1024\noproof\insrsid8084824 \hich\af2\dbch\af31505\loch\f2 terminate); -\par {\*\bkmkstart _Toc357054106}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid3867041 \hich\af1\dbch\af31505\loch\f1 4.1.10\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248210}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid3867041 \hich\af1\dbch\af31505\loch\f1 4.1.10\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0\pararsid3867041 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 -\af1 \ltrch\fcs0 \insrsid3867041 \hich\af1\dbch\af31505\loch\f1 Device Specific Help support{\*\bkmkend _Toc357054106} +\af1 \ltrch\fcs0 \insrsid3867041 \hich\af1\dbch\af31505\loch\f1 Device Specific Help support{\*\bkmkend _Toc385248210} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid7174065 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7174065 -\par \hich\af1\dbch\af31505\loch\f1 -A device declaration may specify a device type or class in the flags field by providing one of DEV_DISK, DEV_TAPE, DEV_MUX, DEV_ETHER or DEV_DISPLAY values when initializing the flags. The device type allows the scp HELP command routine to provide some d -\hich\af1\dbch\af31505\loch\f1 e\hich\af1\dbch\af31505\loch\f1 fault help information for devices which don\hich\f1 \rquote \loch\f1 t otherwise specify a device specific help routine or a attach_help routine. +\par \hich\af1\dbch\af31505\loch\f1 A device declaration may specify a device type or class in the flags field by providing one of DEV_\hich\af1\dbch\af31505\loch\f1 +DISK, DEV_TAPE, DEV_MUX, DEV_ETHER or DEV_DISPLAY values when initializing the flags. The device type allows the scp HELP command routine to provide some default help information for devices which don\hich\f1 \rquote \loch\f1 +t otherwise specify a device specific help routine or\hich\af1\dbch\af31505\loch\f1 \hich\af1\dbch\af31505\loch\f1 a attach_help routine. \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid7174065\charrsid7174065 -\par {\*\bkmkstart _Toc357054107}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid3867041 \hich\af1\dbch\af31505\loch\f1 4.1.11\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248211}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid3867041 \hich\af1\dbch\af31505\loch\f1 4.1.11\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0\pararsid3867041 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 -\af1 \ltrch\fcs0 \insrsid3867041 \hich\af1\dbch\af31505\loch\f1 Help Routine}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid14776269 {\*\bkmkend _Toc357054107} +\af1 \ltrch\fcs0 \insrsid3867041 \hich\af1\dbch\af31505\loch\f1 Help Routine}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid14776269 {\*\bkmkend _Toc385248211} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid14776269 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14776269 -\par \hich\af1\dbch\af31505\loch\f1 A device declaration may provide a routine which will display help about that device w\hich\af1\dbch\af31505\loch\f1 \hich\f1 hen a user enters a \'93\loch\f1 \hich\f1 HELP dev\'94\loch\f1 command.}{\rtlch\fcs1 \af1 -\ltrch\fcs0 \f1\insrsid3867041 \hich\af1\dbch\af31505\loch\f1 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14776269 +\par \hich\af1\dbch\af31505\loch\f1 \hich\f1 A device declaration may provide a routine which will display help about that device when a user enters a \'93\loch\f1 \hich\f1 HELP dev\'94\loch\f1 command.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3867041 +\hich\af1\dbch\af31505\loch\f1 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14776269 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid3867041 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\cf11\lang1024\langfe1024\noproof\insrsid3867041 \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid14776269 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14776269 \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid3867041 \hich\af1\dbch\af31505\loch\f1 help}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14776269 \hich\af1\dbch\af31505\loch\f1 (}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3867041 \hich\af1\dbch\af31505\loch\f1 FILE}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14776269 @@ -1806,64 +1802,65 @@ A device declaration may specify a device type or class in the flags field by pr \hich\f1 \endash \loch\f1 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3867041 \hich\af1\dbch\af31505\loch\f1 Write help information about the device and/or unit usage. }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14776269 \hich\af1\dbch\af31505\loch\f1 The } {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3867041 \hich\af1\dbch\af31505\loch\f1 flag and }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid14776269 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3867041 \hich\af1\dbch\af31505\loch\f1 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14776269 \hich\af1\dbch\af31505\loch\f1 arguments are included for compatibility with the }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3867041 \hich\af1\dbch\af31505\loch\f1 HELP }{ -\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14776269 \hich\af1\dbch\af31505\loch\f1 comma\hich\af1\dbch\af31505\loch\f1 nd\hich\f1 \rquote \loch\f1 s validation routine calling sequence. +\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14776269 \hich\af1\dbch\af31505\loch\f1 command\hich\f1 \rquote \loch\f1 s validation routine calling sequence. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid14776269 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14776269 -\par {\*\bkmkstart _Toc357054108}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid14776269 \hich\af1\dbch\af31505\loch\f1 4.1.12\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248212}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid14776269 \hich\af1\dbch\af31505\loch\f1 4.1.12\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0\pararsid14776269 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 -\af1 \ltrch\fcs0 \insrsid14776269 \hich\af1\dbch\af31505\loch\f1 Attach Help Routine{\*\bkmkend _Toc357054108} +\af1 \ltrch\fcs0 \insrsid14776269 \hich\af1\dbch\af31505\loch\f1 Attach Help Routine{\*\bkmkend _Toc385248212} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid14776269 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14776269 -\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3867041 \hich\af1\dbch\af31505\loch\f1 A device declaration may provide a routine which will display help about h}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14776269 \hich\af1\dbch\af31505\loch\f1 -ORE to use if memory size must be changed: +\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3867041 \hich\af1\dbch\af31505\loch\f1 A\hich\af1\dbch\af31505\loch\f1 device declaration may provide a routine which will display help about h}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14776269 +\hich\af1\dbch\af31505\loch\f1 ORE to use if memory size must be changed: \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid3867041 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3867041 \hich\af1\dbch\af31505\loch\f1 t_stat attach_}{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid3867041 -\hich\af1\dbch\af31505\loch\f1 help}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3867041 \hich\af1\dbch\af31505\loch\f1 (FILE *st, DEVICE *dpt\hich\af1\dbch\af31505\loch\f1 r, UNIT *uptr, int32 flag, char *cptr) \hich\f1 \endash \loch\f1 - Write help information about the device and/or unit attach usage. The flag and }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid3867041 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3867041 \hich\af1\dbch\af31505\loch\f1 - arguments are included for compatibility with the HELP command\hich\f1 \rquote \loch\f1 s validation routine calling sequence. +\hich\af1\dbch\af31505\loch\f1 help}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3867041 \hich\af1\dbch\af31505\loch\f1 (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr) \hich\f1 \endash \loch\f1 + Write help information about the device and/or unit attac\hich\af1\dbch\af31505\loch\f1 h usage. The flag and }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid3867041 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3867041 +\hich\af1\dbch\af31505\loch\f1 arguments are included for compatibility with the HELP command\hich\f1 \rquote \loch\f1 s validation routine calling sequence. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid14776269 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14776269 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid8084824 -\par {\*\bkmkstart _Toc357054109}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.2\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248213}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.2\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx390\wrapdefault\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin390\itap0 \rtlch\fcs1 \ab\ai\af1\afs24\alang1025 \ltrch\fcs0 \b\i\fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_unit \hich\af1\dbch\af31505\loch\f1 Structure{\*\bkmkend _Toc357054109} +\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_unit Structure{\*\bkmkend _Toc385248213} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 -\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Units are allocated as contiguous array. Each unit is defined with a }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_unit}{ -\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 structure (typedef }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 UNIT}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 ): +\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Units are allocated as contiguous array. Each unit is defined with a }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_ +\hich\af1\dbch\af31505\loch\f1 unit}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 structure (typedef }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 UNIT}{\rtlch\fcs1 \af1 +\ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ): \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 struct sim_unit \{ \par \tab \hich\af1\dbch\af31505\loch\f1 struct sim_unit\tab *next;\tab \tab \tab \tab /* next active */ \par \tab \hich\af1\dbch\af31505\loch\f1 t_stat\tab \tab (*action)();\tab \tab \tab /* action routine */ -\par \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab *filename;\tab \tab \tab \hich\af1\dbch\af31505\loch\f1 /* open file name */ +\par \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab *filename;\tab \tab \tab /* open file name */ \par \tab \hich\af1\dbch\af31505\loch\f1 FILE\tab \tab *fileref;\tab \tab \tab \tab /* file reference */ -\par \tab \hich\af1\dbch\af31505\loch\f1 void\tab \tab *filebuf;\tab \tab \tab \tab /* memory buffer */ +\par \tab \hich\af1\dbch\af31505\loch\f1 void\tab \tab *filebuf;\tab \tab \tab \tab \hich\af1\dbch\af31505\loch\f1 /* memory buffer */ \par \tab \hich\af1\dbch\af31505\loch\f1 uint32\tab \tab hwmark;\tab \tab \tab /* high water mark */ \par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab time;\tab \tab \tab \tab /* time out */ \par \tab \hich\af1\dbch\af31505\loch\f1 uint32\tab \tab flags;\tab \tab \tab \tab /* flags */ \par \tab \hich\af1\dbch\af31505\loch\f1 t_addr\tab \tab capac;\tab \tab \tab \tab /* capacity */ -\par \tab \hich\af1\dbch\af31505\loch\f1 t_addr\tab \tab pos;\tab \tab \tab \tab \hich\af1\dbch\af31505\loch\f1 /* file position */ +\par \tab \hich\af1\dbch\af31505\loch\f1 t_addr\tab \tab pos;\tab \tab \tab \tab /* file position */ \par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab buf;\tab \tab \tab \tab /* buffer */ \par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab wait;\tab \tab \tab \tab /* wait */ -\par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab u3;\tab \tab \tab \tab /* device specific */ +\par \tab \hich\af1\dbch\af31505\loch\f1 int\hich\af1\dbch\af31505\loch\f1 32\tab \tab u3;\tab \tab \tab \tab /* device specific */ \par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab u4;\tab \tab \tab \tab /* device specific */ \par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab u5;\tab \tab \tab \tab /* device specific */ \par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab u6;\tab \tab \tab \tab /* device specific */ \par }\pard \ltrpar\ql \fi720\li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \}\hich\af1\dbch\af31505\loch\f1 ; \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 The fields are the follo\hich\af1\dbch\af31505\loch\f1 wing: +\par \hich\af1\dbch\af31505\loch\f1 The fields are the following: \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 next}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 pointer to next unit in active queue, NULL if none. -\par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 action}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 address of unit time-out service routine. +\par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 action}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 address of \hich\af1\dbch\af31505\loch\f1 unit time-out service routine. + \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 filename}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 pointer to name of attached file, NULL if none. \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 fileref}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 pointer to FILE structure of attached file, NULL if none. -\par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 hwmark}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 buffered d\hich\af1\dbch\af31505\loch\f1 -evices only; highest modified address, + 1. +\par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 hwmark}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 buffered devices only; highest modified address, + 1. \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 time}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 increment until time-out beyond previous unit in active queue. \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 flags}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 unit flags. \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 capac}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 unit capacity, 0 if variable. \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 pos}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 sequential devices only; next device address to be read or written. -\par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 buf}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 by convention, the unit buffer, but can be used for other purposes. +\par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 buf}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 by convention, the unit buffer, but can be used for other p +\hich\af1\dbch\af31505\loch\f1 urposes. \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 wait}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 by convention, the unit wait time, but can be used for other purposes. \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 u3}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 user-defined. @@ -1871,8 +1868,8 @@ evices only; highest modified address, + 1. \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 u5\tab \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 user-defined. \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 u6\tab \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 user-defined. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 buf, wait, u3, u4, u5, u6, }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 and parts o\hich\af1\dbch\af31505\loch\f1 f }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 flags}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 are all saved and restored by the SAVE and RESTORE commands and thus can be used for unit state which must be preserved. +\par \hich\af1\dbch\af31505\loch\f1 buf, wait, u3, u4, u5, u6, }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 and parts of }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 flags}{ +\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 are all saved and restored by the SAVE and RESTORE \hich\af1\dbch\af31505\loch\f1 commands and thus can be used for unit state which must be preserved. \par \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Macro }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 UDATA}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 is available to fill in the common fields of a UNIT. It is invoked by @@ -1882,40 +1879,39 @@ evices only; highest modified address, + 1. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Fields after }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 buf}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 can be filled in manually, e.g, \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \tab \hich\af2\dbch\af31505\loch\f2 UNIT lpt_unit = +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \tab \hich\af2\dbch\af31505\loch\f2 UNIT lp\hich\af2\dbch\af31505\loch\f2 t_unit = \par }\pard \ltrpar\ql \fi720\li720\ri0\widctlpar\wrapdefault\faauto\outlinelevel0\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \{\hich\af2\dbch\af31505\loch\f2 UDATA (&lpt_svc, UNIT_SEQ+UNIT_ATTABLE, 0), 500 \}; \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 defines the line printer as a sequential unit with a wait time of 500. -\par {\*\bkmkstart _Toc357054110}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.2.1\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248214}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.2.1\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Unit Flags{\*\bkmkend _Toc357054110} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Unit Flags{\*\bkmkend _Toc385248214} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 The }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 flags }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 field co\hich\af1\dbch\af31505\loch\f1 -ntains indicators of current unit status. SIMH defines 12 flags: +\par \hich\af1\dbch\af31505\loch\f1 The }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 flags }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +field contains indicators of current unit status. SIMH defines 12 \hich\af1\dbch\af31505\loch\f1 flags: \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 flag name\tab \tab meaning if set \par \par \hich\af1\dbch\af31505\loch\f1 UNIT_ATTABLE\tab the unit responds to ATTACH and DETACH. \par \hich\af1\dbch\af31505\loch\f1 UNIT_RO\tab \tab the unit is currently read only. \par \hich\af1\dbch\af31505\loch\f1 UNIX_FIX\tab \tab the unit is fixed capacity. -\par \hich\af1\dbch\af31505\loch\f1 UNIT_SEQ\tab \tab \hich\af1\dbch\af31505\loch\f1 the unit is sequential. +\par \hich\af1\dbch\af31505\loch\f1 UNIT_SEQ\tab \tab the unit is sequential. \par \hich\af1\dbch\af31505\loch\f1 UNIT_ATT\tab \tab the unit is currently attached to a file. \par \hich\af1\dbch\af31505\loch\f1 UNIT_BINK\tab \tab \hich\f1 the unit measures \'93\loch\f1 \hich\f1 K\'94\loch\f1 as 1024, rather than 1000. \par \hich\af1\dbch\af31505\loch\f1 UNIT_BUFABLE\tab the unit buffers its data set in memory. \par \hich\af1\dbch\af31505\loch\f1 UNIT_MUSTBUF\tab the unit allocates its data buffer dynamically. -\par \hich\af1\dbch\af31505\loch\f1 UNIT_\hich\af1\dbch\af31505\loch\f1 BUF\tab \tab the unit is currently buffering its data set in memory. -\par \hich\af1\dbch\af31505\loch\f1 UNIT_ROABLE\tab \tab the unit can be ATTACHed read only. +\par \hich\af1\dbch\af31505\loch\f1 UNIT_BUF\tab \tab the unit is currently buffering its data set in memory. +\par \hich\af1\dbch\af31505\loch\f1 UNIT_ROABLE\tab \tab th\hich\af1\dbch\af31505\loch\f1 e unit can be ATTACHed read only. \par \hich\af1\dbch\af31505\loch\f1 UNIT_DISABLE\tab \tab the unit responds to ENABLE and DISABLE. \par \hich\af1\dbch\af31505\loch\f1 UNIT_DIS\tab \tab the unit is currently disabled. \par \hich\af1\dbch\af31505\loch\f1 UNIT_RAW\tab \tab the unit is attached in RAW mode. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 Star\hich\af1\dbch\af31505\loch\f1 -ting at bit position UNIT_V_UF, the remaining flags are unit-specific. Unit-specific flags are set and cleared with the SET and CLEAR commands, which reference the MTAB array (see below). Unit-specific flags and UNIT_DIS are automatically saved and rest -\hich\af1\dbch\af31505\loch\f1 o\hich\af1\dbch\af31505\loch\f1 red; the device need not supply a register for these bits. -\par {\*\bkmkstart _Toc357054111}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.2.2\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par \hich\af1\dbch\af31505\loch\f1 Starting at bit position UNIT_V_UF, the remaining flags are unit-specific. Unit\hich\af1\dbch\af31505\loch\f1 +-specific flags are set and cleared with the SET and CLEAR commands, which reference the MTAB array (see below). Unit-specific flags and UNIT_DIS are automatically saved and restored; the device need not supply a register for these bits. +\par {\*\bkmkstart _Toc385248215}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.2.2\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Service Routine{\*\bkmkend _Toc357054111} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Service Routine{\*\bkmkend _Toc385248215} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 This routine is called by }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_process_event}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 @@ -1924,34 +1920,29 @@ ting at bit position UNIT_V_UF, the remaining flags are unit-specific. Unit-spe \par }\pard \ltrpar\ql \fi720\li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 service_routine}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr) \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 The status return\hich\af1\dbch\af31505\loch\f1 -ed by the service routine is passed by }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_process_event}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 back to the CPU. -\par {\*\bkmkstart _Toc357054112}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.3\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 The status returned by the service routine is passed by }{\rtlch\fcs1 +\ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_process_event}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 back to the CPU. +\par {\*\bkmkstart _Toc385248216}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.3\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx390\wrapdefault\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin390\itap0 \rtlch\fcs1 \ab\ai\af1\afs24\alang1025 \ltrch\fcs0 \b\i\fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_reg Structure{\*\bkmkend _Toc357054112} +\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_reg Structure{\*\bkmkend _Toc385248216} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Registers are allocated as contiguous array, with a NULL register at the end. Each register is defined with a }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 sim_reg}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 structure (typ\hich\af1\dbch\af31505\loch\f1 edef }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 REG}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ): +\hich\af1\dbch\af31505\loch\f1 sim_reg}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 structure (typedef }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 REG}{\rtlch\fcs1 \af1 +\ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ): \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 struct reg \{ \par \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab *name;\tab \tab \tab \tab /* name */ -\par \tab \hich\af1\dbch\af31505\loch\f1 void\tab \tab *loc;\tab \tab \tab \tab /* location */ +\par \tab \hich\af1\dbch\af31505\loch\f1 void\tab \tab *loc;\tab \tab \tab \tab \hich\af1\dbch\af31505\loch\f1 /* location */ \par \tab \hich\af1\dbch\af31505\loch\f1 uint32\tab \tab radix;\tab \tab \tab \tab /* radix */ \par \tab \hich\af1\dbch\af31505\loch\f1 uint32\tab \tab width;\tab \tab \tab \tab /* width */ \par \tab \hich\af1\dbch\af31505\loch\f1 uint32\tab \tab offset;\tab \tab \tab \tab /* starting bit */ \par \tab \hich\af1\dbch\af31505\loch\f1 uint32\tab \tab depth;\tab \tab \tab \tab /* save depth */ -\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid14047945 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 \hich\af1\dbch\af31505\loch\f1 char}{ -\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 \tab \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 \hich\af1\dbch\af31505\loch\f1 *}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 \hich\af1\dbch\af31505\loch\f1 de}{\rtlch\fcs1 \af1 -\ltrch\fcs0 \f1\insrsid14047945 \hich\af1\dbch\af31505\loch\f1 sc}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 \hich\af1\dbch\af31505\loch\f1 ;\tab \tab \tab \tab /* }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 \hich\af1\dbch\af31505\loch\f1 -description }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 \hich\af1\dbch\af31505\loch\f1 */ -\par \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 \hich\af1\dbch\af31505\loch\f1 struct bitfield\tab \hich\af1\dbch\af31505\loch\f1 *fields}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 ;}{\rtlch\fcs1 \af1 -\ltrch\fcs0 \f1\insrsid14047945 \tab \tab \tab \tab \hich\af1\dbch\af31505\loch\f1 /* }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 \hich\af1\dbch\af31505\loch\f1 bit\hich\af1\dbch\af31505\loch\f1 \hich\af1\dbch\af31505\loch\f1 fields}{\rtlch\fcs1 -\af1 \ltrch\fcs0 \f1\insrsid14047945 \hich\af1\dbch\af31505\loch\f1 */ -\par \tab \hich\af1\dbch\af31505\loch\f1 uint32\tab \tab flags;\tab \tab \tab \tab /* flags */ -\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 uin\hich\af1\dbch\af31505\loch\f1 t32\tab \tab qptr;\tab \tab \tab \tab -/* current queue pointer */ +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid14047945 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab *desc;\tab \tab \tab \tab /* description */ +\par \tab \hich\af1\dbch\af31505\loch\f1 struct bitfield\tab *fields}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 ;}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 \tab \tab \tab \tab \hich\af1\dbch\af31505\loch\f1 +/* bit fields */ +\par \tab \hich\af1\dbch\af31505\loch\f1 uint32\tab \tab flags;\tab \tab \tab \tab /* f\hich\af1\dbch\af31505\loch\f1 lags */ +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 uint32\tab \tab qptr;\tab \tab \tab \tab /* current queue pointer */ \par }\pard \ltrpar\ql \fi720\li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \}\hich\af1\dbch\af31505\loch\f1 ; \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 The fields are the following: @@ -1960,217 +1951,178 @@ description }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 \hich\af1\dbch\af \hich\af1\dbch\af31505\loch\f1 device name, string of all capital alphanumeric characters. \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 loc}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 pointer to location of the register value. \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 radix}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 radix for input and display of data, 2 to 16 inclusive. -\par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 wi\hich\af1\dbch\af31505\loch\f1 dth}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 width in bits of data, 1 to 32 inclusive. - +\par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 width}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 width in bits of data, 1 to 32 inclusive. \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 offset}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 bit offset (from right end of data). \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 depth\tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 size of data array (normally 1). \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid13708998 \hich\af1\dbch\af31505\loch\f1 desc}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998 \hich\af1\dbch\af31505\loch\f1 register description}{ \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . -\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid14047945 {\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid14047945 \hich\af1\dbch\af31505\loch\f1 f\hich\af1\dbch\af31505\loch\f1 ield}{\rtlch\fcs1 \ab\af1 -\ltrch\fcs0 \b\f1\insrsid14047945 \hich\af1\dbch\af31505\loch\f1 s}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 \tab \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 \hich\af1\dbch\af31505\loch\f1 bit }{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\insrsid14047945 \hich\af1\dbch\af31505\loch\f1 f}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 \hich\af1\dbch\af31505\loch\f1 ield}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 \hich\af1\dbch\af31505\loch\f1 s and formatting information. - +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid14047945 {\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid14047945 \hich\af1\dbch\af31505\loch\f1 fields}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 \tab +\tab \hich\af1\dbch\af31505\loch\f1 bit fields and formatting info\hich\af1\dbch\af31505\loch\f1 rmation. \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid13708998 {\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid13708998 \hich\af1\dbch\af31505\loch\f1 flags}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998 \tab \tab \hich\af1\dbch\af31505\loch\f1 flags and formatting information. \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 qptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 for a circular queue, the entry number for the first entry \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 The }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 depth}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 field is\hich\af1\dbch\af31505\loch\f1 -\hich\f1 used with \'93\loch\f1 \hich\f1 arrayed registers\'94\loch\f1 +\par \hich\af1\dbch\af31505\loch\f1 The }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 depth}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 \hich\f1 field is used with \'93\loch\f1 +\hich\f1 arrayed registers\'94\hich\af1\dbch\af31505\loch\f1 . Arrayed registers are used to represent structures with multiple data values, such as the locations in a transfer buffer; or structures which are replicated in every unit, such as a drive status register. The }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 -\b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 qptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 field is\hich\af1\dbch\af31505\loch\f1 \hich\f1 used with \'93\loch\f1 \hich\f1 queued registers\'94\loch\f1 -. Queued registers are arrays that are organized as circular queues, such as the PC change queue.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998 \hich\af1\dbch\af31505\loch\f1 The }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid13708998 -\hich\af1\dbch\af31505\loch\f1 desc}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998 \hich\af1\dbch\af31505\loch\f1 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998 \hich\af1\dbch\af31505\loch\f1 field\hich\af1\dbch\af31505\loch\f1 -\hich\af1\dbch\af31505\loch\f1 (if present) \hich\af1\dbch\af31505\loch\f1 is displayed \hich\af1\dbch\af31505\loch\f1 by the HELP dev REGISTER command to \hich\af1\dbch\af31505\loch\f1 enumerate \hich\af1\dbch\af31505\loch\f1 the -\hich\af1\dbch\af31505\loch\f1 device \hich\af1\dbch\af31505\loch\f1 registers and \hich\af1\dbch\af31505\loch\f1 describe them. The }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid13708998 \hich\af1\dbch\af31505\loch\f1 fields}{\rtlch\fcs1 \af1 -\ltrch\fcs0 \f1\insrsid13708998 \hich\af1\dbch\af31505\loch\f1 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998 \hich\af1\dbch\af31505\loch\f1 field (if present) is used to display details of a register\loch\af1\dbch\af31505\hich\f1 \rquote -\hich\af1\dbch\af31505\loch\f1 s content according to the respective field descr\hich\af1\dbch\af31505\loch\f1 iptions.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 +\b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 qptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 \hich\f1 field is used with \'93\loch\f1 \hich\f1 queued registers\'94.\hich\af1\dbch\af31505\loch\f1 + Queued registers are arrays that are organized as circular queues, such as the PC change queue.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998 \hich\af1\dbch\af31505\loch\f1 The }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid13708998 +\hich\af1\dbch\af31505\loch\f1 desc}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998 \hich\af1\dbch\af31505\loch\f1 field (if present) is displayed by the HELP dev REGISTER command to enumerate the device registers and describe them. The }{\rtlch\fcs1 +\ab\af1 \ltrch\fcs0 \b\f1\insrsid13708998 \hich\af1\dbch\af31505\loch\f1 fields}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998 \hich\af1\dbch\af31505\loch\f1 field (if present)\hich\af1\dbch\af31505\loch\f1 is used to display details of a register +\hich\f1 \rquote \loch\f1 s content according to the respective field descriptions.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par -\par \hich\af1\dbch\af31505\loch\f1 A register that is 32b or less keeps its data in a 32b scalar variable (signed or unsigned). A register that is 33b or more ke\hich\af1\dbch\af31505\loch\f1 -eps its data in a 64b scalar variable (signed or unsigned). There are several exceptions to this rule: +\par \hich\af1\dbch\af31505\loch\f1 A register that is 32b or less keeps its data in a 32b scalar variable (signed or unsigned). A register that is 33b or more keeps its data in a 64b scalar\hich\af1\dbch\af31505\loch\f1 + variable (signed or unsigned). There are several exceptions to this rule: \par \par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}}\pard \ltrpar\ql \fi-360\li720\ri0\widctlpar\jclisttab\tx720\wrapdefault\faauto\ls27\adjustright\rin0\lin720\itap0 { -\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 An arrayed register keeps its data in a C-array whose SIMH data type is as large as (or if necessary, larger\hich\af1\dbch\af31505\loch\f1 - than), the width of a register element. For example, an array of 6b registers would keep its data in a uint8 (or int8) array; an array of 16b registers would keep its data in a uint16 (or int16) array; an array of 24b registers would keep its data in a -\hich\af1\dbch\af31505\loch\f1 u\hich\af1\dbch\af31505\loch\f1 int32 (or int32) array. -\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}\hich\af1\dbch\af31505\loch\f1 -A register flagged with REG_FIT obeys the sizing rules of an arrayed register, rather than a normal scalar register. This is useful for aliasing registers into memory or into structures. +\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +An arrayed register keeps its data in a C-array whose SIMH data type is as large as (or if necessary, larger than), the width of a register element. For example, an array of 6b\hich\af1\dbch\af31505\loch\f1 + registers would keep its data in a uint8 (or int8) array; an array of 16b registers would keep its data in a uint16 (or int16) array; an array of 24b registers would keep its data in a uint32 (or int32) array. +\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af1\afs20 \ltrch\fcs0 \f3\fs20\insrsid4550150 \loch\af3\dbch\af31505\hich\f3 \'b7\tab}\hich\af1\dbch\af31505\loch\f1 A register flagged with REG_FIT obeys the s\hich\af1\dbch\af31505\loch\f1 +izing rules of an arrayed register, rather than a normal scalar register. This is useful for aliasing registers into memory or into structures. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 Macros }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ORDATA}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 , }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 DRDATA}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 , and }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 HRDATA}{\rtlch\fcs1 -\af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 define \hich\af1\dbch\af31505\loch\f1 right-justified octal, decimal, and hexidecimal registers, respectively. They are invoked by: +\af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 define right-justified octal, decimal, and hexidecimal registers, respective\hich\af1\dbch\af31505\loch\f1 ly. They are invoked by: \par \par \tab \hich\af1\dbch\af31505\loch\f1 xRDATA\tab (name, location, width) \par \par \hich\af1\dbch\af31505\loch\f1 Macro }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 FLDATA}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 defines a one-bit binary flag at an arbitrary offset in a 32-bit word. It is invoked by: \par -\par \tab \hich\af1\dbch\af31505\loch\f1 FLDATA\tab (name, location\hich\af1\dbch\af31505\loch\f1 , bit_position) +\par \tab \hich\af1\dbch\af31505\loch\f1 FLDATA\tab (name, location, bit_position) \par -\par \hich\af1\dbch\af31505\loch\f1 Macro }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 GRDATA}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - defines a register with arbitrary location and radix. It is invoked by: +\par \hich\af1\dbch\af31505\loch\f1 Macro }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 GRDATA}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 defines a register with arbitrary locat +\hich\af1\dbch\af31505\loch\f1 ion and radix. It is invoked by: \par \par \tab \hich\af1\dbch\af31505\loch\f1 GRDATA\tab (name, location, radix, width, bit_position) \par \par \hich\af1\dbch\af31505\loch\f1 Macro }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 BRDATA}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - defines an arrayed register whose data is kept in a standard C array. It is invoked \hich\af1\dbch\af31505\loch\f1 by: + defines an arrayed register whose data is kept in a standard C array. It is invoked by: \par \par \tab \hich\af1\dbch\af31505\loch\f1 BRDATA\tab (name, location, radix, width, depth) \par -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 For all of these macros, the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 -\b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 flag}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 field can be filled in manually, e.g., +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 For all of these \hich\af1\dbch\af31505\loch\f1 macros, the }{\rtlch\fcs1 +\ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 flag}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 field can be filled in manually, e.g., \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \tab \hich\af2\dbch\af31505\loch\f2 REG lpt_reg = \{ \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \tab \tab \{\hich\af2\dbch\af31505\loch\f2 DRDATA\tab (POS, lpt_unit.pos, 31), PV_LFT \}\hich\f2 , \'85\loch\f2 \} \par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 Finally, macro }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 URDATA}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - defines an arrayed register whose data i\hich\af1\dbch\af31505\loch\f1 s part of the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 UNIT}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 structure. This macro must be used with great care. If the fields are set up wrong, or the data is actually kept somewhere else, storing through this register declaration can trample over memory. The macro is invoked by: - + defines an arrayed register whose data is part of the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 UNIT}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 + structure. This macro must be used with great care. If the fields are set up wrong, or the data is actually kept somewhere else, storing through this register declaration can trample over memory. The macro is invoked by: \par -\par \tab \hich\af1\dbch\af31505\loch\f1 URDATA\tab (nam\hich\af1\dbch\af31505\loch\f1 e, location, radix, width, offset, depth, flags) +\par \tab \hich\af1\dbch\af31505\loch\f1 URDATA\tab (name, location, radix\hich\af1\dbch\af31505\loch\f1 , width, offset, depth, flags) \par \par \hich\af1\dbch\af31505\loch\f1 The location should be an offset in the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 UNIT }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 -structure for unit 0. The width should be 32 for an int32 or uint32 field, and T_ADDR_W for a t_addr filed. The flags can be any of the normal register flags; REG_UNIT will be OR\hich\f1 \rquote \loch\f1 -d in automatically. For example, the following declares an arrayed regist\hich\af1\dbch\af31505\loch\f1 e\hich\af1\dbch\af31505\loch\f1 r of all the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 UNIT }{\rtlch\fcs1 -\af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 position fields in a device with 4 units: +structure for unit 0. The width should be 32 for an int32 or uint32 field, and T_ADDR_W for a t_addr filed. The flags can be any of the normal register flags; REG_UNIT will be O\hich\af1\dbch\af31505\loch\f1 R\hich\f1 \rquote \loch\f1 +d in automatically. For example, the following declares an arrayed register of all the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 UNIT }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 position fields in a device with 4 units: \par \par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \tab \{\hich\af2\dbch\af31505\loch\f2 URDATA\tab (POS, dev_unit[0].pos, 8, T_ADDR_W, 0, 4, 0) \} \par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid13708998 -\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 Each of the ORDATA, DRDATA, BRDATA, FLDATA, GRDATA, BRDATA and URDATA macros has \hich\af1\dbch\af31505\loch\f1 corresponding \loch\af1\dbch\af31505\hich\f1 -\lquote \hich\af1\dbch\af31505\loch\f1 D\loch\af1\dbch\af31505\hich\f1 \rquote \hich\af1\dbch\af31505\loch\f1 \hich\af1\dbch\af31505\loch\f1 and \loch\af1\dbch\af31505\hich\f1 \lquote \hich\af1\dbch\af31505\loch\f1 DF\loch\af1\dbch\af31505\hich\f1 -\rquote \hich\af1\dbch\af31505\loch\f1 \hich\af1\dbch\af31505\loch\f1 macro\hich\af1\dbch\af31505\loch\f1 s\hich\af1\dbch\af31505\loch\f1 (}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 ORDATA}{ -\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 D}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 , DRDATA}{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 D}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 , BRDATA}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 -\hich\af1\dbch\af31505\loch\f1 D}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 , FLDATA}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 D}{\rtlch\fcs1 -\af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 , GRDATA}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 D}{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 , BRDATA}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 D}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 -\hich\af1\dbch\af31505\loch\f1 and URDATA}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 D and }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 ORDATA -\hich\af1\dbch\af31505\loch\f1 D}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 F}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 , DRDATA -\hich\af1\dbch\af31505\loch\f1 D}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 F}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 , BRDATA -\hich\af1\dbch\af31505\loch\f1 D}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 F}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 , FLDATA -\hich\af1\dbch\af31505\loch\f1 D}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 F}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 , GRDATA -\hich\af1\dbch\af31505\loch\f1 D}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 F}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 , BRDATA -\hich\af1\dbch\af31505\loch\f1 D}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 F}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 and URDATA -\hich\af1\dbch\af31505\loch\f1 D}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 F\hich\af1\dbch\af31505\loch\f1 ) which can be used to provide }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998 -\hich\af1\dbch\af31505\loch\f1 initialization }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 values to the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid13708998 \hich\af1\dbch\af31505\loch\f1 desc -\hich\af1\dbch\af31505\loch\f1 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998 \hich\af1\dbch\af31505\loch\f1 a\hich\af1\dbch\af31505\loch\f1 n\hich\af1\dbch\af31505\loch\f1 d}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid13708998 -\hich\af1\dbch\af31505\loch\f1 }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid13708998 \hich\af1\dbch\af31505\loch\f1 fields}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid13708998 \hich\af1\dbch\af31505\loch\f1 }{\rtlch\fcs1 \af1 -\ltrch\fcs0 \f1\insrsid13708998\charrsid7150830 \hich\af1\dbch\af31505\loch\f1 the}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3941693 \hich\af1\dbch\af31505\loch\f1 reg structure.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 -\par {\*\bkmkstart _Toc357054113}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.3.1\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 \hich\af1\dbch\af31505\loch\f1 Each of the ORDATA, DRDATA, BRDATA, FLDATA, GRDATA, BRDATA and URDATA macros has corresponding \hich\f1 \lquote \loch\f1 D\hich\f1 \rquote \loch\f1 and +\hich\f1 \lquote \loch\f1 DF\hich\f1 \rquote \loch\f1 macros (ORDATAD, DRDATAD, BRDATAD, FLDATAD, GRDATAD, BRDATAD and URDATAD and ORDATADF, DRDATADF, BRDATADF, FLDATADF, GRDATADF, BRDATADF and URDATAD\hich\af1\dbch\af31505\loch\f1 F +\hich\af1\dbch\af31505\loch\f1 ) which can be used to provide }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998 \hich\af1\dbch\af31505\loch\f1 initialization }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 +\hich\af1\dbch\af31505\loch\f1 values to the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid13708998 \hich\af1\dbch\af31505\loch\f1 desc }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998 \hich\af1\dbch\af31505\loch\f1 and}{\rtlch\fcs1 \ab\af1 +\ltrch\fcs0 \b\f1\insrsid13708998 \hich\af1\dbch\af31505\loch\f1 fields}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid13708998 \hich\af1\dbch\af31505\loch\f1 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid7150830 +\hich\af1\dbch\af31505\loch\f1 the}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3941693 \hich\af1\dbch\af31505\loch\f1 reg structure.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13708998\charrsid4873001 +\par {\*\bkmkstart _Toc385248217}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.3.1\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Register Flags{\*\bkmkend _Toc357054113} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Register Flags{\*\bkmkend _Toc385248217} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 The }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 flags }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 field contains indicators that control register examination and deposit. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 flag n\hich\af1\dbch\af31505\loch\f1 ame\tab \tab meaning if specified +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 flag name\tab \tab meaning if specifi\hich\af1\dbch\af31505\loch\f1 ed \par \par \hich\af1\dbch\af31505\loch\f1 PV_RZRO\tab \tab print register right justified with leading zeroes. \par \hich\af1\dbch\af31505\loch\f1 PV_RSPC\tab \tab print register right justified with leading spaces. -\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid14047945 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 \hich\af1\dbch\af31505\loch\f1 PV_R}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 -\hich\af1\dbch\af31505\loch\f1 COMMA}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 \tab \tab \hich\af1\dbch\af31505\loch\f1 print register right justified }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 \hich\af1\dbch\af31505\loch\f1 -space fill comma\loch\af1\dbch\af31505\hich\f1 \rquote \hich\af1\dbch\af31505\loch\f1 s every 3}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 . +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid14047945 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14047945 \hich\af1\dbch\af31505\loch\f1 PV_RCOMMA\tab \tab print register right justified space fill comma +\hich\f1 \rquote \loch\f1 s every 3. \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 PV_LEFT\tab \tab print register left justified. -\par \hich\af1\dbch\af31505\loch\f1 REG_RO\tab \tab register is read only. -\par \hich\af1\dbch\af31505\loch\f1 REG_HIDDEN\tab \tab register is hidden (will\hich\af1\dbch\af31505\loch\f1 not appear in EXAMINE STATE). +\par \hich\af1\dbch\af31505\loch\f1 REG_RO\tab \tab register is \hich\af1\dbch\af31505\loch\f1 read only. +\par \hich\af1\dbch\af31505\loch\f1 REG_HIDDEN\tab \tab register is hidden (will not appear in EXAMINE STATE). \par \hich\af1\dbch\af31505\loch\f1 REG_HRO\tab \tab register is read only and hidden. \par \hich\af1\dbch\af31505\loch\f1 REG_NZ\tab \tab new register values must be non-zero. \par \hich\af1\dbch\af31505\loch\f1 REG_UNIT\tab \tab register resides in the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 UNIT}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 structure. \par \hich\af1\dbch\af31505\loch\f1 REG_CIRC\tab \tab register is a circular queue. -\par \hich\af1\dbch\af31505\loch\f1 REG_VMIO\tab \tab register is displayed and parsed usi\hich\af1\dbch\af31505\loch\f1 ng VM data routines. +\par \hich\af1\dbch\af31505\loch\f1 REG_VMIO\tab \tab register is displayed and parsed using VM data routines. \par \hich\af1\dbch\af31505\loch\f1 REG_VMAD\tab \tab register is displayed and parsed using VM address routines. \par \hich\af1\dbch\af31505\loch\f1 REG_FIT\tab \tab register container uses arrayed rather than scalar size rules. -\par {\*\bkmkstart _Toc357054114}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.4\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248218}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.4\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx390\wrapdefault\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin390\itap0 \rtlch\fcs1 \ab\ai\af1\afs24\alang1025 \ltrch\fcs0 \b\i\fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid3941693 \hich\af1\dbch\af31505\loch\f1 bitfield}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Structure -{\*\bkmkend _Toc357054114} +{\*\bkmkend _Toc385248218} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid4873001 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3941693 -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid1448590 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 Bitfield}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 -\hich\af1\dbch\af31505\loch\f1 s are allocated as contiguous array, with a NULL }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 bitfield\hich\af1\dbch\af31505\loch\f1 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 -\hich\af1\dbch\af31505\loch\f1 at the end. Each }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 bitfield}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 is defined with a }{\rtlch\fcs1 -\ab\af1 \ltrch\fcs0 \b\f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 sim_}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 bitfield}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 - structure (typ\hich\af1\dbch\af31505\loch\f1 edef }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 BITFIELD}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 ): +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid1448590 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 +Bitfields are allocated as contiguous array, with a NULL bitfield at the end. Each bitfield is defined with a }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 sim_}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 +\b\f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 bitfield}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 structure (typedef }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 BITFIELD +}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 ): \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid1448590 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 -\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 struct }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 sim_bitfield}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 -\hich\af1\dbch\af31505\loch\f1 \{ -\par \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab *name;\tab \tab \tab \tab /* }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 field }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 name */ - -\par \tab \hich\af1\dbch\af31505\loch\f1 uint32\tab \tab offset;\tab \tab \tab \tab /* starting bit */ +\par \hich\af1\dbch\af31505\loch\f1 struct sim_bitfield \{ +\par \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab *name;\tab \tab \tab \tab /* field name */ +\par \tab \hich\af1\dbch\af31505\loch\f1 uint32\tab \tab offset;\tab \tab \tab \tab /* starting bit *\hich\af1\dbch\af31505\loch\f1 / \par \tab \hich\af1\dbch\af31505\loch\f1 uint32\tab \tab width;\tab \tab \tab \tab /* width */ -\par \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 *}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 *}{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 valuenames}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 ;\tab \tab \tab \hich\af1\dbch\af31505\loch\f1 /* }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 -\hich\af1\dbch\af31505\loch\f1 map of values to strings}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 \hich\af1\dbch\af31505\loch\f1 */ -\par \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 char\tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 *f -\hich\af1\dbch\af31505\loch\f1 o\hich\af1\dbch\af31505\loch\f1 rmat\hich\af1\dbch\af31505\loch\f1 ;}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \tab \tab \tab \tab \hich\af1\dbch\af31505\loch\f1 /* }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 -\hich\af1\dbch\af31505\loch\f1 value format string}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 */ +\par \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab **valuenames;\tab \tab \tab /* map of values to strings */ +\par \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab *format;\tab \tab \tab \tab /* value format string */ \par }\pard \ltrpar\ql \fi720\li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid1448590 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \}\hich\af1\dbch\af31505\loch\f1 ; \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid1448590 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \par \hich\af1\dbch\af31505\loch\f1 The fields are the following: \par -\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid1448590 {\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 name}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \tab \tab }{ -\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 field }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 name, string of \hich\af1\dbch\af31505\loch\f1 alphanumeric characters. -\par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 offset}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \tab \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 -starting bit (normally populated automatically)}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 . -\par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 wi\hich\af1\dbch\af31505\loch\f1 dth}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \tab \tab \hich\af1\dbch\af31505\loch\f1 width in bits of data, 1 to 32 inclusive. - -\par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 valuenames}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 p -\hich\af1\dbch\af31505\loch\f1 ointer to a string array which maps \hich\af1\dbch\af31505\loch\f1 fields \hich\af1\dbch\af31505\loch\f1 values}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 -\par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 format}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid1448590 \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 value format string}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid1448590 {\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 name}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \tab \tab +\hich\af1\dbch\af31505\loch\f1 field name, string of alphanumeric characters. +\par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 offset}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \tab \tab \hich\af1\dbch\af31505\loch\f1 starting bit (normally popul\hich\af1\dbch\af31505\loch\f1 +ated automatically). +\par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 width}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \tab \tab \hich\af1\dbch\af31505\loch\f1 width in bits of data, 1 to 32 inclusive. +\par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 valuenames}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \tab \hich\af1\dbch\af31505\loch\f1 pointer to a string array which maps fields values +\par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid1448590 \hich\af1\dbch\af31505\loch\f1 format\tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1448590 \tab \hich\af1\dbch\af31505\loch\f1 value format string \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid7228120 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 -\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 Macros }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 BIT}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 -\hich\af1\dbch\af31505\loch\f1 and }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 BIT}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 F}{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 define }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 single bit and multi-bit fields}{ -\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 , respectively. They are invoked by: +\par \hich\af1\dbch\af31505\loch\f1 Macros }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 BIT}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 and }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 +\b\f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 BITF}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 define single bit and multi-bit fields, respectively. They are invoked by: \par -\par \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 BIT}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 -\hich\af1\dbch\af31505\loch\f1 (name\hich\af1\dbch\af31505\loch\f1 ) -\par \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 BITF\tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \tab \hich\af1\dbch\af31505\loch\f1 (name\hich\af1\dbch\af31505\loch\f1 , width) +\par \tab \hich\af1\dbch\af31505\loch\f1 BIT\tab \tab (name) +\par \tab \hich\af1\dbch\af31505\loch\f1 BITF\tab \tab (name, width) \par -\par \hich\af1\dbch\af31505\loch\f1 Macros }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 BIT}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 NC}{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 and }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 BIT}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 NC}{\rtlch\fcs1 \ab\af1 -\ltrch\fcs0 \b\f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 F}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 \hich\af1\dbch\af31505\loch\f1 define \hich\af1\dbch\af31505\loch\f1 single bit and multi-bit }{\rtlch\fcs1 -\af1 \ltrch\fcs0 \f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 don\loch\af1\dbch\af31505\hich\f1 \rquote \hich\af1\dbch\af31505\loch\f1 t care }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 fields -\hich\af1\dbch\af31505\loch\f1 , respectively. They are invoked by: -\par -\par \tab \hich\af1\dbch\af31505\loch\f1 BIT}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 NC}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \tab \tab -\par \tab \hich\af1\dbch\af31505\loch\f1 BITF}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 NCF}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \tab \hich\af1\dbch\af31505\loch\f1 (\hich\af1\dbch\af31505\loch\f1 width) -\par -\par \hich\af1\dbch\af31505\loch\f1 Macro }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 BITFFMT}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 defines a }{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 bit fields with a\hich\af1\dbch\af31505\loch\f1 n output\hich\af1\dbch\af31505\loch\f1 format specifier}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 . It is invoked by: +\par \hich\af1\dbch\af31505\loch\f1 Macros }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 BITNC}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 and }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 +\b\f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 BITNCF}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 define single bit and multi-bit don\hich\f1 \rquote \loch\f1 t care fields, respectively. They are invoked by: +\par +\par \tab \hich\af1\dbch\af31505\loch\f1 BITNC\tab \tab +\par \tab \hich\af1\dbch\af31505\loch\f1 BITFNCF\tab (width) +\par +\par \hich\af1\dbch\af31505\loch\f1 Macro }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 BITFFMT}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 + defines a bit fields with an output format specifier. It is invok\hich\af1\dbch\af31505\loch\f1 ed by: \par \par \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4873001 \hich\af1\dbch\af31505\loch\f1 BITFFMT}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \tab \hich\af1\dbch\af31505\loch\f1 (name, }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4873001 \hich\af1\dbch\af31505\loch\f1 width}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 , }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4873001 \hich\af1\dbch\af31505\loch\f1 fmt}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7228120 \hich\af1\dbch\af31505\loch\f1 ) \par \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid4873001 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4873001 \hich\af1\dbch\af31505\loch\f1 Macro }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4873001 -\hich\af1\dbch\af31505\loch\f1 BITF}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4873001 \hich\af1\dbch\af31505\loch\f1 NAM}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4873001 \hich\af1\dbch\af31505\loch\f1 defines a \hich\af1\dbch\af31505\loch\f1 -bit fields with a}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4873001 \hich\af1\dbch\af31505\loch\f1 value to name string map}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4873001 \hich\af1\dbch\af31505\loch\f1 . It is invoked by: +\hich\af1\dbch\af31505\loch\f1 BITFNAM}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4873001 \hich\af1\dbch\af31505\loch\f1 defines a bit fields with a value to name string map. It is invoked by: \par -\par \tab \hich\af1\dbch\af31505\loch\f1 BITFFMT\tab \hich\af1\dbch\af31505\loch\f1 (name, \hich\af1\dbch\af31505\loch\f1 width\hich\af1\dbch\af31505\loch\f1 , }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4873001 \hich\af1\dbch\af31505\loch\f1 maparray}{ -\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4873001 \hich\af1\dbch\af31505\loch\f1 ) +\par \tab \hich\af1\dbch\af31505\loch\f1 BITFFMT\tab (name, width, maparray) \par -\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid4873001 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3941693\charrsid4873001 -\par {\*\bkmkstart _Toc357054115}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid3941693 \hich\af1\dbch\af31505\loch\f1 4.5\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar +\par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3941693\charrsid4873001 +\par {\*\bkmkstart _Toc385248219}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid3941693 \hich\af1\dbch\af31505\loch\f1 4.5\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx390\wrapdefault\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin390\itap0\pararsid3941693 \rtlch\fcs1 \ab\ai\af1\afs24\alang1025 \ltrch\fcs0 \b\i\fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 { -\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid3941693 \hich\af1\dbch\af31505\loch\f1 sim_mtab Structure{\*\bkmkend _Toc357054115} +\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid3941693 \hich\af1\dbch\af31505\loch\f1 sim_mtab Structure{\*\bkmkend _Toc385248219} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid4873001 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid3941693\charrsid4873001 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 -\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Device-specific SHOW and SET commands are p\hich\af1\dbch\af31505\loch\f1 -rocessed using the modifications array, which is allocated as contiguous array, with a NULL at the end. Each possible modification is defined with a }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_mtab}{ +\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Device-specific SHOW and SET commands are pro\hich\af1\dbch\af31505\loch\f1 +cessed using the modifications array, which is allocated as contiguous array, with a NULL at the end. Each possible modification is defined with a }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_mtab}{ \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 structure (synonym }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 MTAB}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ), which has the following fields: \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 struct sim_mtab \{ -\par \tab \hich\af1\dbch\af31505\loch\f1 uint32\tab \tab mask;\tab \tab \tab \tab /*\hich\af1\dbch\af31505\loch\f1 mask */ +\par \tab \hich\af1\dbch\af31505\loch\f1 uint32\tab \tab mask;\tab \tab \tab \tab /* m\hich\af1\dbch\af31505\loch\f1 ask */ \par \tab \hich\af1\dbch\af31505\loch\f1 uint32\tab \tab match;\tab \tab \tab \tab /* match */ \par \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab *pstring;\tab \tab \tab /* print string */ \par \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab *mstring;\tab \tab \tab /* match string */ @@ -2187,7 +2139,7 @@ rocessed using the modifications array, which is allocated as contiguous array, \par \hich\af1\dbch\af31505\loch\f1 MTAB supports two different structure interpretations: regular and extended. A regular MTAB entry modifies flags in the UNIT flags word; the descriptor entry is not used. The fields are the following: \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 mask}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab -\hich\af1\dbch\af31505\loch\f1 bit mask for\hich\af1\dbch\af31505\loch\f1 testing the unit.}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 flags}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 bit mask for t\hich\af1\dbch\af31505\loch\f1 esting the unit.}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 flags}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 field \par }\pard \ltrpar\ql \fi-1440\li2160\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin2160\itap0 {\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 match}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 value to be stored (SET) or compared (SHOW) @@ -2233,7 +2185,7 @@ match}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\lo \hich\af1\dbch\af31505\loch\f1 entry flags \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \tab \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 MTAB_XTD\tab extended entry \par \tab \tab \hich\af1\dbch\af31505\loch\f1 MTAB_VDV\tab valid for devices -\par \tab \tab \hich\af1\dbch\af31505\loch\f1 MTAB_VUN\tab \hich\af1\dbch\af31505\loch\f1 valid for units +\par \tab \tab \hich\af1\dbch\af31505\loch\f1 MTAB_VUN\tab valid fo\hich\af1\dbch\af31505\loch\f1 r units \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid11095770 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid11095770 \tab \tab \hich\af1\dbch\af31505\loch\f1 MTAB_VALR\tab requires a value \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 MTAB_VAL}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid11095770 \hich\af1\dbch\af31505\loch\f1 O}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid11095770 \hich\af1\dbch\af31505\loch\f1 optionally requires }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 @@ -2243,12 +2195,12 @@ match}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\lo \par \tab \tab \hich\af1\dbch\af31505\loch\f1 MTAB_SHP\tab SHOW parameter takes optional value \par }\pard \ltrpar\ql \fi-1440\li2160\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin2160\itap0 {\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 match}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 value to be stored (SET) -\par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 pstri\hich\af1\dbch\af31505\loch\f1 ng}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 -pointer to character string printed on a match (SHOW), or NULL +\par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 pstring}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 point\hich\af1\dbch\af31505\loch\f1 +er to character string printed on a match (SHOW), or NULL \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 mstring}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 pointer to character string to be matched (SET), or NULL \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 valid}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 address of validation routine (SET), or NULL \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 disp\tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 address of display routine (SHOW), or NULL -\par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 desc\tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 pointer to a REG stru\hich\af1\dbch\af31505\loch\f1 cture (MTAB_VAL set) or +\par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 desc\tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 pointer to a REG structure (M\hich\af1\dbch\af31505\loch\f1 TAB_VAL set) or \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 a validation-specific structure (MTAB_VAL clear) \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 @@ -2310,9 +2262,9 @@ th both a display routine and a }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4 \par }\pard \ltrpar\ql \fi720\li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \}\hich\af2\dbch\af31505\loch\f2 ; \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 A SHOW CPU command will display only the modifier named NORMAL; but SHOW CPU SPECIAL will invoke the special display routine. -\par {\*\bkmkstart _Toc357054116}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.5.1\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248220}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.5.1\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Validation Routine{\*\bkmkend _Toc357054116} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Validation Routine{\*\bkmkend _Toc385248220} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 The validation routine can be used to validate input during SET processing. I\hich\af1\dbch\af31505\loch\f1 @@ -2326,9 +2278,9 @@ t can make other state changes required by the modification or initiate addition points to the value portion of the parameter string (any characters after the = sign); if }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 is NULL, no value was given. }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 desc}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 points to the }{ \rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 REG}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 or int32 used to store the parameter. -\par {\*\bkmkstart _Toc357054117}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.5.2\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248221}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.5.2\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Display Routine{\*\bkmkend _Toc357054117} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Display Routine{\*\bkmkend _Toc385248221} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 The displ\hich\af1\dbch\af31505\loch\f1 ay routine is called during SHOW processing to display device- or unit-specific state. Its calling sequence is: @@ -2345,17 +2297,17 @@ t can make other state changes required by the modification or initiate addition \par \hich\af1\dbch\af31505\loch\f1 When the display routine is called for a regular MTAB entry, SHOW has output the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 pstring}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 argument but has not appended a newline. When it is called for an extended MTAB entry, SHOW hasn\hich\f1 \rquote \loch\f1 t output a\hich\af1\dbch\af31505\loch\f1 nything. SHOW will append a newline after the display routine returns, except for entries with the MTAB_NMO flag set. -\par {\*\bkmkstart _Toc357054118}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid14383756 \hich\af1\dbch\af31505\loch\f1 4.5.3\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248222}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid14383756 \hich\af1\dbch\af31505\loch\f1 4.5.3\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0\pararsid14383756 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 -\af1 \ltrch\fcs0 \insrsid14383756 \hich\af1\dbch\af31505\loch\f1 Help Flags{\*\bkmkend _Toc357054118} +\af1 \ltrch\fcs0 \insrsid14383756 \hich\af1\dbch\af31505\loch\f1 Help Flags{\*\bkmkend _Toc385248222} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid9796111 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14383756 \par \hich\af0\dbch\af31505\loch\f0 The flags MTAB_VALR and MTAB_VALO are used to construct command syntax examples when displayi\hich\af0\dbch\af31505\loch\f0 ng help for SET and SHOW commands. These flags do not otherwise influence the actions taken during processing of SET or SHOW commands. -\par {\*\bkmkstart _Toc357054119}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid14383756 \hich\af1\dbch\af31505\loch\f1 4.5.4\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248223}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid14383756 \hich\af1\dbch\af31505\loch\f1 4.5.4\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0\pararsid14383756 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid14383756 \hich\af1\dbch\af31505\loch\f1 Example arguments in the }{\rtlch\fcs1 \af1 \ltrch\fcs0 \b\insrsid14383756\charrsid9796111 \hich\af1\dbch\af31505\loch\f1 mstring}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid14383756 -{\*\bkmkend _Toc357054119} +{\*\bkmkend _Toc385248223} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid9796111 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14383756 \par \hich\af0\dbch\af31505\loch\f0 The value of the }{\rtlch\fcs1 \af0 \ltrch\fcs0 \b\insrsid14383756\charrsid9796111 \hich\af0\dbch\af31505\loch\f0 mstring}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14383756 \hich\af0\dbch\af31505\loch\f0 @@ -2377,45 +2329,45 @@ h activity since the input being compared has already been parsed with a delimit \hich\af0\dbch\af31505\loch\f0 mstring}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid873649 \hich\af0\dbch\af31505\loch\f0 value are ignored, but are available when constructing HELP dev SET output.}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid873649\charrsid9796111 \par }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid14383756\charrsid9796111 -\par {\*\bkmkstart _Toc357054120}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid873649 \hich\af1\dbch\af31505\loch\f1 4.5.5\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248224}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid873649 \hich\af1\dbch\af31505\loch\f1 4.5.5\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0\pararsid873649 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid873649 \hich\af1\dbch\af31505\loch\f1 Help field{\*\bkmkend _Toc357054120} +\ltrch\fcs0 \insrsid873649 \hich\af1\dbch\af31505\loch\f1 Help field{\*\bkmkend _Toc385248224} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid9796111 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid873649 -\par \hich\af0\dbch\af31505\loch\f0 The MTAB entry\hich\f0 \rquote \loch\f0 -s help field is used when constructing HELP dev SHOW or HELP dev SHOW output. It serves to describe the purpose or effect of the particular SET dev or SHOW dev command. The help field is ignored when constructing HELP dev SET output for M -\hich\af0\dbch\af31505\loch\f0 T\hich\af0\dbch\af31505\loch\f0 AB entries which have an equal sign in the mstring field. }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid873649\charrsid9796111 +\par \hich\af0\dbch\af31505\loch\f0 The MTAB\hich\af0\dbch\af31505\loch\f0 entry\hich\f0 \rquote \loch\f0 +s help field is used when constructing HELP dev SHOW or HELP dev SHOW output. It serves to describe the purpose or effect of the particular SET dev or SHOW dev command. The help field is ignored when constructing HELP dev SET output for MTAB entr +\hich\af0\dbch\af31505\loch\f0 i\hich\af0\dbch\af31505\loch\f0 es which have an equal sign in the mstring field. }{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid873649\charrsid9796111 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14383756 -\par {\*\bkmkstart _Toc357054121}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.6\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248225}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 4.6\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx390\wrapdefault\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin390\itap0 \rtlch\fcs1 \ab\ai\af1\afs24\alang1025 \ltrch\fcs0 \b\i\fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Other Data Structures{\*\bkmkend _Toc357054121} +\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Other Data Structures{\*\bkmkend _Toc385248225} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 char }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_name[]}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 is a character array containing the VM name. \par \par \hich\af1\dbch\af31505\loch\f1 int32 }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_emax}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - contains the maximum number of words needed to hold the largest in\hich\af1\dbch\af31505\loch\f1 struction or data item in the VM. Examine and deposit will process up to }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 + contains the maximum number of words needed to hold the largest instructio\hich\af1\dbch\af31505\loch\f1 n or data item in the VM. Examine and deposit will process up to }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_emax}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 words. \par \par \hich\af1\dbch\af31505\loch\f1 DEVICE *}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_devices[]}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - is an array of pointers to all the devices in the VM. It is terminated by a NULL. By convention, the CPU is always the first device in the ar\hich\af1\dbch\af31505\loch\f1 ray. + is an array of pointers to all the devices in the VM. It is terminated by a NULL. By convention, the CPU is always the first device in the array. \par \par \hich\af1\dbch\af31505\loch\f1 REG *}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_PC}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 points to the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 reg}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 structure for the program counter. By convention, the PC is always the first register in the CPU\hich\f1 \rquote \loch\f1 s register array. \par \par \hich\af1\dbch\af31505\loch\f1 char *}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_stop_messages[]}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - is an array of pointers to character strings, corresponding to error status r\hich\af1\dbch\af31505\loch\f1 eturns greater than zero. If }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_instr}{\rtlch\fcs1 \af1 + is an array of pointers to character strings, corresponding to error status returns\hich\af1\dbch\af31505\loch\f1 greater than zero. If }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_instr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 returns status code n > 0}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3941693 \hich\af1\dbch\af31505\loch\f1 but less than SCPE_BASE}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 , then }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_stop_message[n]}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 is printed by SCP. \par -\par {\*\bkmkstart _Toc357054122}{\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af0\afs28 \ltrch\fcs0 \b\f1\fs28\kerning28\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 5.\tab}}\pard\plain \ltrpar\s1\ql \fi-360\li360\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248226}{\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af0\afs28 \ltrch\fcs0 \b\f1\fs28\kerning28\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 5.\tab}}\pard\plain \ltrpar\s1\ql \fi-360\li360\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx360\wrapdefault\faauto\ls1\outlinelevel0\adjustright\rin0\lin360\itap0 \rtlch\fcs1 \ab\af1\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang1033\langfe1033\kerning28\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 VM Provided Routines{\*\bkmkend _Toc357054122} -\par {\*\bkmkstart _Toc357054123}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 5.1\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar +\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 VM Provided Routines{\*\bkmkend _Toc385248226} +\par {\*\bkmkstart _Toc385248227}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 5.1\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx390\wrapdefault\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin390\itap0 \rtlch\fcs1 \ab\ai\af1\afs24\alang1025 \ltrch\fcs0 \b\i\fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Instruction Execution{\*\bkmkend _Toc357054123} +\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Instruction Execution{\*\bkmkend _Toc385248227} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 Instruction execution is performed by routine }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_instr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 @@ -2423,9 +2375,9 @@ s help field is used when constructing HELP dev SHOW or HELP dev SHOW output. I \par \par }\pard \ltrpar\ql \fi720\li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_instr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (void) \hich\f1 \endash \loch\f1 execute from current PC until error or halt. -\par {\*\bkmkstart _Toc357054124}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 5.2\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248228}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 5.2\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx390\wrapdefault\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin390\itap0 \rtlch\fcs1 \ab\ai\af1\afs24\alang1025 \ltrch\fcs0 \b\i\fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Binary Load and Dump{\*\bkmkend _Toc357054124} +\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Binary Load and Dump{\*\bkmkend _Toc385248228} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 If the VM responds to the LOAD (or DUMP) command,\hich\af1\dbch\af31505\loch\f1 the load routine (dump routine) is implemented by routine }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 @@ -2441,9 +2393,9 @@ or either command, }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\ \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 If LOAD or DUMP is not implemented, }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_load}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 should simply return SCPE_ARG. The LOAD and DUMP commands open and close the specified file for }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_load}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . -\par {\*\bkmkstart _Toc357054125}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 5.3\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248229}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 5.3\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx390\wrapdefault\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin390\itap0 \rtlch\fcs1 \ab\ai\af1\afs24\alang1025 \ltrch\fcs0 \b\i\fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Symbolic Examination and Deposit{\*\bkmkend _Toc357054125} +\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Symbolic Examination and Deposit{\*\bkmkend _Toc385248229} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 If the VM provides symbolic examination and deposit of data, it must provide two routines, }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 fprint_sym}{\rtlch\fcs1 \af1 \ltrch\fcs0 @@ -2458,17 +2410,17 @@ val}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch \hich\af1\dbch\af31505\loch\f1 in unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . \par \par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 parse_sym}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - (char *cptr, t_addr addr, UNIT *uptr, t_value *val, int32 switch) \hich\f1 \endash \loch\f1 Based on the }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 switch}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 variable, parse character string }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - for a symbolic value }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 val}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 at the specified }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 -\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 addr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 in unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 -\ltrch\fcs0 \f1\insrsid4550150 . + (char *cptr, t_addr addr, UNIT *uptr, t_value *val, int32 s\hich\af1\dbch\af31505\loch\f1 witch) \hich\f1 \endash \loch\f1 Based on the }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 switch}{\rtlch\fcs1 \af1 +\ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 variable, parse character string }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 for a symbolic value }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 val}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 at the specified }{\rtlch\fcs1 +\ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 addr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 in unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 If symbolic processing is not implemented, or the output value or i\hich\af1\dbch\af31505\loch\f1 -nput string cannot be parsed, these routines should return SCPE_ARG. If the processing was successful and consumed more than a single word, then these routines should return extra number of addressing units consumed as a }{\rtlch\fcs1 \ab\af1 -\ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 negative}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 number. If the processin\hich\af1\dbch\af31505\loch\f1 -g was successful and consumed a single addressing unit, then these routines should return SCPE_OK. For example, PDP-11 }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 parse_sym}{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 would respond as follows to various inputs: +\par \hich\af1\dbch\af31505\loch\f1 If symbolic processing is not implemented, or the output value or input string cannot be parsed, these routines should return S\hich\af1\dbch\af31505\loch\f1 +CPE_ARG. If the processing was successful and consumed more than a single word, then these routines should return extra number of addressing units consumed as a }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +negative}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 number. If the processing was successful and consumed a single addressing unit, then\hich\af1\dbch\af31505\loch\f1 + these routines should return SCPE_OK. For example, PDP-11 }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 parse_sym}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 + would respond as follows to various inputs: \par \par \tab \hich\af1\dbch\af31505\loch\f1 input\tab \tab \tab \tab return value \par @@ -2494,15 +2446,15 @@ g was successful and consumed a single addressing unit, then these routines shou \widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \trowd \irow1\irowband1\ltrrow\ts11\trgaph108\trleft1350\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3\tblind1458\tblindtype3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr \brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2970\clshdrawnil \cellx4320\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2970\clshdrawnil \cellx7290\row \ltrrow -}\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 val[2]\cell \hich\af1\dbch\af31505\loch\f1 addr +\hich\af1\dbch\af31505\loch\f1 - (2 * aincr)\cell }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \trowd \irow2\irowband2\ltrrow\ts11\trgaph108\trleft1350\trbrdrt -\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3\tblind1458\tblindtype3 \clvertalt\clbrdrt\brdrs\brdrw10 -\clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2970\clshdrawnil \cellx4320\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 -\cltxlrtb\clftsWidth3\clwWidth2970\clshdrawnil \cellx7290\row \ltrrow}\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 val[3]\cell -\hich\af1\dbch\af31505\loch\f1 addr + (3 * aincr)\cell }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \trowd \irow3\irowband3\ltrrow -\ts11\trgaph108\trleft1350\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3\tblind1458\tblindtype3 -\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2970\clshdrawnil \cellx4320\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr -\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2970\clshdrawnil \cellx7290\row \ltrrow}\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 :\cell +}\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 val[2]\cell \hich\af1\dbch\af31505\loch\f1 addr + (2 * aincr)\cell }\pard \ltrpar +\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \trowd \irow2\irowband2\ltrrow\ts11\trgaph108\trleft1350\trbrdrt\brdrs\brdrw10 \trbrdrl +\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3\tblind1458\tblindtype3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 +\clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2970\clshdrawnil \cellx4320\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2970\clshdrawnil +\cellx7290\row \ltrrow}\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 val[3]\cell \hich\af1\dbch\af31505\loch\f1 addr + (3 * aincr)\cell +}\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \trowd \irow3\irowband3\ltrrow\ts11\trgaph108\trleft1350\trbrdrt\brdrs\brdrw10 +\trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3\tblind1458\tblindtype3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl +\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2970\clshdrawnil \cellx4320\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 +\cltxlrtb\clftsWidth3\clwWidth2970\clshdrawnil \cellx7290\row \ltrrow}\pard \ltrpar\ql \li0\ri0\widctlpar\intbl\wrapdefault\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 :\cell \hich\af1\dbch\af31505\loch\f1 :\cell }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\intbl\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \trowd \irow4\irowband4\lastrow \ltrrow \ts11\trgaph108\trleft1350\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \trftsWidth1\trautofit1\trpaddl108\trpaddr108\trpaddfl3\trpaddfr3\tblind1458\tblindtype3 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb\clftsWidth3\clwWidth2970\clshdrawnil \cellx4320\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr @@ -2511,12 +2463,12 @@ g was successful and consumed a single addressing unit, then these routines shou is typically filled in and stored by calls on the device\hich\f1 \rquote \loch\f1 s examine and deposit routines, respectively, the examine and deposit routines and }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 fprint_sym}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 and}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 fparse_sym}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 must agree on the expected width of items in }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 val}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 -, and on the alignment of }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 addr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . Further, if }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 -\b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 fparse_sym}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 wants to modify a storage unit narrower than }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 awidth}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 , it must insert the new data into the appropriate entry in }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 val}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 without destroying surrounding field\hich\af1\dbch\af31505\loch\f1 s. +, and on the alignment of }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 addr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . Further,\hich\af1\dbch\af31505\loch\f1 if }{ +\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 fparse_sym}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 wants to modify a storage unit narrower than }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 +\b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 awidth}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 , it must insert the new data into the appropriate entry in }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 val}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 without destroying surrounding fields. \par -\par \hich\af1\dbch\af31505\loch\f1 The interpretation of switch values is arbitrary, but the following are used by existing VM\hich\f1 \rquote \loch\f1 s: +\par \hich\af1\dbch\af31505\loch\f1 The interpretation of switch values is arbitrary, but the following are used by existi\hich\af1\dbch\af31505\loch\f1 ng VM\hich\f1 \rquote \loch\f1 s: \par \par \tab \hich\af1\dbch\af31505\loch\f1 switch\tab \tab \tab \tab interpretation \par @@ -2524,94 +2476,94 @@ fprint_sym}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af315 \par \tab \hich\af1\dbch\af31505\loch\f1 -c\tab \tab \tab \tab character string \par \tab \hich\af1\dbch\af31505\loch\f1 -m\tab \tab \tab \tab instruction mnemonic \par -\par \hich\af1\dbch\af31505\loch\f1 In addition, on input, a leading \hich\f1 \lquote \loch\f1 (apostrophe) is i\hich\af1\dbch\af31505\loch\f1 \hich\f1 nterpreted to mean a single character, and a leading \'93\loch\f1 - (double quote) is interpreted to mean a character string. -\par {\*\bkmkstart _Toc357054126}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 5.4\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar +\par \hich\af1\dbch\af31505\loch\f1 In addition, on input, a leading \hich\f1 \lquote \loch\f1 \hich\f1 (apostrophe) is interpreted to mean a single character, and a leading \'93\loch\f1 (double quote) is interpreted to me\hich\af1\dbch\af31505\loch\f1 +an a character string. +\par {\*\bkmkstart _Toc385248230}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 5.4\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx390\wrapdefault\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin390\itap0 \rtlch\fcs1 \ab\ai\af1\afs24\alang1025 \ltrch\fcs0 \b\i\fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Optional Interfaces{\*\bkmkend _Toc357054126} +\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Optional Interfaces{\*\bkmkend _Toc385248230} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 For greater flexibility, SCP provides some optional interfaces that can be used to extend it\hich\af1\dbch\af31505\loch\f1 -s command input, command processing, and command post-processing capabilities. These interfaces are strictly optional and are off by default. Using them requires intimate knowledge of how SCP functions internally and is not recommended to the novice VM -\hich\af1\dbch\af31505\loch\f1 w\hich\af1\dbch\af31505\loch\f1 riter. -\par {\*\bkmkstart _Toc357054127}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 5.4.1\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par \hich\af1\dbch\af31505\loch\f1 For greater flexibility, SCP provides some optional interfaces that can be used to extend its command input, command processing, and command post-processing capabilities. These inte\hich\af1\dbch\af31505\loch\f1 +rfaces are strictly optional and are off by default. Using them requires intimate knowledge of how SCP functions internally and is not recommended to the novice VM writer. +\par {\*\bkmkstart _Toc385248231}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 5.4.1\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Once Only Initialization Routine{\*\bkmkend _Toc357054127} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Once Only Initialization Routine{\*\bkmkend _Toc385248231} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 SCP defines a pointer (*}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_vm_init}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 \hich\f1 -)(void). This is a \'93\loch\f1 \hich\f1 weak global\'94\loch\f1 ; if no other module defines this value, it will default to NULL. A VM requiring special initialization should fil\hich\af1\dbch\af31505\loch\f1 -l in this pointer with the address of its special initialization routine: +\par \hich\af1\dbch\af31505\loch\f1 SCP defines a poi\hich\af1\dbch\af31505\loch\f1 nter (*}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_vm_init}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 \hich\f1 )(void). This is a \'93\loch\f1 \hich\f1 weak global\'94\loch\f1 +; if no other module defines this value, it will default to NULL. A VM requiring special initialization should fill in this pointer with the address of its special initialization routine: \par -\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \tab \hich\af2\dbch\af31505\loch\f2 void sim_special_init (void); +\par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \tab \hich\af2\dbch\af31505\loch\f2 void sim_speci\hich\af2\dbch\af31505\loch\f2 al_init (void); \par \tab \hich\af2\dbch\af31505\loch\f2 void (*sim_vm_init)(void) = &sim_special_init; \par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 The special initialization routine can perform any actions required by the VM. If the other optional\hich\af1\dbch\af31505\loch\f1 - interfaces are to be used, the initialization routine can fill in the appropriate pointers; however, this can just as easily be done in the CPU reset routine. -\par {\*\bkmkstart _Toc357054128}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 5.4.2\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\par \hich\af1\dbch\af31505\loch\f1 The special initialization routine can perform any actions required by the VM. If the other optional interfaces are to be used, the initialization routine can fill in the appropriate pointer\hich\af1\dbch\af31505\loch\f1 +s; however, this can just as easily be done in the CPU reset routine. +\par {\*\bkmkstart _Toc385248232}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 5.4.2\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Address Input and Display{\*\bkmkend _Toc357054128} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Address Input and Display{\*\bkmkend _Toc385248232} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 SCP defines a pointer t_addr *(}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_vm\hich\af1\dbch\af31505\loch\f1 _parse_addr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 -)(DEVICE *, char *, char **). This is initialized to NULL. If it is filled in by the VM, SCP will use the specified routine to parse addresses in place of its standard numerical input routine. The calling sequence for the }{\rtlch\fcs1 \ab\af1 -\ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_vm_parse_addr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ro\hich\af1\dbch\af31505\loch\f1 utine is: +\par \hich\af1\dbch\af31505\loch\f1 SCP defines a pointer t_addr *(}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_vm_parse_addr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +)(DEVICE *, char *, char **). This is initialized to NULL. If it is filled in\hich\af1\dbch\af31505\loch\f1 + by the VM, SCP will use the specified routine to parse addresses in place of its standard numerical input routine. The calling sequence for the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_vm_parse_addr}{ +\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 routine is: \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 t_addr }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 sim_vm_parse_addr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (DEVICE *dptr, char *cptr, char **optr) \hich\f1 \endash \loch\f1 parse the string pointed to by }{\rtlch\fcs1 \ai\af1 -\ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 as an address for the device pointed to by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 dptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . o}{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 points to the first character not successfully parsed. If }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 == }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 optr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 , parsing failed. +\hich\af1\dbch\af31505\loch\f1 sim_vm_parse_addr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (DEVICE *dptr, char *cptr, char **optr) \hich\f1 \endash \loch\f1 parse the st\hich\af1\dbch\af31505\loch\f1 +ring pointed to by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 as an address for the device pointed to by }{\rtlch\fcs1 +\ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 dptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . o}{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ptr}{ +\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 points to the first character not successfully parsed. If }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 +\ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 == }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 optr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 , parsing failed. + \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 SCP defines a pointer void *(}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_vm_fprint_addr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 -)(FILE *, DEVICE *, t_addr). This is initialized to NULL. If it is filled in by the VM, SCP will use th\hich\af1\dbch\af31505\loch\f1 -e specified routine to print addresses in place of its standard numerical output routine. The calling sequence for the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_vm_fprint_addr}{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 routine is: +)(FILE *, DEVICE *, t_addr). This is initialized to NULL. If it is filled in by the VM, SCP will use the specified routine to print addresses in place of its standard numerical output routine. The calling sequence for the }{\rtlch\fcs1 \ab\af1 +\ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_vm_fprint_addr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 routine is: \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 t_addr }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_vm_fprint_addr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (FILE *stream, DEVICE *dptr, t_addr addr) \hich\f1 \endash \loch\f1 output address }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 addr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 to }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 stream}{\rtlch\fcs1 \af1 -\ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 in t\hich\af1\dbch\af31505\loch\f1 he format required by the device pointed to by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 dptr}{\rtlch\fcs1 \af1 -\ltrch\fcs0 \f1\insrsid4550150 . -\par {\*\bkmkstart _Toc357054129}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 5.4.3\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 in the format required by the device pointed to by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 dptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . + +\par {\*\bkmkstart _Toc385248233}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 5.4.3\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Command Input and Post-Processing{\*\bkmkend _Toc357054129} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Command Input and Post-Processing{\*\bkmkend _Toc385248233} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 SCP defines a pointer char* (}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_vm_read}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 -)(char *, int32 *, FILE *). This is initialized to NULL. If it is filled in by the VM, SCP wil\hich\af1\dbch\af31505\loch\f1 l use the specified routine to obtain command input in place of its standard routine, read_line. The calling sequence for the } +\par \hich\af1\dbch\af31505\loch\f1 SCP defines a pointer char* (}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 si\hich\af1\dbch\af31505\loch\f1 m_vm_read}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 )(char *, int32 *, FILE *). This is initialized to NULL. If it is filled in by the VM, SCP will use the specified routine to obtain command input in place of its standard routine, read_line. The calling sequence for the } {\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_vm_read}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 routine is: \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 char }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_vm_input}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (char *buf, int32 *max, FILE *stream) \hich\f1 \endash \loch\f1 read the next command line from }{\rtlch\fcs1 \ai\af1 -\ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 stream}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 and sto\hich\af1\dbch\af31505\loch\f1 re it in }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 buf}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 , up to a maximum of }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 max}{\rtlch\fcs1 \af1 -\ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 characters +\ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 stream}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 and store it in }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +buf}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 , up to a maximum of }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 max}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 characters \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 The routine is expected to strip off leading whitespace characters and to return NULL on end of file. \par \par \hich\af1\dbch\af31505\loch\f1 SCP defines a pointer void *(}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_vm_post}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 -)(t_bool from_scp). This is initialized to NULL. If filled in \hich\af1\dbch\af31505\loch\f1 -by the VM, SCP will call the specified routine at the end of every command. This allows the VM to update any local state, such as a GUI console display. The calling sequence for the vm_post routine is: +)(t_bool from_scp). This is initialized to NULL. If filled in by the VM, SCP will call the specified routine at the end of every command. This allows the VM to update any local state, such as a GUI console displa\hich\af1\dbch\af31505\loch\f1 +y. The calling sequence for the vm_post routine is: \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 void }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 sim_vm_postupdate}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (t_bool from_scp) \hich\f1 \endash \loch\f1 if calle\hich\af1\dbch\af31505\loch\f1 d from SCP, the argument }{\rtlch\fcs1 -\ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 from_scp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 is TRUE; otherwise, it is FALSE. -\par {\*\bkmkstart _Toc357054130}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 5.4.4\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\hich\af1\dbch\af31505\loch\f1 sim_vm_postupdate}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (t_bool from_scp) \hich\f1 \endash \loch\f1 if called from SCP, the argument }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 +\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 from_scp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 is TRUE; otherwise, it is FALSE. +\par {\*\bkmkstart _Toc385248234}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 5.4.4\tab}}\pard\plain \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 VM-Specific Commands{\*\bkmkend _Toc357054130} +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 VM-Specific Commands{\*\bkmkend _Toc385248234} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 SCP defines a pointer CTAB *}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_vm_cmd}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 -. This is initialized to NULL. If filled in by the VM, SCP interprets it as a pointer to SCP co\hich\af1\dbch\af31505\loch\f1 mmand table. This command table is checked before user input is looked up in the standard command table. +\par \hich\af1\dbch\af31505\loch\f1 SCP defines a pointer CTAB *}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 si\hich\af1\dbch\af31505\loch\f1 m_vm_cmd}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 . This is initialized to NULL. If filled in by the VM, SCP interprets it as a pointer to SCP command table. This command table is checked before user input is looked up in the standard command table. \par -\par \hich\af1\dbch\af31505\loch\f1 A command table is allocated as a contiguous array. Each entry is defined with a }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_ctab}{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 structure (typedef }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 CTAB}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ): +\par \hich\af1\dbch\af31505\loch\f1 A command table is allocated as a contiguous\hich\af1\dbch\af31505\loch\f1 array. Each entry is defined with a }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_ctab}{\rtlch\fcs1 +\af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 structure (typedef }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 CTAB}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 ): \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 struct sim_ctab \{ -\par \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab *name;\tab \tab \tab \tab \hich\af1\dbch\af31505\loch\f1 /* name */ +\par \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab *name;\tab \tab \tab \tab /* name */ \par \tab \hich\af1\dbch\af31505\loch\f1 t_stat\tab \tab (*action)();\tab \tab \tab /* action routine */ \par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab arg;\tab \tab \tab \tab /* argument */ \par \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab *help;\tab \tab \tab \tab /* help string */ @@ -2624,44 +2576,75 @@ by the VM, SCP will call the specified routine at the end of every command. Thi \hich\af1\dbch\af31505\loch\f1 buf}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 based on optional argument }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 arg}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 The string passed to the action routine starts at the first non-blank character past the command name. -\par {\*\bkmkstart _Toc357054131}{\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af0\afs28 \ltrch\fcs0 \b\f1\fs28\kerning28\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 6.\tab}}\pard\plain \ltrpar\s1\ql \fi-360\li360\ri0\sb240\sa60\keepn\widctlpar +\par \hich\af1\dbch\af31505\loch\f1 The string passed to the action \hich\af1\dbch\af31505\loch\f1 routine starts at the first non-blank character past the command name.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700290\insrsid4550150 + +\par {\*\bkmkstart _Toc385248235}{\listtext\pard\plain\ltrpar \s3 \rtlch\fcs1 \af0 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700290\insrsid14511781 \hich\af1\dbch\af31505\loch\f1 5.4.5\tab}}\pard\plain \ltrpar +\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar\jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\prauth1\prdate656700290\adjustright\rin0\lin720\itap0\pararsid14511781 \rtlch\fcs1 \af1\afs24\alang1025 \ltrch\fcs0 +\fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\*\oldpprops \pard \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0\pararsid14511781 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \cf0\revised\revauth1\revdttm656700290\insrsid14511781 \hich\af1\dbch\af31505\loch\f1 VM-}{\rtlch\fcs1 \af1 +\ltrch\fcs0 \cf0\revised\revauth1\revdttm656700290\insrsid14511781 \hich\af1\dbch\af31505\loch\f1 Support for stepping over subroutine calls}{\rtlch\fcs1 \af1 \ltrch\fcs0 \cf0\revised\revauth1\revdttm656700291\insrsid14511781 {\*\bkmkend _Toc385248235} + +\par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\prauth1\prdate656700291\adjustright\rin0\lin0\itap0\pararsid14511781 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 +\fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\*\oldpprops \pard \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0\pararsid14511781 }{\rtlch\fcs1 \af0 \ltrch\fcs0 \cf0\revised\revauth1\revdttm656700291\insrsid14511781 +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\prauth1\prdate656700291\adjustright\rin0\lin0\itap0\pararsid14511781 {\*\oldpprops \pard \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0\pararsid14511781 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700291\crauth1\crdate656700291\insrsid14511781\charrsid14511781 {\*\oldcprops +\fs24\crauth1\crdate656700291\insrsid14511781\charrsid14511781 }\hich\af1\dbch\af31505\loch\f1 SCP}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700291\insrsid14511781 \hich\af1\dbch\af31505\loch\f1 \hich\af1\dbch\af31505\loch\f1 can +\hich\af1\dbch\af31505\loch\f1 provide\hich\af1\dbch\af31505\loch\f1 \hich\af1\dbch\af31505\loch\f1 the ability to step over subroutine calls with the NEXT command. In order for the NEXT command to work, \hich\af1\dbch\af31505\loch\f1 +the simulator must provide a VM specific routine which }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700292\insrsid14511781 \hich\af1\dbch\af31505\loch\f1 +will identify whether the next instruction to be executed is a subroutine call and, if so to identify where to dynamically insert breakpoint(s) to stop }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700293\insrsid14511781 +\hich\af1\dbch\af31505\loch\f1 instruction }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700292\insrsid14511781 \hich\af1\dbch\af31505\loch\f1 execution}{\rtlch\fcs1 \af1 \ltrch\fcs0 +\f1\cf0\revised\revauth1\revdttm656700294\insrsid14511781 \hich\af1\dbch\af31505\loch\f1 when the subroutine returns.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700298\insrsid14511781 \hich\af1\dbch\af31505\loch\f1 +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\prauth1\prdate656700291\adjustright\rin0\lin0\itap0\pararsid14511781 {\*\oldpprops \pard \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0\pararsid14511781 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700298\insrsid14511781 +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\prauth1\prdate656700291\adjustright\rin0\lin0\itap0\pararsid14511781 {\*\oldpprops \pard \ltrpar\s3\ql \fi-720\li720\ri0\sb240\sa60\keepn\widctlpar +\jclisttab\tx720\wrapdefault\faauto\ls1\ilvl2\outlinelevel2\adjustright\rin0\lin720\itap0\pararsid14511781 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700298\insrsid14511781 \hich\af1\dbch\af31505\loch\f1 SCP defines a pointer }{ +\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700299\insrsid97392 \hich\af1\dbch\af31505\loch\f1 t_bool}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700298\insrsid14511781 \hich\af1\dbch\af31505\loch\f1 *(}{ +\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700299\noproof\insrsid97392\charrsid97392 \hich\af2\dbch\af31505\loch\f2 }{\rtlch\fcs1 \af1 \ltrch\fcs0 +\b\f1\cf0\revised\lang1024\langfe1024\revauth1\revdttm656700299\crauth1\crdate656700299\noproof\insrsid97392\charrsid97392 {\*\oldcprops \b0\f2\fs24\crauth1\crdate656700299\insrsid97392\charrsid97392 }\hich\af1\dbch\af31505\loch\f1 +sim_vm_is_subroutine_call}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700298\insrsid14511781 \hich\af1\dbch\af31505\loch\f1 )(t_}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700300\insrsid97392 +\hich\af1\dbch\af31505\loch\f1 addr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700298\insrsid14511781 \hich\af1\dbch\af31505\loch\f1 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700300\insrsid97392 +\hich\af1\dbch\af31505\loch\f1 **ret_addrs}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700298\insrsid14511781 \hich\af1\dbch\af31505\loch\f1 +). This is initialized to NULL. If filled in by the VM, SCP will call the specified routine }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700300\insrsid97392 \hich\af1\dbch\af31505\loch\f1 +to determine where to dynamically place breakpoints to support the NEXT command}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700298\insrsid14511781 .}{\rtlch\fcs1 \af1 \ltrch\fcs0 +\f1\cf0\revised\revauth1\revdttm656700290\crauth1\crdate656700291\insrsid14511781\charrsid14511781 {\*\oldcprops \fs24\crauth1\crdate656700291\insrsid14511781\charrsid14511781 } +\par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid14511781 +\par {\*\bkmkstart _Toc385248236}{\listtext\pard\plain\ltrpar \s1 \rtlch\fcs1 \ab\af0\afs28 \ltrch\fcs0 \b\f1\fs28\kerning28\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 6.\tab}}\pard\plain \ltrpar\s1\ql \fi-360\li360\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx360\wrapdefault\faauto\ls1\outlinelevel0\adjustright\rin0\lin360\itap0 \rtlch\fcs1 \ab\af1\afs28\alang1025 \ltrch\fcs0 \b\fs28\lang1033\langfe1033\kerning28\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Other SCP Facilities{\*\bkmkend _Toc357054131} -\par {\*\bkmkstart _Toc357054132}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 6.1\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar +\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Other SCP Facilities{\*\bkmkend _Toc385248236} +\par {\*\bkmkstart _Toc385248237}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 6.1\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx390\wrapdefault\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin390\itap0 \rtlch\fcs1 \ab\ai\af1\afs24\alang1025 \ltrch\fcs0 \b\i\fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Terminal Input/Output Formatting Library{\*\bkmkend _Toc357054132} +\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Terminal Input/Output Formatting Library{\*\bkmkend _Toc385248237} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 SIMH provides routines to convert ASCII input characters to the format expected VM, and to convert VM-supplied ASCII characters to C-standard format. The routines are +\par \hich\af1\dbch\af31505\loch\f1 SIMH provides routines to convert ASCII input characters to the\hich\af1\dbch\af31505\loch\f1 format expected VM, and to convert VM-supplied ASCII characters to C-standard format. The routines are \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 int32 }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 sim_tt_i\hich\af1\dbch\af31505\loch\f1 npcvt}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (int32 c, uint32 mode) \hich\f1 \endash \loch\f1 convert input character }{\rtlch\fcs1 \ai\af1 -\ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 c}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 according to the }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 mode -}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 specification and return the converted result (-1 if the character is not valid in the specified mode). +\hich\af1\dbch\af31505\loch\f1 sim_tt_inpcvt}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (int32 c, uint32 mode) \hich\f1 \endash \loch\f1 convert input character }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 c}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 according to the }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 mode }{\rtlch\fcs1 \af1 \ltrch\fcs0 +\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 specification and return the converted result (-1 if the \hich\af1\dbch\af31505\loch\f1 character is not valid in the specified mode). \par \par \hich\af1\dbch\af31505\loch\f1 int32 }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tt_outcvt}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (int32 c, uint32 mode) \hich\f1 -\endash \loch\f1 convert output character }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 c}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 \hich\af1\dbch\af31505\loch\f1 -according to the }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 mode}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - specification and return the converted result (-1 if the character is not valid in the specified mode). +\endash \loch\f1 convert output character }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 c}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 according to the }{\rtlch\fcs1 \ai\af1 +\ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 mode}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 specification and return the converted result (-1 if the character is not valid in the specified mode). + \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 The supported modes are: +\par \hich\af1\dbch\af31505\loch\f1 The suppo\hich\af1\dbch\af31505\loch\f1 rted modes are: \par \par \tab \hich\af1\dbch\af31505\loch\f1 TTUF_MODE_8B\tab 8b mode; no conversion \par \tab \hich\af1\dbch\af31505\loch\f1 TTUF_MODE_7B\tab 7b mode; the high-order bit is masked off -\par \tab \hich\af1\dbch\af31505\loch\f1 TTUF_MODE\hich\af1\dbch\af31505\loch\f1 _7P\tab 7b printable mode; the high-order bit is masked off +\par \tab \hich\af1\dbch\af31505\loch\f1 TTUF_MODE_7P\tab 7b printable mode; the high-order bit is masked off \par \tab \tab \tab \tab \hich\af1\dbch\af31505\loch\f1 In addition, on output, if the character is not printable, -\par \tab \tab \tab \tab \hich\af1\dbch\af31505\loch\f1 -1 is returned +\par \tab \tab \tab \tab \hich\af1\dbch\af31505\loch\f1 -1 is returne\hich\af1\dbch\af31505\loch\f1 d \par \tab \hich\af1\dbch\af31505\loch\f1 TTUF_MODE_UC\tab 7b upper case mode; the high-order bit is masked off -\par \tab \tab \tab \tab \hich\af1\dbch\af31505\loch\f1 In addition, lower case is converted to upper c\hich\af1\dbch\af31505\loch\f1 ase +\par \tab \tab \tab \tab \hich\af1\dbch\af31505\loch\f1 In addition, lower case is converted to upper case \par \tab \tab \tab \tab \hich\af1\dbch\af31505\loch\f1 If the character is not printable, -1 is returned \par -\par \hich\af1\dbch\af31505\loch\f1 On input, TTUF_MODE_UC has an additional modifier, TTUF_MODE_KSR, which forces the high order bit to be set rather than cleared. +\par \hich\af1\dbch\af31505\loch\f1 On input, TTUF_MODE_UC has an additional modifier, TTUF_MODE_KSR, which force\hich\af1\dbch\af31505\loch\f1 s the high order bit to be set rather than cleared. \par -\par \hich\af1\dbch\af31505\loch\f1 The set of printable control characters is contained in the global \hich\af1\dbch\af31505\loch\f1 bit-vector variable }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tt_pchar}{ -\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 -. Each bit represents the character corresponding to the bit number (e.g., bit 0 represents NUL, bit 1 represents SOH, etc.). If a bit is set, the corresponding control character is considered printable. It initially cont\hich\af1\dbch\af31505\loch\f1 -ains the following characters: BEL, BS, HT, LF, and CR. The set may be manipulated with these routines: +\par \hich\af1\dbch\af31505\loch\f1 The set of printable control characters is contained in the global bit-vector variable }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tt_pchar}{\rtlch\fcs1 \af1 \ltrch\fcs0 +\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . Each bit represents the character corresponding to the bit number (e.g., bit 0 represents NUL, bit 1 \hich\af1\dbch\af31505\loch\f1 +represents SOH, etc.). If a bit is set, the corresponding control character is considered printable. It initially contains the following characters: BEL, BS, HT, LF, and CR. The set may be manipulated with these routines: \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_set_pchar}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (int32 flag, char *cptr) \hich\f1 \endash \loch\f1 set }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 @@ -2669,26 +2652,27 @@ ains the following characters: BEL, BS, HT, LF, and CR. The set may be manipula \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ; return SCPE_2FARG if }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 is null or points to a null string, or SCPE_ARG if the value cannot be converted or does not contain at least CR and LF. \par -\par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_show_pchar}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr) \hich\f1 \endash \loch\f1 output the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tt_pchar}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 value to the stream }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 st}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . +\par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_show_pchar}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (FILE *s +\hich\af1\dbch\af31505\loch\f1 t, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr) \hich\f1 \endash \loch\f1 output the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tt_pchar}{\rtlch\fcs1 \af1 \ltrch\fcs0 +\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 value to the stream }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 st}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 Note that the DEL character is always considered non-printable and will be suppressed in the UC and 7P modes. \par -\par {\*\bkmkstart _Toc357054133}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 6.2\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248238}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 6.2\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx390\wrapdefault\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin390\itap0 \rtlch\fcs1 \ab\ai\af1\afs24\alang1025 \ltrch\fcs0 \b\i\fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Terminal Multiplexer Emulation Library{\*\bkmkend _Toc357054133} +\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Terminal Multiplexer Emu\hich\af1\dbch\af31505\loch\f1 lation Library{\*\bkmkend _Toc385248238} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 SIMH supports the use of multiple terminals. All terminals except the con\hich\af1\dbch\af31505\loch\f1 sole are accessed via Telnet}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid8129972 \hich\af1\dbch\af31505\loch\f1 - or serial ports on the host machine}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . SIMH provides }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid8129972 \hich\af1\dbch\af31505\loch\f1 three }{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 supporting libraries for implementing multiple terminals: sim_tmxr.c (and its header file, sim_tmxr.h), which provide OS-independent support routines for terminal multip\hich\af1\dbch\af31505\loch\f1 -lexers; }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid8129972 \hich\af1\dbch\af31505\loch\f1 sim_serial.c (and its header file sim_serial.h), which provide OS-dependent serial I/O routines; }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 and sim_sock.c (and its header file, sim_sock.h), which provide OS-dependent socket routines. Sim_sock.c }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid8129972 \hich\af1\dbch\af31505\loch\f1 and sim_serial.c are}{\rtlch\fcs1 -\af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 implemented under Window\hich\af1\dbch\af31505\loch\f1 s, VMS, UNIX, and MacOS. +\par \hich\af1\dbch\af31505\loch\f1 SIMH supports the use of multiple terminals. All terminals except the console are accessed via Telnet}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid8129972 \hich\af1\dbch\af31505\loch\f1 or serial ports on the host machine}{ +\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . SIMH provides }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid8129972 \hich\af1\dbch\af31505\loch\f1 three }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 supporting libraries for implementing multiple terminals: sim_tmxr\hich\af1\dbch\af31505\loch\f1 .c (and its header file, sim_tmxr.h), which provide OS-independent support routines for terminal multiplexers; }{\rtlch\fcs1 +\af1 \ltrch\fcs0 \f1\insrsid8129972 \hich\af1\dbch\af31505\loch\f1 sim_serial.c (and its header file sim_serial.h), which provide OS-dependent serial I/O routines; }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +and sim_sock.c (and its header file, sim_sock.h)\hich\af1\dbch\af31505\loch\f1 , which provide OS-dependent socket routines. Sim_sock.c }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid8129972 \hich\af1\dbch\af31505\loch\f1 and sim_serial.c are}{\rtlch\fcs1 +\af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 implemented under Windows, VMS, UNIX, and MacOS. \par \par \hich\af1\dbch\af31505\loch\f1 Two basic data structures define the multiple terminals. Individual lines are defined by an array of }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmln}{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 structures (typedef }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 TMLN}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ): +\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 structures (typedef\hich\af1\dbch\af31505\loch\f1 }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 TMLN}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 ): \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 struct tmln \{ \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid4462419 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4462419 \tab \hich\af1\dbch\af31505\loch\f1 int\tab \tab conn;\tab \tab \tab \tab /* line connected flag */ @@ -2699,45 +2683,46 @@ lexers; }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid8129972 \hich\af1\dbch\af31505 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4462419 \hich\af1\dbch\af31505\loch\f1 *}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ipad;\tab \tab \tab \tab /* IP address */ \par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4462419 \tab \hich\af1\dbch\af31505\loch\f1 SOCKET\tab master;\tab \tab \tab \tab /* line specific master socket */ \par \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab *port;\tab \tab \tab \tab /* line specific listening port */ -\par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab sessions;\tab \tab \tab /* count of tcp connections received */ +\par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab \hich\af1\dbch\af31505\loch\f1 sessions;\tab \tab \tab /* count of tcp connections received */ \par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 uint32\tab \tab cnms;\tab \tab \tab \tab /* connect time ms */ -\par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab tsta;\tab \tab \tab \tab \hich\af1\dbch\af31505\loch\f1 /* Telnet state */ +\par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab tsta;\tab \tab \tab \tab /* Telnet state */ \par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab rcve;\tab \tab \tab \tab /* rcv enable */ \par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab xmte;\tab \tab \tab \tab /* xmt enable */ \par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab dstb;\tab \tab \tab \tab /* disable Tlnt bin */ \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid4462419 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4462419 \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab notelnet;\tab \tab \tab -/* raw binary data (no telnet interpret) */ +\hich\af1\dbch\af31505\loch\f1 /* raw binary data (no telnet interpret) */ \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab rxbpr;\tab \tab \tab \tab /* rcv buf remove */ -\par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab rxbpi;\tab \tab \tab \tab \hich\af1\dbch\af31505\loch\f1 /* rcv buf insert */ +\par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab rxbpi;\tab \tab \tab \tab /* rcv buf insert */ \par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab rxcnt;\tab \tab \tab \tab /* rcv count */ \par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab txbpr;\tab \tab \tab \tab /* xmt buf remove */ \par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab txbpi;\tab \tab \tab \tab /* xmt buf insert */ -\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid4462419 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4462419 \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab txcnt;\tab \tab \tab \tab /* xmt count */ +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid4462419 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4462419 \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab txcnt;\tab \tab \tab \tab +\hich\af1\dbch\af31505\loch\f1 /* xmt count */ \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4462419 \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab txdrp;\tab \tab \tab \tab /* xmt drop count */ \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid4462419 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4462419 \hich\af1\dbch\af31505\loch\f1 \tab int32\tab \tab txbsz;\tab \tab \tab \tab /* xmt buffer size */ -\par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab t\hich\af1\dbch\af31505\loch\f1 xbfd;\tab \tab \tab \tab /* xmt buffered flag */ +\par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab txbfd;\tab \tab \tab \tab /* xmt buffered flag */ \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid2634434 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid2634434 \tab \hich\af1\dbch\af31505\loch\f1 t_bool\tab \tab modem_control;\tab \tab \tab /* line modem control support */ \par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab modembits;\tab \tab \tab /* modem bits which are set */ -\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 FILE\tab \tab *txlog;\tab \tab \tab \tab /* xmt log file */ +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 FILE\tab \tab \hich\af1\dbch\af31505\loch\f1 *txlog;\tab \tab \tab \tab +/* xmt log file */ \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid3891160 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3891160 \tab \hich\af1\dbch\af31505\loch\f1 FILEREF\tab *txlogref;\tab \tab \tab /* xmt log file reference */ -\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab *txlogname;\tab \tab \tab /* \hich\af1\dbch\af31505\loch\f1 -xmt log file name */ +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab *txlogname;\tab \tab \tab /* xmt log file name */ \par \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab rxb[TMXR_MAXBUF];\tab \tab /* rcv buffer */ \par \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab rbr[TMXR_MAXBUF];\tab \tab /* rcv break */ \par \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3891160 \hich\af1\dbch\af31505\loch\f1 *}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 txb;}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3891160 \tab \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 /* xmt buffer */ -\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3891160 \tab \hich\af1\dbch\af31505\loch\f1 TMXR\tab \tab *mp;\tab \tab \tab \tab /* back pointer to mux */ +\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3891160 \tab \hich\af1\dbch\af31505\loch\f1 TMXR\tab \tab *mp;\tab \tab \tab \tab \hich\af1\dbch\af31505\loch\f1 /* back pointer to mux */ \par \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab *serconfig;\tab \tab \tab /* line config */ -\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid3891160 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3891160 \tab \hich\af1\dbch\af31505\loch\f1 SERHANDLE\tab serport;\tab \tab \tab \tab /* serial port -\hich\af1\dbch\af31505\loch\f1 handle */ +\par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid3891160 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3891160 \tab \hich\af1\dbch\af31505\loch\f1 SERHANDLE\tab serport;\tab \tab \tab \tab /* serial port handle */ + \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3891160 \tab \hich\af1\dbch\af31505\loch\f1 t_bool\tab \tab ser_connect_pending;\tab \tab /* serial connection notice pending */ \par \tab \hich\af1\dbch\af31505\loch\f1 SOCKET\tab connecting;\tab \tab \tab /* Outgoing socket while connecting */ -\par \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab *destination;\tab \tab \tab /* Outgoing destination address:port */ -\par \tab \hich\af1\dbch\af31505\loch\f1 UNIT\tab \tab *uptr;\tab \tab \tab \tab /* input polling unit -default to \hich\af1\dbch\af31505\loch\f1 mp->uptr */ +\par \tab \hich\af1\dbch\af31505\loch\f1 char\tab \tab *d\hich\af1\dbch\af31505\loch\f1 estination;\tab \tab \tab /* Outgoing destination address:port */ +\par \tab \hich\af1\dbch\af31505\loch\f1 UNIT\tab \tab *uptr;\tab \tab \tab \tab /* input polling unit -default to mp->uptr */ \par \tab \hich\af1\dbch\af31505\loch\f1 UNIT\tab \tab *o_uptr;\tab \tab \tab \tab /* output polling unit \hich\f1 \endash \loch\f1 default to lp->uptr */ \par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \}\hich\af1\dbch\af31505\loch\f1 ; \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 @@ -2753,15 +2738,15 @@ sock}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3891160 \tab \tab \hich\af1\dbch\a \par \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \b\f1\insrsid3806017 \hich\af1\dbch\af31505\loch\f1 sessions}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3806017 \tab \hich\af1\dbch\af31505\loch\f1 count of tcp connections received \par \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \b\f1\insrsid3806017\charrsid3806017 \hich\af1\dbch\af31505\loch\f1 cnms}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3806017 \tab \tab \hich\af1\dbch\af31505\loch\f1 connect time \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tsta}{\rtlch\fcs1 \af1 -\ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 Telnet state +\ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 T\hich\af1\dbch\af31505\loch\f1 elnet state \par \tab }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 rcve}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 receive enable flag (0 = disabled) \par \tab }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 xmte}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 transmit flow control flag (0 = transmit disabled) \par \tab }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 dstb}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 Telnet bin mode disabled \par \tab }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 rxbp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 r\tab \tab receive buffer remove pointer \par \tab }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 rxbpi}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 receive buffer insert pointer \par \tab }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 rxcnt}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 receive count -\par \tab }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 txbpr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 transmit buffer remove pointer -\par \tab }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 txbpi}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 transmit buffer insert point\hich\af1\dbch\af31505\loch\f1 er +\par \tab }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 txbpr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 transm\hich\af1\dbch\af31505\loch\f1 it buffer remove pointer +\par \tab }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 txbpi}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 transmit buffer insert pointer \par \tab }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 txcnt}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 transmit count \par \tab }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 txlog}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 pointer to log file descriptor \par \tab }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 txlogname}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 pointer to log file name @@ -2779,17 +2764,17 @@ sock}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3891160 \tab \tab \hich\af1\dbch\a \par \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3891160 \hich\af1\dbch\af31505\loch\f1 char}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3891160 \hich\af1\dbch\af31505\loch\f1 *}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 port;\tab \tab \tab \tab /* listening port */ \par \tab \hich\af1\dbch\af31505\loch\f1 SOCKET\tab master;\tab \tab \tab \tab /* master socket */ -\par \tab \hich\af1\dbch\af31505\loch\f1 TMLN\tab \tab *ldsc;\tab \tab \tab \tab /* pointer to line descriptors */ +\par \tab \hich\af1\dbch\af31505\loch\f1 TMLN\tab \tab *ldsc;\tab \tab \tab \tab /* pointer to line descriptors \hich\af1\dbch\af31505\loch\f1 */ \par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab *lnorder;\tab \tab \tab /* line connection order */ -\par \tab \hich\af1\dbch\af31505\loch\f1 DEVICE\tab *dptr;\tab \tab \tab \tab /* multi\hich\af1\dbch\af31505\loch\f1 plexer device */ +\par \tab \hich\af1\dbch\af31505\loch\f1 DEVICE\tab *dptr;\tab \tab \tab \tab /* multiplexer device */ \par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3891160 \tab \hich\af1\dbch\af31505\loch\f1 UNIT\tab \tab *uptr;\tab \tab \tab \tab /* polling unit (connection) */ \par \tab \hich\af1\dbch\af31505\loch\f1 char \tab \tab logfiletmpl[FILENAMEMAX];\tab /* template logfile name */ -\par \tab \hich\af1\dbch\af31505\loch\f1 int23\tab \tab buffered;\tab \tab \tab /* Buffered line behavior and buffer size*/ +\par \tab \hich\af1\dbch\af31505\loch\f1 int23\tab \tab buffered;\tab \tab \tab /* Buffered line behavior and b\hich\af1\dbch\af31505\loch\f1 uffer size*/ \par \tab \hich\af1\dbch\af31505\loch\f1 int32\tab \tab sessions;\tab \tab \tab /* count of tcp connections received */ -\par \tab \hich\af1\dbch\af31505\loch\f1 uin\hich\af1\dbch\af31505\loch\f1 t32\tab \tab last_poll_time;\tab \tab \tab /* time of last connection poll */ +\par \tab \hich\af1\dbch\af31505\loch\f1 uint32\tab \tab last_poll_time;\tab \tab \tab /* time of last connection poll */ \par \tab \hich\af1\dbch\af31505\loch\f1 t_bool\tab \tab notelnet;\tab \tab \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9308345 \hich\af1\dbch\af31505\loch\f1 /* default telnet capability for incoming connections */}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3891160 -\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9308345 \tab \hich\af1\dbch\af31505\loch\f1 t_bool\tab \tab modem_control;\tab \tab \tab /* multiplexer supports modem control behaviors */ +\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9308345 \tab \hich\af1\dbch\af31505\loch\f1 t_bool\tab \tab modem_control;\tab \tab \tab /* multiplexer su\hich\af1\dbch\af31505\loch\f1 pports modem control behaviors */ \par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \}\hich\af1\dbch\af31505\loch\f1 ; \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 The fields are the following: @@ -2797,9 +2782,9 @@ sock}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid3891160 \tab \tab \hich\af1\dbch\a \par \tab }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 lines}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 number of lines (constant) \par \tab }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 port}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 master listening port (specified by ATTACH command) \par \tab }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 master}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 master listening socket (filled in by ATTACH command) -\par \tab }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ldsc}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 array of line descriptors +\par \tab }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ldsc}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \tab \hich\af1\dbch\af31505\loch\f1 array of line descript\hich\af1\dbch\af31505\loch\f1 ors \par }\pard \ltrpar\ql \fi-1440\li2160\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin2160\itap0 {\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 lnorder}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab -\hich\af1\dbch\af31505\loch\f1 array of line numbers in order of connection sequence, or NULL if\hich\af1\dbch\af31505\loch\f1 user-defined connection order is not required +\hich\af1\dbch\af31505\loch\f1 array of line numbers in order of connection sequence, or NULL if user-defined connection order is not required \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 dptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab \hich\af1\dbch\af31505\loch\f1 pointer to the multiplexer\hich\f1 \rquote \loch\f1 s DEVICE structure, or NULL if the device is to be derived from the UNIT passed to the attach call. \par }\pard \ltrpar\ql \fi-1440\li2160\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin2160\itap0\pararsid1264706 {\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid1264706 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1264706 @@ -2809,7 +2794,7 @@ s DEVICE structure, or NULL if the device is to be derived from the UNIT passed \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid7674256 \hich\af1\dbch\af31505\loch\f1 buffered}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1264706 \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7674256 \hich\af1\dbch\af31505\loch\f1 Buffered line behaviors enabled flag and the size of the line buffer.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1264706 \par }\pard \ltrpar\ql \fi-1440\li2160\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin2160\itap0\pararsid1264706 {\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid7674256 \hich\af1\dbch\af31505\loch\f1 sessions}{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\insrsid1264706 \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7674256 \hich\af1\dbch\af31505\loch\f1 count of tcp connections received on the master socket}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1264706 . +\f1\insrsid1264706 \tab }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7674256 \hich\af1\dbch\af31505\loch\f1 count of tcp connections received on the master\hich\af1\dbch\af31505\loch\f1 socket}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1264706 . \par }\pard \ltrpar\ql \fi-1440\li2160\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin2160\itap0\pararsid7674256 {\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid7674256 \hich\af1\dbch\af31505\loch\f1 last_poll_time}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7674256 \tab \hich\af1\dbch\af31505\loch\f1 time of last connection poll. \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid7674256 \hich\af1\dbch\af31505\loch\f1 notelnet}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid7674256 \tab \hich\af1\dbch\af31505\loch\f1 default telnet capability for tcp connections. @@ -2820,46 +2805,47 @@ flag indicating that multiplexer supports full modem control behaviors. \par }\pard \ltrpar\ql \fi-1440\li2160\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin2160\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid1264706 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 The number of elements in the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ldsc}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 and }{\rtlch\fcs1 -\ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 lnorder}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 arrays must equal the value of the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 lines}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 field. Set }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 lnorder}{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 t\hich\af1\dbch\af31505\loch\f1 o NULL if the connection order feature is not needed. If the first element of the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 -lnorder}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 array is \hich\f1 \endash \loch\f1 1, then the default ascending sequential connection order is used. Set }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 dptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 to NULL if the device should be derived from the unit passed to the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 tmxr_attac\hich\af1\dbch\af31505\loch\f1 h}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 call. +\ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 lnorder}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 arrays mu\hich\af1\dbch\af31505\loch\f1 st equal the value of the }{\rtlch\fcs1 \ab\af1 +\ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 lines}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 field. Set }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +lnorder}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 to NULL if the connection order feature is not needed. If the first element of the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 lnorder}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 array is \hich\f1 \endash \loch\f1 1, then the default ascending sequential connection order is used. Set }{\rtlch\fcs1 \ab\af1 +\ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 dptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 to NULL if the device sho\hich\af1\dbch\af31505\loch\f1 uld be derived from the unit passed to the }{ +\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_attach}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 call. \par \par \hich\af1\dbch\af31505\loch\f1 Library sim_tmxr.c provides the following routines to support Telnet}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid8129972 \hich\af1\dbch\af31505\loch\f1 and Serial port}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 -based terminals: \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 int32 }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_poll_conn}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (TMXR *mp) \hich\f1 \endash \loch\f1 poll for a new connection to the terminals described by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 -\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 mp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . If there is a new connection, the routine resets \hich\af1\dbch\af31505\loch\f1 -all the line descriptor state (including receive enable) and returns the line number (index to line descriptor) for the new connection. If there isn\hich\f1 \rquote \loch\f1 t a new connection, the routine returns \hich\f1 \endash \loch\f1 1. +\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 mp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +. If there is a new connection, the routine resets all the line descriptor state (including receive enable) and returns the line number (index to line descriptor) for the new connection. If there isn\hich\f1 \rquote \loch\f1 +t a new connection, the routine returns \hich\f1 \endash \loch\f1 1. \par -\par \hich\af1\dbch\af31505\loch\f1 void }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_reset_ln}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (TMLN *lp) \hich\f1 \endash \loch\f1 - reset the line described by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 l\hich\af1\dbch\af31505\loch\f1 p}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +\par \hich\af1\dbch\af31505\loch\f1 void }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tm\hich\af1\dbch\af31505\loch\f1 xr_reset_ln}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 + (TMLN *lp) \hich\f1 \endash \loch\f1 reset the line described by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 lp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . The connection is closed and all line descriptor state is reset. \par \par \hich\af1\dbch\af31505\loch\f1 int32 }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_getc_ln}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (TMLN *lp) \hich\f1 \endash \loch\f1 return the next available character from the line described by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 lp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 -. If a character is available, the return }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid2634434 \hich\af1\dbch\af31505\loch\f1 value }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 is: +. If a character is available, the\hich\af1\dbch\af31505\loch\f1 return }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid2634434 \hich\af1\dbch\af31505\loch\f1 value }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 is: \par \par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \tab \hich\af2\dbch\af31505\loch\f2 (1 << TMXR_V_VALID) | character \par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9308345 \hich\af1\dbch\af31505\loch\f1 I\hich\af1\dbch\af31505\loch\f1 f a BREAK occurred on the line, SCPE_BREAK will be ORed into the return variable. }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 If no character is available, the return }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid2634434 \hich\af1\dbch\af31505\loch\f1 value }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 is 0. +\par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9308345 \hich\af1\dbch\af31505\loch\f1 If a BREAK occurred on the line, SCPE_BREAK will be ORed into the return variable. }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +If no character is available, the return }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid2634434 \hich\af1\dbch\af31505\loch\f1 value }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 is 0. \par -\par \hich\af1\dbch\af31505\loch\f1 void }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_poll_rx}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (TMXR *mp) \hich\f1 \endash \loch\f1 - poll for input available on the terminals described by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 mp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . +\par \hich\af1\dbch\af31505\loch\f1 void }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_poll_rx}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (TMXR *mp) \hich\f1 \endash +\hich\af1\dbch\af31505\loch\f1 poll for input available on the terminals described by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 mp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 . \par -\par \hich\af1\dbch\af31505\loch\f1 void }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_rqln}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (TMLN *lp) \hich\f1 \endash -\hich\af1\dbch\af31505\loch\f1 return the number of characters in the receive queue of the line described by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 lp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . - +\par \hich\af1\dbch\af31505\loch\f1 void }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_rqln}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (TMLN *lp) \hich\f1 \endash \loch\f1 + return the number of characters in the receive queue of the line described by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 lp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . \par \par }\pard\plain \ltrpar\s21\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_putc_ln}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - (TMLN *lp, int32 chr) \hich\f1 \endash \loch\f1 output character }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 chr }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 -to the line described by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 lp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 -. Possible errors are SCPE_LOST (connection lost) and SCPE_STALL (connection ba\hich\af1\dbch\af31505\loch\f1 cklogged). + (TMLN *lp, int32 chr) \hich\f1 \endash \loch\f1 output character }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 chr }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 to the line descri +\hich\af1\dbch\af31505\loch\f1 bed by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 lp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +. Possible errors are SCPE_LOST (connection lost) and SCPE_STALL (connection backlogged). \par }\pard\plain \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par }\pard\plain \ltrpar\s21\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 @@ -2868,11 +2854,12 @@ to the line described by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid4550150 \hi \par }\pard\plain \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 void }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_tqln}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (TMLN *lp) \hich\f1 \endash \loch\f1 - return the number of characters in the transmit queue of the line described by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 lp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . + return the number of characters in t\hich\af1\dbch\af31505\loch\f1 he transmit queue of the line described by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 lp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . + \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid9308345 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9308345 \hich\af1\dbch\af31505\loch\f1 void }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid9308345 -\hich\af1\dbch\af31505\loch\f1 tmxr_send_buffered_data}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9308345 \hich\af1\dbch\af31505\loch\f1 (TMLN *lp) \hich\f1 \endash \hich\af1\dbch\af31505\loch\f1 flush any buffered data for the line described by }{ -\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid9308345 \hich\af1\dbch\af31505\loch\f1 lp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9308345 . +\hich\af1\dbch\af31505\loch\f1 tmxr_send_buffered_data}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9308345 \hich\af1\dbch\af31505\loch\f1 (TMLN *lp) \hich\f1 \endash \loch\f1 flush any buffered data for the line described by }{\rtlch\fcs1 \ai\af1 +\ltrch\fcs0 \i\f1\insrsid9308345 \hich\af1\dbch\af31505\loch\f1 lp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9308345 . \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_attach}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (TMXR *mp, UNIT *uptr, char *cptr) \hich\f1 \endash \loch\f1 attach the port contained in character string }{\rtlch\fcs1 \ai\af1 @@ -2880,26 +2867,26 @@ to the line described by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid4550150 \hi \hich\af1\dbch\af31505\loch\f1 mp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 and unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . \par -\par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_open_master}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (TMXR *mp, char *cpt -\hich\af1\dbch\af31505\loch\f1 r) \hich\f1 \endash \loch\f1 associate the port contained in character string }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 to the terminals described by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 mp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 -. This routine is a subset of }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_attach}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . +\par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_open_master}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (TMXR *mp, char *cptr) \hich\f1 +\endash \loch\f1 associate the port contained in character string }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 + to the terminals described by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 mp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . This routine is a subset of }{\rtlch\fcs1 \ab\af1 +\ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_attach}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . \par \par }\pard\plain \ltrpar\s21\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_detach}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - (TMXR *mp, UNIT *uptr) \hich\f1 \endash \loch\f1 detach all connections for the terminals described by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 mp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 and unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 . +\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_detach}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (TMXR * +\hich\af1\dbch\af31505\loch\f1 mp, UNIT *uptr) \hich\f1 \endash \loch\f1 detach all connections for the terminals described by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 mp}{\rtlch\fcs1 \af1 \ltrch\fcs0 +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 and unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 . \par -\par \hich\af1\dbch\af31505\loch\f1 t_s\hich\af1\dbch\af31505\loch\f1 tat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_close_master}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - (TMXR *mp) \hich\f1 \endash \loch\f1 close the master port for the terminals described by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 mp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 -. This routine is a subset of}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_detach}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 . +\par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_close_master}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (TMXR *mp) \hich\f1 \endash \loch\f1 + close the master port for the terminals described by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 mp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . This routine is a subset of}{ +\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_detach}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 . \par }\pard\plain \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_ex}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - (t_value *vptr, t_addr addr, UNIT *uptr, int32 sw) \hich\f1 \endash \loch\f1 stub examine routine, needed because the extra termin\hich\af1\dbch\af31505\loch\f1 als are marked as attached; always returns an error. +\par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_ex}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (t_value *vp +\hich\af1\dbch\af31505\loch\f1 tr, t_addr addr, UNIT *uptr, int32 sw) \hich\f1 \endash \loch\f1 stub examine routine, needed because the extra terminals are marked as attached; always returns an error. \par \par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_dep}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - (t_value val, t_addr addr, UNIT *uptr, int32 sw) \hich\f1 \endash \loch\f1 stub deposit routine, needed because the extra terminals are marked as detached; always returns an error. + (t_value val, t_addr addr, UNIT *uptr, int32 sw) \hich\f1 \endash \loch\f1 stub deposit routine, needed because the \hich\af1\dbch\af31505\loch\f1 extra terminals are marked as detached; always returns an error. \par }\pard \ltrpar\ql \li360\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin360\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par }\pard \ltrpar\ql \fi360\li360\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin360\itap0\pararsid9308345 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9308345 \hich\af1\dbch\af31505\loch\f1 void }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid9308345 \hich\af1\dbch\af31505\loch\f1 tmxr_msg}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9308345 \hich\af1\dbch\af31505\loch\f1 (SOCKET sock, char *msg) \hich\f1 \endash \loch\f1 output character string }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid9308345 @@ -2923,40 +2910,41 @@ to the line described by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid4550150 \hi \par }\pard\plain \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 void }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_fstats}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (FILE *st, TMLN *lp, int32 ln) \hich\f1 -\endash \loch\f1 output connection statistics to stre\hich\af1\dbch\af31505\loch\f1 am }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 st}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 for the line described by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 lp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . If }{\rtlch\fcs1 \ai\af1 -\ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ln}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 is >= 0, preface the output with the specified line number. +\endash \loch\f1 output connection statistics to stream }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 st}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 for the line described by }{ +\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 lp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . If }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 ln}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 is >= 0, preface the output with the specified line number. \par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9308345 \hich\af1\dbch\af31505\loch\f1 tstat }{\rtlch\fcs1 \af1 \ltrch\fcs0 \b\f1\insrsid9308345\charrsid2698330 \hich\af1\dbch\af31505\loch\f1 tmxr_set_log}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9308345 -\hich\af1\dbch\af31505\loch\f1 (UNIT *uptr, int32 val, char *cptr, void *mp) \hich\f1 \endash \loch\f1 enable logging of a line of the multipleser described by mp to the filename pointed to\hich\af1\dbch\af31505\loch\f1 - by cptr. If uptr is NULL, then val indicates the line number; otherwise, the unit number within the associated device implies the line number. This function may be used as an MTAB validation routine. +\hich\af1\dbch\af31505\loch\f1 (UNIT *uptr, int32 val, char *cptr, void *mp) \hich\f1 \endash \loch\f1 enabl\hich\af1\dbch\af31505\loch\f1 +e logging of a line of the multipleser described by mp to the filename pointed to by cptr. If uptr is NULL, then val indicates the line number; otherwise, the unit number within the associated device implies the line number. This function may be used as +\hich\af1\dbch\af31505\loch\f1 \hich\af1\dbch\af31505\loch\f1 an MTAB validation routine. \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid2698330 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid2698330 \hich\af1\dbch\af31505\loch\f1 tstat }{\rtlch\fcs1 \af1 \ltrch\fcs0 \b\f1\insrsid2698330\charrsid5979563 \hich\af1\dbch\af31505\loch\f1 tmxr_set_}{\rtlch\fcs1 \af1 \ltrch\fcs0 \b\f1\insrsid2698330 \hich\af1\dbch\af31505\loch\f1 no}{\rtlch\fcs1 \af1 \ltrch\fcs0 \b\f1\insrsid2698330\charrsid5979563 \hich\af1\dbch\af31505\loch\f1 log}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid2698330 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr, int32 val, char *cptr, void *mp) \hich\f1 \endash \loch\f1 - disable logging of a line of the multipleser described by mp to the filename pointed to by cptr. If uptr is NULL, then val indicates the line number; otherwise, the unit number within the associated device\hich\af1\dbch\af31505\loch\f1 -\hich\af1\dbch\af31505\loch\f1 implies the line number. This function may be used as an MTAB validation routine. + disable logging of a line of the multipleser described by mp to the filename pointed to by cptr. If uptr is NULL, then val indicates the line number; otherwi\hich\af1\dbch\af31505\loch\f1 +se, the unit number within the associated device implies the line number. This function may be used as an MTAB validation routine. \par \par \hich\af1\dbch\af31505\loch\f1 tstat }{\rtlch\fcs1 \af1 \ltrch\fcs0 \b\f1\insrsid2698330\charrsid2698330 \hich\af1\dbch\af31505\loch\f1 tmxr_show_log}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid2698330 \hich\af1\dbch\af31505\loch\f1 - (FILE *st, UNIT *uptr, int32 val, void *mp) \hich\f1 \endash \loch\f1 outputs the logging status of a line of the multiplexer described by mp to stream st. If uptr is NULL, th\hich\af1\dbch\af31505\loch\f1 -en val indicates the line number; otherwise, the unit number within the associated device implies the line number. This function may be used as an MTAB display routine. + (FILE *st, UNIT *uptr, int32 val, void *mp) \hich\f1 \endash \loch\f1 outputs the logging status of a line of the multiplexer d\hich\af1\dbch\af31505\loch\f1 +escribed by mp to stream st. If uptr is NULL, then val indicates the line number; otherwise, the unit number within the associated device implies the line number. This function may be used as an MTAB display routine. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid2698330 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 tmxr_dscln}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr, int32 val, char *cptr, void *mp) \hich\f1 \endash \loch\f1 parse the string po\hich\af1\dbch\af31505\loch\f1 -inted to by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +\hich\af1\dbch\af31505\loch\f1 tmxr_dscln}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr, int32\hich\af1\dbch\af31505\loch\f1 val, char *cptr, void *mp) \hich\f1 \endash \loch\f1 + parse the string pointed to by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 for a decimal line number. If the line number is valid, disconnect the specified line in the terminal multiplexer described by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 mp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . The calling sequence allows }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_dscln}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 to be used as an MTAB processing routine.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid2698330 \hich\af1\dbch\af31505\loch\f1 A line connected via a t\hich\af1\dbch\af31505\loch\f1 -cp session will be disconnected, a line connected to a serial port will be closed if the sim_switches \hich\f1 \endash \loch\f1 C flag is enabled when the routine is called, otherwise a serial port will have DTR dropped for 500ms and raised again.}{ -\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 to be used as an M\hich\af1\dbch\af31505\loch\f1 TAB processing routine.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid2698330 \hich\af1\dbch\af31505\loch\f1 + A line connected via a tcp session will be disconnected, a line connected to a serial port will be closed if the sim_switches \hich\f1 \endash \loch\f1 +C flag is enabled when the routine is called, otherwise a serial port will have DTR dropped for 500ms an\hich\af1\dbch\af31505\loch\f1 d raised again.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par -\par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_set_lnorder}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (UNIT *u -\hich\af1\dbch\af31505\loch\f1 ptr, int32 val, char *cptr, void *desc) \hich\f1 \endash \loch\f1 set the line connection order array associated with the TMXR structure pointed to by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 desc}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . The string pointed to by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 -\ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 is parsed for a semicolon-delimited list of ranges. Ranges are of the form: +\par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_set_lnorder}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 + (UNIT *uptr, int32 val, char *cptr, void *desc) \hich\f1 \endash \loch\f1 set the line connection order array associated with the TMXR structure pointed to by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 desc}{ +\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . The string pointed to by }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 is parsed for a semicolon-delimited list of ranges. Ranges are of the form: \par -\par }\pard \ltrpar\ql \fi-2160\li3600\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin3600\itap0 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \hich\af2\dbch\af31505\loch\f2 line1-line2\tab as\hich\af2\dbch\af31505\loch\f2 cending sequence from }{ -\rtlch\fcs1 \ab\af2 \ltrch\fcs0 \b\f2\insrsid4550150 \hich\af2\dbch\af31505\loch\f2 line1}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \hich\af2\dbch\af31505\loch\f2 to }{\rtlch\fcs1 \ab\af2 \ltrch\fcs0 \b\f2\insrsid4550150 -\hich\af2\dbch\af31505\loch\f2 line2}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 +\par }\pard \ltrpar\ql \fi-2160\li3600\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin3600\itap0 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \hich\af2\dbch\af31505\loch\f2 line1-line2\tab ascending sequence from }{\rtlch\fcs1 \ab\af2 \ltrch\fcs0 +\b\f2\insrsid4550150 \hich\af2\dbch\af31505\loch\f2 line1}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \hich\af2\dbch\af31505\loch\f2 to }{\rtlch\fcs1 \ab\af2 \ltrch\fcs0 \b\f2\insrsid4550150 \hich\af2\dbch\af31505\loch\f2 line2}{\rtlch\fcs1 \af2 +\ltrch\fcs0 \f2\insrsid4550150 \par \hich\af2\dbch\af31505\loch\f2 line1/length\tab ascending sequence from }{\rtlch\fcs1 \ab\af2 \ltrch\fcs0 \b\f2\insrsid4550150 \hich\af2\dbch\af31505\loch\f2 line1}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \hich\af2\dbch\af31505\loch\f2 to }{ \rtlch\fcs1 \ab\af2 \ltrch\fcs0 \b\f2\insrsid4550150 \hich\af2\dbch\af31505\loch\f2 line1}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \hich\af2\dbch\af31505\loch\f2 +}{\rtlch\fcs1 \ab\af2 \ltrch\fcs0 \b\f2\insrsid4550150 \hich\af2\dbch\af31505\loch\f2 length}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \hich\af2\dbch\af31505\loch\f2 -1 @@ -2977,96 +2965,96 @@ cp session will be disconnected, a line connected to a serial port will be close \par \par }\pard\plain \ltrpar\s21\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_show_cstat}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - (FILE *st, UNIT *uptr, int32 val, void *desc) \hich\f1 \endash \hich\af1\dbch\af31505\loch\f1 outputs either the connections (val = 1) or the statistics (val = 0) of the multiplexer (TMXR *) }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid4550150 + (FILE *st, UNIT *uptr, int32 val, void *desc) \hich\f1 \endash \loch\f1 outputs either the connections (val = 1) or the statistics (val = 0) of the multiplexe\hich\af1\dbch\af31505\loch\f1 r (TMXR *) }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 desc}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 to stream }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 st}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . Also checks for multiplexer not attached, or all lines disconnected. \par \par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tmxr_show_lines}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - (FILE *st, UNIT *uptr, int32 val, void *desc) \loch\af1\dbch\af31505\hich\f1 \endash \loch\f1 outputs the number of lines in the terminal multiplexer (TMXR *) I to stream I. + (FILE *st, UNIT *uptr, int32 val, void *desc) \hich\f1 \endash \loch\f1 outputs the number of lines in the terminal multiplexer (TMXR *) I to stream I. \par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid7674256 -\par }\pard \ltrpar\s21\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid7674256 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid7674256 \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\insrsid7674256 -\hich\af1\dbch\af31505\loch\f1 tmxr_set_modem_control_passthru}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid7674256 \hich\af1\dbch\af31505\loch\f1 (TMXR *mp) \hich\f1 \endash \loch\f1 - Enables modem control passthru behaviors, and disables internal manipulation of DTR (&RTS) by tmxr apis. Enables the tmx\hich\af1\dbch\af31505\loch\f1 r_set_get_modem_bits and tmxr_set_config_line apis. +\par }\pard \ltrpar\s21\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid7674256 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid7674256 \hich\af1\dbch\af31505\loch\f1 t_st\hich\af1\dbch\af31505\loch\f1 at }{\rtlch\fcs1 \ab\af1 +\ltrch\fcs0 \b\insrsid7674256 \hich\af1\dbch\af31505\loch\f1 tmxr_set_modem_control_passthru}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid7674256 \hich\af1\dbch\af31505\loch\f1 (TMXR *mp) \hich\f1 \endash \loch\f1 + Enables modem control passthru behaviors, and disables internal manipulation of DTR (&RTS) by tmxr apis. Enables the tmxr_set_get_modem_bits and tmxr_set_config_line apis. \par -\par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\insrsid7674256 \hich\af1\dbch\af31505\loch\f1 tmxr_clear_modem_control_passthru}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid7674256 \hich\af1\dbch\af31505\loch\f1 (TMXR *mp) \hich\f1 -\endash \loch\f1 Disables modem control passthru behaviors, and enables internal manipulation of DTR (&RTS) by tmxr apis. Disables the tmxr_set_get_modem_bits and tm\hich\af1\dbch\af31505\loch\f1 xr_set_config_line apis. +\par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\insrsid7674256 \hich\af1\dbch\af31505\loch\f1 tmxr_clear_modem_control_pa\hich\af1\dbch\af31505\loch\f1 ssthru}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid7674256 +\hich\af1\dbch\af31505\loch\f1 (TMXR *mp) \hich\f1 \endash \loch\f1 Disables modem control passthru behaviors, and enables internal manipulation of DTR (&RTS) by tmxr apis. Disables the tmxr_set_get_modem_bits and tmxr_set_config_line apis. \par \par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9462171 \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \af1 \ltrch\fcs0 \b\insrsid9462171\charrsid9462171 \hich\af1\dbch\af31505\loch\f1 tmxr_set_get_modem_bits}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9462171 -\hich\af1\dbch\af31505\loch\f1 (TMLN *lp, int32 bits_to_set, int32 bits_to_clear, int32 *incoming_bits) \hich\f1 \endash \loch\f1 - For a line connected to a serial port on a TMXR device with modem_control_passthru enabled, then the bits_to_set and/or bits\hich\af1\dbch\af31505\loch\f1 -_to_clear (DTR and RTS) are changed and if incoming_bits is not NULL, then the current modem bits are returned (DCD,RNG,CTS, DSR).}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid7674256 +\hich\af1\dbch\af31505\loch\f1 (TMLN *lp, int32 bits_to_set, \hich\af1\dbch\af31505\loch\f1 int32 bits_to_clear, int32 *incoming_bits) \hich\f1 \endash \loch\f1 + For a line connected to a serial port on a TMXR device with modem_control_passthru enabled, then the bits_to_set and/or bits_to_clear (DTR and RTS) are changed and if incoming_bits is not NULL, then the current\hich\af1\dbch\af31505\loch\f1 +\hich\af1\dbch\af31505\loch\f1 modem bits are returned (DCD,RNG,CTS, DSR).}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid7674256 \par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9462171 \par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \af1 \ltrch\fcs0 \b\insrsid9462171\charrsid9462171 \hich\af1\dbch\af31505\loch\f1 tmxr_set_config_line}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9462171 \hich\af1\dbch\af31505\loch\f1 - (TMLN *lp, char *config) \hich\f1 \endash \loch\f1 sets the line configuration (speed, parity, character size, stopbits)\hich\af1\dbch\af31505\loch\f1 on a serial port. Config is a string of the form: 9600-8N1. + (TMLN *lp, char *config) \hich\f1 \endash \loch\f1 sets the line configuration (speed, parity, character size, stopbits) on a serial port. Config is a string of the form: 9600-8N1. \par \par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \af1 \ltrch\fcs0 \b\insrsid9462171\charrsid3806017 \hich\af1\dbch\af31505\loch\f1 tmxr_set_line_unit}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9462171 \hich\af1\dbch\af31505\loch\f1 (TMXR *mp, int line, UNIT *uptr) }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid3806017 \loch\af1\dbch\af31505\hich\f1 \endash }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9462171 \hich\af1\dbch\af31505\loch\f1 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid3806017 -\hich\af1\dbch\af31505\loch\f1 Declare which unit polls for input on a given line (only needed if the input polling unit is different than the unit provided when t\hich\af1\dbch\af31505\loch\f1 he multiplexer was attached.}{\rtlch\fcs1 \af1 \ltrch\fcs0 -\insrsid9462171 +\hich\af1\dbch\af31505\loch\f1 Declare which unit polls for input on a given line (only needed if the input polling unit is different than the unit provided when the multiplexer was attached.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9462171 \par }\pard \ltrpar\s21\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid3806017 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid2698330 \par }\pard \ltrpar\s21\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid8129972 -\par }\pard \ltrpar\s21\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid8129972 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid8129972 \hich\af1\dbch\af31505\loch\f1 -The OS dependent serial I/O and socket routines should not need to be accessed by the terminal simulators. +\par }\pard \ltrpar\s21\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid8129972 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid8129972 \hich\af1\dbch\af31505\loch\f1 The OS dependent serial I/O and socket \hich\af1\dbch\af31505\loch\f1 +routines should not need to be accessed by the terminal simulators. \par }\pard\plain \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par {\*\bkmkstart _Toc357054134}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 6.3\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248239}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 6.3\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx390\wrapdefault\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin390\itap0 \rtlch\fcs1 \ab\ai\af1\afs24\alang1025 \ltrch\fcs0 \b\i\fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Magnetic Tape Emulation Library{\*\bkmkend _Toc357054134} +\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Magnetic Tape Emulation Library{\*\bkmkend _Toc385248239} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 \hich\f1 SIMH supports the use of emulated magnetic tapes. Magnetic tapes are emulated as disk files containing both data records and metadata markers; the format is fully described in the paper \'93\loch\f1 \hich\f1 -SIMH Magtape Representation and Handling\'94\loch\f1 . SIMH provides a support\hich\af1\dbch\af31505\loch\f1 i\hich\af1\dbch\af31505\loch\f1 -ng library, sim_tape.c (and its header file, sim_tape.h), that abstracts handling of magnetic tapes. This allows support for multiple tape formats, without change to magnetic device simulators. +\par \hich\af1\dbch\af31505\loch\f1 SIMH supports the use of emulated magnetic tapes. Magnetic tapes are emulated as disk\hich\af1\dbch\af31505\loch\f1 \hich\f1 + files containing both data records and metadata markers; the format is fully described in the paper \'93\loch\f1 \hich\f1 SIMH Magtape Representation and Handling\'94\loch\f1 +. SIMH provides a supporting library, sim_tape.c (and its header file, sim_tape.h), that abstracts handling of \hich\af1\dbch\af31505\loch\f1 m\hich\af1\dbch\af31505\loch\f1 +agnetic tapes. This allows support for multiple tape formats, without change to magnetic device simulators. \par -\par \hich\af1\dbch\af31505\loch\f1 The magtape library does not require any special data struct\hich\af1\dbch\af31505\loch\f1 ures. However, it does define some additional unit flags: +\par \hich\af1\dbch\af31505\loch\f1 The magtape library does not require any special data structures. However, it does define some additional unit flags: \par -\par \tab \hich\af1\dbch\af31505\loch\f1 MTUF_WLK\tab \tab unit is write locked +\par \tab \hich\af1\dbch\af31505\loch\f1 MTUF_WLK\tab \tab unit is write l\hich\af1\dbch\af31505\loch\f1 ocked \par -\par \hich\af1\dbch\af31505\loch\f1 If magtape simulators need to define private unit flags, those flags should begin at bit number MTUF_V_UF instead of UNIT_V_UF. The magtape library maintains the \hich\af1\dbch\af31505\loch\f1 -current magtape position in the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 pos}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 field of the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 -\b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 UNIT}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 structure. +\par \hich\af1\dbch\af31505\loch\f1 If magtape simulators need to define private unit flags, those flags should begin at bit number MTUF_V_UF instead of UNIT_V_UF. The magtape library maintains the current magtape position in the }{\rtlch\fcs1 \ab\af1 +\ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 pos}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 field of the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 UNIT}{ +\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 structure. \par -\par \hich\af1\dbch\af31505\loch\f1 Library sim_tape.c provides the following routines to support emulated magnetic tapes: +\par \hich\af1\dbch\af31505\loch\f1 Library sim_tape.c p\hich\af1\dbch\af31505\loch\f1 rovides the following routines to support emulated magnetic tapes: \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_attach}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr, char *cptr) \hich\f1 \endash \loch\f1 Attach tape unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 to file }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . Tape -\par \hich\af1\dbch\af31505\loch\f1 Simulator\hich\af1\dbch\af31505\loch\f1 s should call this routine, rather than the standard attach_unit routine, to allow for future expansion of format support. +\par \hich\af1\dbch\af31505\loch\f1 Simulators should call this routine, rather than the standard attach_unit routine, to allow for\hich\af1\dbch\af31505\loch\f1 future expansion of format support. \par \par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_detach}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr) \hich\f1 \endash \loch\f1 Detach tape unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 from its current file. \par -\par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_set_fmt}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr, int32 val, -\hich\af1\dbch\af31505\loch\f1 char *cptr, void *desc) \hich\f1 \endash \loch\f1 Set the tape format for unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 to the format specified by string }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . +\par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_set_fmt}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 + (UNIT *uptr, int32 val, char *cptr, void *desc) \hich\f1 \endash \loch\f1 Set the tape format for unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 to the format specified by\hich\af1\dbch\af31505\loch\f1 string }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . \par \par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_show_fmt}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (FILE *st, UNIT *uptr, int32 val, void *desc) \hich\f1 \endash \loch\f1 Write the tape format for unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 to the file specified by descriptor }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 st}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . \par -\par \hich\af1\dbch\af31505\loch\f1 t_sta\hich\af1\dbch\af31505\loch\f1 t }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_set_capac}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - (UNIT *uptr, int32 val, char *cptr, void *desc) \hich\f1 \endash \loch\f1 Set the tape capacity for unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 to the capacity, in MB, specified by string }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . +\par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_set_capac}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 + (UNIT *uptr, int32 val, char *cptr, void *desc) \hich\f1 \endash \loch\f1 Set the tape ca\hich\af1\dbch\af31505\loch\f1 pacity for unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 +\ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 to the capacity, in MB, specified by string }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . \par \par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_show_capac}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - (FILE *st, UNIT *uptr, int32 val, void *desc) \hich\f1 \endash \hich\af1\dbch\af31505\loch\f1 Write the capacity for unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 to the file specified by descriptor }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 st}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . + (FILE *st, UNIT *uptr, int32 val, void *desc) \hich\f1 \endash \loch\f1 Write the capacity for unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 +\hich\af1\dbch\af31505\loch\f1 to the file specified by descriptor }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 st}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . \par }\pard\plain \ltrpar\s21\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 -\par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_rdrecf}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - (UNIT *uptr, uint8 *buf, t_mtrlnt *tbc, t_mtrlnt max) \hich\f1 \endash \loch\f1 Forward read the next record on unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 into buffer }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 buf}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 of size }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 -\i\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 max}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . Return the actual record size \hich\af1\dbch\af31505\loch\f1 in }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid4550150 +\par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_rdrecf}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr, +\hich\af1\dbch\af31505\loch\f1 uint8 *buf, t_mtrlnt *tbc, t_mtrlnt max) \hich\f1 \endash \loch\f1 Forward read the next record on unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 +\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 into buffer }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 buf}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 of size }{\rtlch\fcs1 \ai\af1 +\ltrch\fcs0 \i\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 max}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . Return the actual record size in }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tbc}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid4550150 . \par }\pard\plain \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_rdrecr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - (UNIT *uptr, uint8 *buf, t_mtrlnt *tbc, t_mtrlnt max) \hich\f1 \endash \loch\f1 Reverse read the next record on unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 -\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 into buffer }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 buf}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 of size }{ -\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 max}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . Return the actual record size in }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 -\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tbc}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . Note that the record is returned in forward order, that i\hich\af1\dbch\af31505\loch\f1 -s, byte 0 of the record is stored in buf[0], and so on. + (UNIT *uptr, uint8 *buf, t_mtrlnt *tbc, t_mtrlnt max) \hich\f1 \endash \loch\f1 Reverse read the next \hich\af1\dbch\af31505\loch\f1 record on unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 +\af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 into buffer }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 buf}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 + of size }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 max}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . Return the actual record size in }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 +\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tbc}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . Note that the record is returned in forward order, that is, byte 0 of the record is stored in buf[0], and so on. + \par \par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_wrrecf}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr, uint8 buf, t_mtrlnt tbc) \hich\f1 \endash \loch\f1 Write buffer }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 @@ -3077,60 +3065,61 @@ s, byte 0 of the record is stored in buf[0], and so on. \hich\f1 \endash \loch\f1 Space unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 forward one record. The size of the record is returned in }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tbc}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . \par -\par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_sprecr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr, t_mtrlnt *tbc) -\hich\f1 \endash \loch\f1 Space unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +\par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_s\hich\af1\dbch\af31505\loch\f1 precr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 + (UNIT *uptr, t_mtrlnt *tbc) \hich\f1 \endash \loch\f1 Space unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 reverse one record. The size of the record is returned in tbc. \par \par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_wrtmk}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr) \hich\f1 \endash -\loch\f1 Write a tape mark o\hich\af1\dbch\af31505\loch\f1 n unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . +\loch\f1 Write a tape mark on unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 . \par \par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_wreom}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr) \hich\f1 \endash -\loch\f1 Write an end-of-medium marker on unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +\loch\f1 Write an end-of-medium marker on\hich\af1\dbch\af31505\loch\f1 unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (this effectively erases the rest of the tape). \par \par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_wrgap}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr, uint32 gaplen, uint32 bpi) \hich\f1 \endash \loch\f1 Write an erase gap on unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 of }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 gaplen}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 tenths \hich\af1\dbch\af31505\loch\f1 -of an inch in length at a tape density of }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 bpi}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 bits per inch. +\hich\af1\dbch\af31505\loch\f1 of }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 gaplen}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 + tenths of an inch in length at a tape density of }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 bpi}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 bits per inch. \par -\par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_rewind}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr) \hich\f1 \endash -\loch\f1 Rewind unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 +\par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_rewin\hich\af1\dbch\af31505\loch\f1 d}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 + (UNIT *uptr) \hich\f1 \endash \loch\f1 Rewind unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . This operation succeeds whether or not the unit is attached to a file. \par \par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_reset}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr) \hich\f1 \endash -\loch\f1 Reset unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . This routi\hich\af1\dbch\af31505\loch\f1 -ne should be called when a tape unit is reset. +\loch\f1 Reset unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . This routine should be called when a tape unit is reset. + \par \par \hich\af1\dbch\af31505\loch\f1 t_bool }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_bot}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr) \hich\f1 \endash -\loch\f1 Return TRUE if unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 is at beginning-of-tape. +\loch\f1 \hich\af1\dbch\af31505\loch\f1 Return TRUE if unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 + is at beginning-of-tape. \par \par \hich\af1\dbch\af31505\loch\f1 t_bool }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape wrp}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr) \hich\f1 \endash \loch\f1 Return TRUE if unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 is write-protected. \par \par \hich\af1\dbch\af31505\loch\f1 t_bool }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_eot}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr) \hich\f1 \endash -\hich\af1\dbch\af31505\loch\f1 Return TRUE if unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 - has exceed the capacity specified of the specified unit (kept in uptr->capac). +\loch\f1 Return TRUE if unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 + has exceed the capacity specified of the specified unit (kept in\hich\af1\dbch\af31505\loch\f1 uptr->capac). \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Sim_tape_attach}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 , }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_detach, sim_tape_set_fmt,}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_show_fmt, sim_tape_set_capac}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 , and }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_show_capac}{\rtlch\fcs1 \af1 -\ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 return standard SCP status codes; t\hich\af1\dbch\af31505\loch\f1 -he other magtape library routines return return private codes for success and failure. The currently defined magtape status codes are: +\ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 return standard SCP status codes; the other magtape library routines return return private codes for success and failure. Th\hich\af1\dbch\af31505\loch\f1 +e currently defined magtape status codes are: \par \par \tab \hich\af1\dbch\af31505\loch\f1 MTSE_OK\tab \tab operation successful \par \tab \hich\af1\dbch\af31505\loch\f1 MTSE_UNATT\tab \tab unit is not attached to a file -\par \tab \hich\af1\dbch\af31505\loch\f1 MTSE_FMT\tab \tab unit specifies an unsupported tap\hich\af1\dbch\af31505\loch\f1 e file format +\par \tab \hich\af1\dbch\af31505\loch\f1 MTSE_FMT\tab \tab unit specifies an unsupported tape file format \par \tab \hich\af1\dbch\af31505\loch\f1 MTSE_IOERR\tab \tab host operating system I/O error during operation -\par \tab \hich\af1\dbch\af31505\loch\f1 MTSE_INVRL\tab \tab invalid record length (exceeds maximum allowed) +\par \tab \hich\af1\dbch\af31505\loch\f1 MTSE_INVRL\tab \tab \hich\af1\dbch\af31505\loch\f1 invalid record length (exceeds maximum allowed) \par \tab \hich\af1\dbch\af31505\loch\f1 MTSE_RECE\tab \tab record header contains error flag \par \tab \hich\af1\dbch\af31505\loch\f1 MTSE_TMK\tab \tab tape mark encountered -\par \tab \hich\af1\dbch\af31505\loch\f1 MTSE_BOT\tab \tab \hich\af1\dbch\af31505\loch\f1 beginning of tape encountered during reverse operation +\par \tab \hich\af1\dbch\af31505\loch\f1 MTSE_BOT\tab \tab beginning of tape encountered during reverse operation \par \tab \hich\af1\dbch\af31505\loch\f1 MTSE_EOM\tab \tab end of medium encountered -\par \tab \hich\af1\dbch\af31505\loch\f1 MTSE_WRP\tab \tab write protected unit during write operation +\par \tab \hich\af1\dbch\af31505\loch\f1 MTSE_WRP\tab \tab write protected\hich\af1\dbch\af31505\loch\f1 unit during write operation \par \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Sim_tape_set_fmt,}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_tape_show_fmt, sim_tape_set_capac, }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 and }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 -sim_tape_show_capac}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 should be referenced by an \hich\af1\dbch\af31505\loch\f1 entry in the tape device\hich\f1 \rquote \loch\f1 s modifier list, as follows: +sim_tape_show_capac}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 should be referenced by an entry in the tape device\hich\f1 \rquote \loch\f1 s modifier list, as follows: \par \par }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \tab \hich\af2\dbch\af31505\loch\f2 MTAB tape_mod[] = \{ \par }\pard \ltrpar\ql \fi720\li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \{\hich\af2\dbch\af31505\loch\f2 \hich\f2 MTAB_XTD|MTAB_VDV, 0, \'93\loch\f2 \hich\f2 FORMAT\'94\loch\f2 @@ -3138,25 +3127,24 @@ sim_tape_show_capac}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\d \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \tab \hich\af2\dbch\af31505\loch\f2 \tab &sim_tape_set_fmt, &sim_tape_show_fmt, NULL \}, \par }\pard \ltrpar\ql \fi720\li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \{\hich\af2\dbch\af31505\loch\f2 \hich\f2 MTAB_XTD|MTAB_VUN, 0, \'93\loch\f2 \hich\f2 CAPACITY\'94\loch\f2 \hich\f2 , \'93\loch\f2 \hich\f2 CAPACITY\'94, -\par }\pard \ltrpar\ql \li1440\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin1440\itap0 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \hich\af2\dbch\af31505\loch\f2 &sim_tape_set_capac, &sim_tape_sh\hich\af2\dbch\af31505\loch\f2 ow_capac, NULL \} -\hich\f2 , \'85 +\par }\pard \ltrpar\ql \li1440\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin1440\itap0 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \hich\af2\dbch\af31505\loch\f2 &sim_tape_set_capac, &sim_tape_show_capac, NULL \}\hich\f2 , \'85 \par }\pard \ltrpar\ql \fi720\li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid4550150 \}\hich\af2\dbch\af31505\loch\f2 ; -\par {\*\bkmkstart _Toc357054135}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 6.4\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248240}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 6.4\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx390\wrapdefault\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin390\itap0\pararsid9973523 \rtlch\fcs1 \ab\ai\af1\afs24\alang1025 \ltrch\fcs0 \b\i\fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 { -\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9973523 \hich\af1\dbch\af31505\loch\f1 Disk Emulation Library{\*\bkmkend _Toc357054135} +\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9973523 \hich\af1\dbch\af31505\loch\f1 Disk Emulation Library{\*\bkmkend _Toc385248240} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid9973523 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9973523 -\par \hich\af1\dbch\af31505\loch\f1 \hich\f1 SIMH supports the use of disk drives. Disk drives as disk files containing both data records and metadata markers; the format is fully described in the paper \'93\loch\f1 SIMH Magtape Repres -\hich\af1\dbch\af31505\loch\f1 \hich\f1 entation and Handling\'94\loch\f1 -. SIMH provides a supporting library, sim_disk.c (and its header file, sim_disk.h), that abstracts handling of disk drives tapes. This allows support for disk formats, without change to magnetic device simulators. +\par \hich\af1\dbch\af31505\loch\f1 SIMH supports the use of disk drives. Di\hich\af1\dbch\af31505\loch\f1 \hich\f1 sk drives as disk files containing both data records and metadata markers; the format is fully described in the paper \'93\loch\f1 \hich\f1 +SIMH Magtape Representation and Handling\'94\loch\f1 . SIMH provides a supporting library, sim_disk.c (and its header file, sim_disk.h), that abstr\hich\af1\dbch\af31505\loch\f1 a\hich\af1\dbch\af31505\loch\f1 +cts handling of disk drives tapes. This allows support for disk formats, without change to magnetic device simulators. \par -\par \hich\af1\dbch\af31505\loch\f1 The disk library \hich\af1\dbch\af31505\loch\f1 does not require any special data structures. However, it does define some additional unit flags: +\par \hich\af1\dbch\af31505\loch\f1 The disk library does not require any special data structures. However, it does define some additional unit flags: \par -\par \tab \hich\af1\dbch\af31505\loch\f1 DKUF_WLK\tab \tab unit is write locked +\par \tab \hich\af1\dbch\af31505\loch\f1 DKUF_WLK\tab \tab unit is\hich\af1\dbch\af31505\loch\f1 write locked \par -\par \hich\af1\dbch\af31505\loch\f1 If magtape simulators need to define private unit flags, those flags should begin at bit number DKUF_V_UF instead of UNIT_V\hich\af1\dbch\af31505\loch\f1 _UF. The disk library maintains the current magtape position in the } -{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 pos}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 field of the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid9973523 -\hich\af1\dbch\af31505\loch\f1 UNIT}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 structure. +\par \hich\af1\dbch\af31505\loch\f1 If magtape simulators need to define private unit flags, those flags should begin at bit number DKUF_V_UF instead of UNIT_V_UF. The disk library maintains the current magtape position in the }{\rtlch\fcs1 \ab\af1 +\ltrch\fcs0 \b\f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 pos}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 field of the }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 UNIT}{ +\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 structure. \par \hich\af1\dbch\af31505\loch\f1 Library sim_tape.c provides the following routines to support emulated magnetic tapes: \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid11167734 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid9973523 @@ -3183,8 +3171,8 @@ al, void *desc) \hich\f1 \endash \loch\f1 Write the disk}{\rtlch\fcs1 \af1 \ltr \par \par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid11167734 \hich\af1\dbch\af31505\loch\f1 sim_disk}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 _set_capac}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr, int32 val, char *}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid11167734 \hich\af1\dbch\af31505\loch\f1 cptr, void *desc) \hich\f1 \endash \loch\f1 Set the disk}{\rtlch\fcs1 \af1 -\ltrch\fcs0 \f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 capacity for unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 - to the capacity, in MB, specified by string }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9973523 . +\ltrch\fcs0 \f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 capacity for un\hich\af1\dbch\af31505\loch\f1 it }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9973523 +\hich\af1\dbch\af31505\loch\f1 to the capacity, in MB, specified by string }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 cptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9973523 . \par \par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid11167734 \hich\af1\dbch\af31505\loch\f1 sim_disk}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 _show_capac}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 (FILE *st, UNIT *uptr, int32 val, void *desc) \hich\f1 \endash \loch\f1 Write the capacity for unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 uptr} @@ -3193,7 +3181,7 @@ al, void *desc) \hich\f1 \endash \loch\f1 Write the disk}{\rtlch\fcs1 \af1 \ltr \par }\pard\plain \ltrpar\s21\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid9973523 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 { \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid9973523 \par }\pard \ltrpar\s21\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid11167734 {\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11167734 \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\insrsid11167734 -\hich\af1\dbch\af31505\loch\f1 sim_disk_rdsect}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11167734 \hich\af1\dbch\af31505\loch\f1 (UNIT *up\hich\af1\dbch\af31505\loch\f1 tr, t_lba lba, uint8 *buf, t_seccnt *sectsread, , t_seccnt *sectstoread) \hich\f1 +\hich\af1\dbch\af31505\loch\f1 sim_disk_rdsect}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11167734 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr, t_lba lba, u\hich\af1\dbch\af31505\loch\f1 int8 *buf, t_seccnt *sectsread, , t_seccnt *sectstoread) \hich\f1 \endash \loch\f1 Read up to sectstoread sectors from sector number lba on unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid11167734 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11167734 \hich\af1\dbch\af31505\loch\f1 into buffer }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid11167734 \hich\af1\dbch\af31505\loch\f1 buf}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11167734 \hich\af1\dbch\af31505\loch\f1 . Return the number of sectors read in }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid11167734 \hich\af1\dbch\af31505\loch\f1 sectsread}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid11167734 . @@ -3219,8 +3207,8 @@ sectsread}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid15957281 \hich\af1\dbch\af31505\ \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid15957281 \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\insrsid15957281 \hich\af1\dbch\af31505\loch\f1 sim_disk_wrsect_a}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid15957281 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr, t_lba lba, uint8 *buf, t_seccnt *sectswritten, , t_seccnt *sectstowrite, DISK_PCALLBACK callback) \hich\f1 \endash \loch\f1 Write sectstowrite sectors from buffer buf to disk sector number lba on unit }{ \rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid15957281 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid15957281 \hich\af1\dbch\af31505\loch\f1 }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid15957281 \hich\af1\dbch\af31505\loch\f1 -asynchronously}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid15957281 \hich\af1\dbch\af31505\loch\f1 . Return the number of sectors written in }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid15957281 \hich\af1\dbch\af31505\loch\f1 sectswritten}{\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid15957281 \hich\af1\dbch\af31505\loch\f1 , and call callback routine on completion. +asynchronously}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid15957281 \hich\af1\dbch\af31505\loch\f1 . Retu\hich\af1\dbch\af31505\loch\f1 rn the number of sectors written in }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid15957281 \hich\af1\dbch\af31505\loch\f1 +sectswritten}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid15957281 \hich\af1\dbch\af31505\loch\f1 , and call callback routine on completion. \par }\pard\plain \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid15957281 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 { \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid15957281 \par }\pard\plain \ltrpar\s21\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid11167734 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 { @@ -3231,26 +3219,26 @@ Unload or detach a disk as needed.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid1116773 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid11167734 \par }\pard\plain \ltrpar\s21\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid15957281 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 { \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid15957281 \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\insrsid15957281 \hich\af1\dbch\af31505\loch\f1 sim_disk_set_asynch}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid15957281 -\hich\af1\dbch\af31505\loch\f1 (UNIT *uptr, int latency) \hich\f1 \endash \loch\f1 Enable asynchronouos operati\hich\af1\dbch\af31505\loch\f1 on for I/O to disk unit uptr. +\hich\af1\dbch\af31505\loch\f1 (UNIT *uptr, int latency) \hich\f1 \endash \loch\f1 Enable asynchronouos operation for \hich\af1\dbch\af31505\loch\f1 I/O to disk unit uptr. \par \par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\insrsid15957281 \hich\af1\dbch\af31505\loch\f1 sim_disk_clr_asynch}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid15957281 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr, int latency) \hich\f1 \endash \loch\f1 Disable asynchronouos operation for I/O to disk unit uptr. \par \par \hich\af1\dbch\af31505\loch\f1 t_stat }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\insrsid15957281 \hich\af1\dbch\af31505\loch\f1 sim_disk_reset}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid15957281 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr) \hich\f1 \endash \loch\f1 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid13897431 \hich\af1\dbch\af31505\loch\f1 Reset unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\insrsid13897431 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid13897431 -\hich\af1\dbch\af31505\loch\f1 . This routine should be called when a tape\hich\af1\dbch\af31505\loch\f1 unit is reset.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid15957281 +\hich\af1\dbch\af31505\loch\f1 . This routine should be called when a tape unit is reset.}{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid15957281 \par \par \hich\af1\dbch\af31505\loch\f1 t_bool }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\insrsid15957281 \hich\af1\dbch\af31505\loch\f1 sim_disk_isavailable }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid15957281 \hich\af1\dbch\af31505\loch\f1 (UNIT *uptr) \hich\f1 \endash \loch\f1 Check to see if disk is available for I/O, return TRUE if so. \par \par \hich\af1\dbch\af31505\loch\f1 t_bool }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\insrsid15957281 \hich\af1\dbch\af31505\loch\f1 sim_disk_isavailable_a }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid15957281 \hich\af1\dbch\af31505\loch\f1 -(UNIT *uptr, DISK_PCALLBACK callback) \hich\f1 \endash \loch\f1 Check to see if disk is available for I/O asynchronously. Retu\hich\af1\dbch\af31505\loch\f1 rn }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid13897431 \hich\af1\dbch\af31505\loch\f1 TRUE}{ -\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid15957281 \hich\af1\dbch\af31505\loch\f1 if so. +(UNIT *uptr, DISK_PCALLBACK callback) \hich\f1 \endash \loch\f1 Check to see if disk is available for I/O asynchronously. Return }{\rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid13897431 \hich\af1\dbch\af31505\loch\f1 TRUE}{\rtlch\fcs1 \af1 \ltrch\fcs0 +\insrsid15957281 \hich\af1\dbch\af31505\loch\f1 if so. \par \par }\pard\plain \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid13897431 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 { -\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15957281 \hich\af0\dbch\af31505\loch\f0 t_}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13897431 \hich\af0\dbch\af31505\loch\f0 bool}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15957281 \hich\af0\dbch\af31505\loch\f0 }{ -\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid15957281 \hich\af0\dbch\af31505\loch\f0 sim_disk_}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid13897431 \hich\af0\dbch\af31505\loch\f0 wrp}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15957281 -\hich\af0\dbch\af31505\loch\f0 (UNIT *uptr) \hich\f0 \endash \loch\f0 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13897431 \hich\af1\dbch\af31505\loch\f1 Return TRUE if unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid13897431 +\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15957281 \hich\af0\dbch\af31505\loch\f0 t\hich\af0\dbch\af31505\loch\f0 _}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid13897431 \hich\af0\dbch\af31505\loch\f0 bool}{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid15957281 +\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid15957281 \hich\af0\dbch\af31505\loch\f0 sim_disk_}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\insrsid13897431 \hich\af0\dbch\af31505\loch\f0 wrp}{\rtlch\fcs1 \af0 \ltrch\fcs0 +\insrsid15957281 \hich\af0\dbch\af31505\loch\f0 (UNIT *uptr) \hich\f0 \endash \loch\f0 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13897431 \hich\af1\dbch\af31505\loch\f1 Return TRUE if unit }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid13897431 \hich\af1\dbch\af31505\loch\f1 uptr}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13897431 \hich\af1\dbch\af31505\loch\f1 is write-protected. \par }\pard\plain \ltrpar\s21\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid15957281 \rtlch\fcs1 \af1\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 { \rtlch\fcs1 \af1 \ltrch\fcs0 \insrsid15957281 @@ -3266,7 +3254,7 @@ _set_capac}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9973523 \hich\af1\dbch\af315 \rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 library routines return return private codes for success and failure. }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13897431 \hich\af1\dbch\af31505\loch\f1 Success status is DKSE_OK and any other value is an error. Errno usually will have the appropriate error code}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 : \par -\par \tab \hich\af1\dbch\af31505\loch\f1 DKSE_OK\tab \tab operat\hich\af1\dbch\af31505\loch\f1 ion successful +\par \tab \hich\af1\dbch\af31505\loch\f1 DKSE_OK\tab \tab operation su\hich\af1\dbch\af31505\loch\f1 ccessful \par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid13897431 \par }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9973523 \par }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid13897431 \hich\af1\dbch\af31505\loch\f1 Sim_disk}{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid9973523 \hich\af1\dbch\af31505\loch\f1 _set_fmt,}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9973523 @@ -3280,7 +3268,7 @@ _set_capac, }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9973523 \hich\af1\dbch\af3 \par }\pard \ltrpar\ql \fi720\li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid9973523 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid9973523 \{\hich\af2\dbch\af31505\loch\f2 \hich\f2 MTAB_XTD|MTAB_VDV, 0, \'93\loch\f2 \hich\f2 FORMAT \'94\loch\f2 \hich\f2 , \'93\loch\f2 \hich\f2 FORMAT\'94, \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid9973523 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid9973523 \tab \hich\af2\dbch\af31505\loch\f2 \tab }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid13897431 -\hich\af2\dbch\af31505\loch\f2 &sim_\hich\af2\dbch\af31505\loch\f2 disk}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid9973523 \hich\af2\dbch\af31505\loch\f2 _set_fmt, &sim_}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid13897431 \hich\af2\dbch\af31505\loch\f2 disk +\hich\af2\dbch\af31505\loch\f2 &sim_disk}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid9973523 \hich\af2\dbch\af31505\loch\f2 _s\hich\af2\dbch\af31505\loch\f2 et_fmt, &sim_}{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid13897431 \hich\af2\dbch\af31505\loch\f2 disk }{\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid9973523 \hich\af2\dbch\af31505\loch\f2 _show_fmt, NULL \}, \par }\pard \ltrpar\ql \fi720\li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid9973523 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid9973523 \{\hich\af2\dbch\af31505\loch\f2 \hich\f2 MTAB_XTD|MTAB_VUN, 0, \'93\loch\f2 \hich\f2 CAPACITY \'94\loch\f2 \hich\f2 , \'93\loch\f2 \hich\f2 CAPACITY\'94, @@ -3289,14 +3277,16 @@ _set_capac, }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9973523 \hich\af1\dbch\af3 \par }\pard \ltrpar\ql \fi720\li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0\pararsid9973523 {\rtlch\fcs1 \af2 \ltrch\fcs0 \f2\insrsid9973523 \}\hich\af2\dbch\af31505\loch\f2 ; \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0\pararsid9973523 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid9973523 -\par {\*\bkmkstart _Toc357054136}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 6.5\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar +\par {\*\bkmkstart _Toc385248241}{\listtext\pard\plain\ltrpar \s2 \rtlch\fcs1 \ab\ai\af0 \ltrch\fcs0 \b\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 6.5\tab}}\pard\plain \ltrpar\s2\ql \fi-390\li390\ri0\sb240\sa60\keepn\widctlpar \jclisttab\tx390\wrapdefault\faauto\ls1\ilvl1\outlinelevel1\adjustright\rin0\lin390\itap0 \rtlch\fcs1 \ab\ai\af1\afs24\alang1025 \ltrch\fcs0 \b\i\fs24\lang1033\langfe1033\loch\af1\hich\af1\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 -\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Breakpoint Support{\*\bkmkend _Toc357054136} +\ltrch\fcs0 \insrsid4550150 \hich\af1\dbch\af31505\loch\f1 Breakpoint Support{\*\bkmkend _Toc385248241} \par }\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 SCP provides underlying mechanisms to track multiple brea\hich\af1\dbch\af31505\loch\f1 kpoints of different types. Most VM\hich\f1 \rquote \loch\f1 -s implement at least instruction execution breakpoints (type E); but a VM might also allow for break on read (type R), write (type W), and so on. Up to 26 different breakpoint types, identified by the letters A throug\hich\af1\dbch\af31505\loch\f1 h -\hich\af1\dbch\af31505\loch\f1 Z, are supported. +s implement at least instruction execution breakpoints (type E); but a VM might also allow for break on read (type R), write (type W), and so on. Up to }{\rtlch\fcs1 \af1 \ltrch\fcs0 +\deleted\f1\revauthdel1\revdttmdel656700073\insrsid4550150\delrsid10947117 \hich\af1\dbch\af31505\loch\f1 26 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700073\insrsid10947117 \hich\af1\dbch\af31505\loch\f1 25 }{\rtlch\fcs1 \af1 +\ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 different breakpoint types, identified by the letters A}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700073\insrsid10947117 \hich\af1\dbch\af31505\loch\f1 ,B and D}{ +\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 through Z, are supported. \par \par \hich\af1\dbch\af31505\loch\f1 The VM interface to the breakpoint package consists of three variables and one subroutine: \par @@ -3306,20 +3296,20 @@ s implement at least instruction execution breakpoints (type E); but a VM might \par }\pard\plain \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 \rtlch\fcs1 \af0\afs20\alang1025 \ltrch\fcs0 \fs20\lang1033\langfe1033\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \tab }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_brk_dflt}{\rtlch\fcs1 \af1 -\ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 \hich\f1 \endash \loch\f1 initialized by\hich\af1\dbch\af31505\loch\f1 the VM to the mask for the default breakpoint type. +\ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 \loch\af1\dbch\af31505\hich\f1 \endash \loch\f1 initialized by the VM to the mask for the default breakpoint type. \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_brk_summ}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 \hich\f1 \endash \loch\f1 maintained by SCP, providing a bit mask summary of whether any breakpoints of a particular type have been defined. \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 If the VM only implements one type of breakpoint, then }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_brk_summ}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 is \hich\af1\dbch\af31505\loch\f1 non-zero if any breakpoints are set. +\hich\af1\dbch\af31505\loch\f1 is non-zero if any breakpoints are set. \par \par \hich\af1\dbch\af31505\loch\f1 To test whether a breakpoint of particular type is set for an address, the VM calls \par \par }\pard \ltrpar\ql \li720\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin720\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 uint32l }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_brk_test}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 (t_addr addr, int32 typ) \hich\f1 \endash \loch\f1 test to see if a breakpoint of type }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 typ}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 is set for location }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 addr}{ -\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ; returns 0 if no, an\hich\af1\dbch\af31505\loch\f1 d a bit mask of all breakpoints that match typ if yes +\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 ; ret\hich\af1\dbch\af31505\loch\f1 urns 0 if no, and a bit mask of all breakpoints that match typ if yes \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 Because }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_brk_test}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 can be a lengthy procedure, it is usually prefaced with a test of }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_brk_summ}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 : @@ -3329,10 +3319,12 @@ s implement at least instruction execution breakpoints (type E); but a VM might \par }\pard \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\faauto\adjustright\rin0\lin0\itap0 {\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \par \hich\af1\dbch\af31505\loch\f1 T\hich\af1\dbch\af31505\loch\f1 o accommodate more complex breakpoint schemes, SCP implements a concept of breakpoint spaces. Each breakpoint space is an orthogonal collection of breakpoints that are tracked independently. For example, in a symmetric multiprocessing simulation, breakp -\hich\af1\dbch\af31505\loch\f1 o\hich\af1\dbch\af31505\loch\f1 -int spaces could be assigned to each CPU to distinguish E (execution) breakpoints for different processors. SCP supports up to 64 breakpoint spaces; the space is specified by bits <31:26> of the }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 \i\f1\insrsid4550150 -\hich\af1\dbch\af31505\loch\f1 typ}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 argument to }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_brk_test}{\rtlch\fcs1 \af1 -\ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . By default, there is only one\hich\af1\dbch\af31505\loch\f1 breakpoint space (space 0). +\hich\af1\dbch\af31505\loch\f1 o\hich\af1\dbch\af31505\loch\f1 int spaces could be assigned to each CPU to distinguish E (execution) breakpoints for different processors. SCP supports up to }{\rtlch\fcs1 \af1 \ltrch\fcs0 +\deleted\f1\revauthdel1\revdttmdel656700072\insrsid4550150\delrsid10947117 \hich\af1\dbch\af31505\loch\f1 64 }{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700072\insrsid10947117 \hich\af1\dbch\af31505\loch\f1 16 }{\rtlch\fcs1 \af1 +\ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 breakpoint spaces; the space is specified by bits <31:}{\rtlch\fcs1 \af1 \ltrch\fcs0 \deleted\f1\revauthdel1\revdttmdel656700072\insrsid4550150\delrsid10947117 \hich\af1\dbch\af31505\loch\f1 26 +}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\cf0\revised\revauth1\revdttm656700072\insrsid10947117 \hich\af1\dbch\af31505\loch\f1 28}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 > of the }{\rtlch\fcs1 \ai\af1 \ltrch\fcs0 +\i\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 typ}{\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 argument to }{\rtlch\fcs1 \ab\af1 \ltrch\fcs0 \b\f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 sim_brk_test}{ +\rtlch\fcs1 \af1 \ltrch\fcs0 \f1\insrsid4550150 \hich\af1\dbch\af31505\loch\f1 . By default, there is onl\hich\af1\dbch\af31505\loch\f1 y one breakpoint space (space 0). \par \par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a 9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad @@ -3440,18 +3432,18 @@ fffffffffffffffffdffffff04000000feffffff05000000fefffffffeffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffff010000000c6ad98892f1d411a65f0040963251e500000000000000000000000040b8 -5c37ba57ce010300000080020000000000004d0073006f004400610074006100530074006f0072006500000000000000000000000000000000000000000000000000000000000000000000000000000000001a000101ffffffffffffffff02000000000000000000000000000000000000000000000040b85c37ba57ce01 -40b85c37ba57ce01000000000000000000000000d600ca003200d2005000c1004d00d4005900c400de00d300cf00cc005200db005600db00dc00d600d50041003d003d000000000000000000000000000000000032000101ffffffffffffffff03000000000000000000000000000000000000000000000040b85c37ba57 -ce0140b85c37ba57ce010000000000000000000000004900740065006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000201ffffffff04000000ffffffff000000000000000000000000000000000000000000000000 +ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffff010000000c6ad98892f1d411a65f0040963251e5000000000000000000000000e088 +ae7f2658cf010300000080020000000000004d0073006f004400610074006100530074006f0072006500000000000000000000000000000000000000000000000000000000000000000000000000000000001a000101ffffffffffffffff020000000000000000000000000000000000000000000000e088ae7f2658cf01 +e088ae7f2658cf010000000000000000000000003200c50035004f00c300cb00d5004a004a00c400de00c0004100350033003400c900c700df00cd00de0041003d003d000000000000000000000000000000000032000101ffffffffffffffff030000000000000000000000000000000000000000000000e088ae7f2658 +cf01e088ae7f2658cf010000000000000000000000004900740065006d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000201ffffffff04000000ffffffff000000000000000000000000000000000000000000000000 00000000000000000000000000000000d800000000000000010000000200000003000000feffffff0500000006000000070000000800000009000000feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3c623a536f75726365732053656c65637465645374796c653d225c4150412e58534c22205374796c654e616d653d224150412220786d6c6e733a623d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f7267 2f6f6666696365446f63756d656e742f323030362f6269626c696f6772617068792220786d6c6e733d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f6269626c696f677261706879223e3c2f623a536f75726365733e00000000 -0000000000000000000000000000000000000000000000000000000000000000000000003c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d226e6f223f3e0d0a3c64733a6461746173746f72654974656d2064733a6974656d49443d227b33453332 -413744412d333431332d344636322d423342452d4334374235374246333644347d2220786d6c6e733a64733d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f637573746f6d586d6c223e3c64733a736368656d61526566733e3c +0000000000000000000000000000000000000000000000000000000000000000000000003c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d226e6f223f3e0d0a3c64733a6461746173746f72654974656d2064733a6974656d49443d227b38454345 +353737322d343942442d344632362d413030312d4637354541363746454446387d2220786d6c6e733a64733d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f6f6666696365446f63756d656e742f323030362f637573746f6d586d6c223e3c64733a736368656d61526566733e3c 64733a736368656d615265662064733a7572693d22687474703a2f2f736368656d61732e6f70656e500072006f007000650072007400690065007300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000200ffffffffffffffffffffffff000000000000 0000000000000000000000000000000000000000000000000000000000000400000055010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000 diff --git a/scp.c b/scp.c index 33f9fe0b..2c7d8a7d 100644 --- a/scp.c +++ b/scp.c @@ -346,6 +346,7 @@ CTAB *sim_vm_cmd = NULL; void (*sim_vm_fprint_addr) (FILE *st, DEVICE *dptr, t_addr addr) = NULL; t_addr (*sim_vm_parse_addr) (DEVICE *dptr, char *cptr, char **tptr) = NULL; t_value (*sim_vm_pc_value) (void) = NULL; +t_bool (*sim_vm_is_subroutine_call) (t_addr **ret_addrs) = NULL; /* Prototypes */ @@ -392,6 +393,7 @@ char *sim_brk_getact (char *buf, int32 size); void sim_brk_clract (void); void sim_brk_npc (uint32 cnt); BRKTAB *sim_brk_new (t_addr loc); +FILE *stdnul; /* Commands support routines */ @@ -764,6 +766,12 @@ static const char simh_help[] = " The STEP command (abbreviated S) resumes execution at the current PC for\n" " the number of instructions given by its argument. If no argument is\n" " supplied, one instruction is executed.\n" +#define HLP_NEXT "*Commands Running_A_Simulated_Program NEXT" + "3NEXT\n" + " The NEXT command (abbreviated N) resumes execution at the current PC for\n" + " one instruction, attempting to execute through a subroutine calls.\n" + " If the next instruction to be executed is not a subroutine call,\n" + " one instruction is executed.\n" #define HLP_BOOT "*Commands Running_A_Simulated_Program BOOT" "3BOOT\n" " The BOOT command (abbreviated BO) resets all devices and bootstraps the\n" @@ -1416,6 +1424,7 @@ static CTAB cmd_table[] = { { "RUN", &run_cmd, RU_RUN, HLP_RUN, NULL, &run_cmd_message }, { "GO", &run_cmd, RU_GO, HLP_GO, NULL, &run_cmd_message }, { "STEP", &run_cmd, RU_STEP, HLP_STEP, NULL, &run_cmd_message }, + { "NEXT", &run_cmd, RU_NEXT, HLP_NEXT, NULL, &run_cmd_message }, { "CONTINUE", &run_cmd, RU_CONT, HLP_CONTINUE, NULL, &run_cmd_message }, { "BOOT", &run_cmd, RU_BOOT, HLP_BOOT, NULL, &run_cmd_message }, { "BREAK", &brk_cmd, SSH_ST, HLP_BREAK }, @@ -1581,6 +1590,7 @@ set_prompt (0, "sim>"); /* start with set standa *cbuf = 0; /* init arg buffer */ sim_switches = 0; /* init switches */ lookswitch = TRUE; +stdnul = fopen(NULL_DEVICE,"wb"); for (i = 1; i < argc; i++) { /* loop thru args */ if (argv[i] == NULL) /* paranoia */ continue; @@ -1731,6 +1741,7 @@ sim_set_notelnet (0, NULL); /* close Telnet */ sim_ttclose (); /* close console */ AIO_CLEANUP; /* Asynch I/O */ sim_cleanup_sock (); /* cleanup sockets */ +fclose (stdnul); /* close bit bucket file handle */ return 0; } @@ -5250,7 +5261,17 @@ else if (flag == RU_STEP) { /* step */ } else sim_step = 1; } +else if (flag == RU_NEXT) { /* next */ + t_addr *addrs; + if ((sim_vm_is_subroutine_call) && sim_vm_is_subroutine_call(&addrs)) { + sim_brk_types |= BRK_TYP_DYN_STEPOVER; + for (i=0; addrs[i]; i++) + sim_brk_set (addrs[i], BRK_TYP_DYN_STEPOVER, 0, NULL); + } + else + sim_step = 1; + } else if (flag == RU_BOOT) { /* boot */ if (*cptr == 0) /* must be more */ return SCPE_2FARG; @@ -5329,6 +5350,7 @@ r = sim_instr(); sim_is_running = 0; /* flag idle */ sim_stop_timer_services (); /* disable wall clock timing */ sim_ttcmd (); /* restore console */ +sim_brk_clrall (BRK_TYP_DYN_STEPOVER); /* cancel any step/over subroutine breakpoints */ signal (SIGINT, SIG_DFL); /* cancel WRU */ #ifdef SIGHUP signal (SIGHUP, SIG_DFL); /* cancel WRU */ @@ -7457,14 +7479,17 @@ if (!bp) /* no, allocate */ bp = sim_brk_new (loc); if (!bp) /* still no? mem err */ return SCPE_MEM; -bp->typ = sw; /* set type */ +if ((sw & BRK_TYP_DYN_ALL) && act) /* can't specify an action with a dynamic breakpoint */ + return SCPE_ARG; +bp->typ |= sw; /* set type */ bp->cnt = ncnt; /* set count */ -if ((bp->act != NULL) && (act != NULL)) { /* replace old action? */ +if ((!(sw & BRK_TYP_DYN_ALL)) && /* Not Dynamic and */ + (bp->act != NULL) && (act != NULL)) { /* replace old action? */ free (bp->act); /* deallocate */ bp->act = NULL; /* now no action */ } if ((act != NULL) && (*act != 0)) { /* new action? */ - char *newp = (char *) calloc (CBUFSIZE, sizeof (char)); /* alloc buf */ + char *newp = (char *) calloc (CBUFSIZE+1, sizeof (char)); /* alloc buf */ if (newp == NULL) /* mem err? */ return SCPE_MEM; strncpy (newp, act, CBUFSIZE); /* copy action */ @@ -7584,7 +7609,10 @@ uint32 sim_brk_test (t_addr loc, uint32 btyp) BRKTAB *bp; uint32 spc = (btyp >> SIM_BKPT_V_SPC) & (SIM_BKPT_N_SPC - 1); -if ((bp = sim_brk_fnd (loc)) && (btyp & bp->typ)) { /* in table, type match? */ +if (sim_brk_summ & BRK_TYP_DYN_ALL) + btyp |= BRK_TYP_DYN_ALL; + +if ((bp = sim_brk_fnd (loc)) && (btyp & bp->typ)) { /* in table, and type match? */ if ((sim_brk_pend[spc] && (loc == sim_brk_ploc[spc])) || /* previous location? */ (--bp->cnt > 0)) /* count > 0? */ return 0; diff --git a/scp.h b/scp.h index 3bb6e473..09cd8d8f 100644 --- a/scp.h +++ b/scp.h @@ -42,8 +42,9 @@ #define RU_RUN 0 /* run */ #define RU_GO 1 /* go */ #define RU_STEP 2 /* step */ -#define RU_CONT 3 /* continue */ -#define RU_BOOT 4 /* boot */ +#define RU_NEXT 3 /* step or step/over */ +#define RU_CONT 4 /* continue */ +#define RU_BOOT 5 /* boot */ /* get_sim_opt parameters */ @@ -133,6 +134,7 @@ REG *find_reg (char *ptr, char **optr, DEVICE *dptr); CTAB *find_ctab (CTAB *tab, char *gbuf); C1TAB *find_c1tab (C1TAB *tab, char *gbuf); SHTAB *find_shtab (SHTAB *tab, char *gbuf); +t_stat get_aval (t_addr addr, DEVICE *dptr, UNIT *uptr); BRKTAB *sim_brk_fnd (t_addr loc); uint32 sim_brk_test (t_addr bloc, uint32 btyp); void sim_brk_clrspc (uint32 spc); @@ -185,10 +187,12 @@ extern struct timespec sim_deb_basetime; /* debug base time for r extern UNIT *sim_clock_queue; extern int32 sim_is_running; extern char *sim_prompt; /* prompt string */ +extern t_value *sim_eval; extern volatile int32 stop_cpu; extern uint32 sim_brk_types; /* breakpoint info */ extern uint32 sim_brk_dflt; extern uint32 sim_brk_summ; +extern FILE *stdnul; extern t_bool sim_asynch_enabled; /* VM interface */ @@ -215,6 +219,7 @@ extern CTAB *sim_vm_cmd; extern void (*sim_vm_fprint_addr) (FILE *st, DEVICE *dptr, t_addr addr); extern t_addr (*sim_vm_parse_addr) (DEVICE *dptr, char *cptr, char **tptr); extern t_value (*sim_vm_pc_value) (void); +extern t_bool (*sim_vm_is_subroutine_call) (t_addr **ret_addrs); #endif diff --git a/sim_defs.h b/sim_defs.h index bbcf5373..b348724a 100644 --- a/sim_defs.h +++ b/sim_defs.h @@ -223,6 +223,14 @@ typedef uint32 t_addr; #define HAVE_C99_STRFTIME 1 #endif +#if defined (_WIN32) +#define NULL_DEVICE "NUL:" +#elif defined (_VMS) +#define NULL_DEVICE "NL:" +#else +#define NULL_DEVICE "/dev/null" +#endif + /* Stubs for inlining */ #define SIM_INLINE @@ -241,8 +249,8 @@ typedef uint32 t_addr; /* Breakpoint spaces definitions */ -#define SIM_BKPT_N_SPC 64 /* max number spaces */ -#define SIM_BKPT_V_SPC 26 /* location in arg */ +#define SIM_BKPT_N_SPC 16 /* max number spaces */ +#define SIM_BKPT_V_SPC 28 /* location in arg */ /* Extended switch definitions (bits >= 26) */ @@ -616,7 +624,10 @@ struct sim_schtab { struct sim_brktab { t_addr addr; /* address */ - int32 typ; /* mask of types */ + uint32 typ; /* mask of types */ +#define BRK_TYP_DYN_STEPOVER (SWMASK ('Z'+1)) +#define BRK_TYP_DYN_USR (SWMASK ('Z'+2)) +#define BRK_TYP_DYN_ALL (BRK_TYP_DYN_USR|BRK_TYP_DYN_STEPOVER) /* Mask of All Dynamic types */ int32 cnt; /* proceed count */ char *act; /* action string */ };