Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 1 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 /***************************************************************************** 2 /* 3 Support.c 4 5 Miscellaneous support functions for HTTPd. 6 7 8 VERSION HISTORY 9 --------------- 10 07-AUG-2023 MGD bugfix; TimeSansYear() strzcpy(Buffer,"(none)",16); 11 12-APR-2023 MGD AverageDurationString() use lib$mults_delta_time() 12 18-AUG-2022 MGD TimeUnix32ToVms64() 13 12-JUL-2021 MGD rework UTC/GMT processing 14 GenerateUniqueId() algorithm changed 15 bugfix; HttpIsoTime() timezone parsing 16 06-MAR-2021 MGD HttpGetTime() 17 14-NOV-2020 MGD migrate from ulong[2] to int64 for 64 bit quantities 18 26-JUL-2018 MGD SysTrnLnm() moved from dyanamic to static return 19 23-DEC-2017 MGD HttpIsoTimeString() 20 30-OCT-2017 MGD ThisLongAgo() 21 04-MAY-2017 MGD HtmlMetaInfo() MS Edge Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 3 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1029 #include 1199 #include 2281 #include 4417 #include 4890 4891 /* VMS related header files */ 4892 #include 5958 #include 6372 #include 7154 #include 8391 #include 8549 #include 8626 #include 8771 #include 10268 #include 10612 #include 10736 #include 18573 #include 22937 #include 23233 23234 /* lib$cvts_from_internal_time() does not exist with V7.3-2 or earlier */ 23235 #include 23480 #include 23585 #define CVT$K_VAX_F 0 23586 #define CVT$K_IEEE_S 4 23587 23588 /* application related header files */ 23589 #include "wasd.h" 70934 70935 #define WASD_MODULE "SUPPORT" 70936 70937 /******************/ 70938 /* global storage */ 70939 /******************/ 70940 70941 #define RFC_1123_DATE yup 70942 70943 const int64 DeltaOneDay = DELTA64_ONE_DAY, 70944 DeltaOneHour = DELTA64_ONE_HR, 70945 Delta01Sec = DELTA64_ONE_SEC, 70946 Delta02Sec = DELTA64_TWO_SEC, 70947 Delta05Sec = DELTA64_FIVE_SEC, 70948 Delta10Sec = DELTA64_TEN_SEC, 70949 Delta30Sec = DELTA64_THIRTY_SEC, 70950 Delta60Sec = DELTA64_ONE_MIN, 70951 Delta001mSec = DELTA64_ONE_MSEC, 70952 Delta010mSec = DELTA64_TEN_MSEC, 70953 Delta100mSec = DELTA64_HUN_MSEC, 70954 Delta001uSec = DELTA64_ONE_USEC, 70955 Delta010uSec = DELTA64_TEN_USEC, 70956 Delta100uSec = DELTA64_HUN_USEC; 70957 70958 int64 TimeUtcDelta64; 70959 70960 BOOL TimeAheadOfGmt; 70961 70962 char TimeGmtString [16], Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 4 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 70963 TimeZoneString [16]; 70964 70965 char *DayName [] = 70966 { "", "Monday", "Tuesday", "Wednesday", 70967 "Thursday", "Friday", "Saturday", "Sunday" }; 70968 70969 char *MonthName [] = 70970 { "", "January", "February", "March", "April", "May", "June", 70971 "July", "August", "September", "October", "November", "December" }; 70972 70973 int ToUpperCase [] = 70974 { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 70975 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 70976 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 70977 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 70978 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 70979 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 70980 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 70981 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127, 70982 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, 70983 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, 70984 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, 70985 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191, 70986 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207, 70987 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, 70988 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, 70989 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255 70990 }; 70991 70992 int ToLowerCase [] = 70993 { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 70994 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 70995 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 70996 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 70997 64, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111, 70998 112,113,114,115,116,117,118,119,120,121,122, 91, 92, 93, 94, 95, 70999 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111, 71000 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127, 71001 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, 71002 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, 71003 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, 71004 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191, 71005 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207, 71006 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, 71007 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, 71008 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255 71009 }; 71010 71011 /********************/ 71012 /* external storage */ 71013 /********************/ 71014 71015 extern BOOL AccountingZeroOnStartup, 71016 CliSoftwareID, 71017 MonitorEnabled; 71018 71019 extern int CharsetCount, Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 5 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 71020 EfnWait, 71021 ServerPort; 71022 71023 extern ulong SysPrvMask[]; 71024 71025 extern char ErrorSanityCheck[], 71026 HttpdName[], 71027 HttpdVersion[], 71028 ServerHostName[], 71029 SoftwareID[]; 71030 71031 extern ACCOUNTING_STRUCT *AccountingPtr; 71032 extern CONFIG_STRUCT Config; 71033 extern HTTPD_GBLSEC *HttpdGblSecPtr; 71034 extern HTTPD_PROCESS HttpdProcess; 71035 extern MSG_STRUCT Msgs; 71036 extern WATCH_STRUCT Watch; 71037 71038 /*****************************************************************************/ 71039 /* 71040 Declare an AST, exit if there is any problem ... must have our ASTs! 71041 */ 71042 71043 void SysDclAst 71044 ( 71045 void *Address, 71046 ulong Parameter 71047 ) 1 71048 { 1 71049 int status; 1 71050 1 71051 /*********/ 1 71052 /* begin */ 1 71053 /*********/ 1 71054 1 71055 if (0 && WATCH_MODULE(WATCH_MOD__OTHER)) 1 71056 WatchThis (WATCHALL, WATCH_MOD__OTHER, 1 71057 "SysDclAst() !&A(!&X)", Address, Parameter); 1 71058 1 71059 status = sys$dclast (Address, Parameter, 0); 1 71060 if (VMSok (status)) return; 1 71061 1 71062 if (status == SS$_EXQUOTA) 2 71063 { 2 71064 /* no ASTs means not much of anything else can happen so just exit! */ 2 71065 sys$canexh(0); 2 71066 /* make the message a little more meaningful */ 2 71067 sys$exit (SS$_EXASTLM); 1 71068 } 1 71069 else 1 71070 ErrorExitVmsStatus (status, "sys$dclast()", FI_LI); 1 71071 } 71072 71073 /*****************************************************************************/ 71074 /* 71075 Generic list handling function. Add entry to head of list. 71076 */ Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 6 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 71077 71078 LIST_ENTRY* ListAddHead 71079 ( 71080 LIST_HEAD *lptr, 71081 LIST_ENTRY *eptr, 71082 ulong DataType 71083 ) 1 71084 { 1 71085 /*********/ 1 71086 /* begin */ 1 71087 /*********/ 1 71088 1 71089 if (!lptr->HeadPtr) 2 71090 { 2 71091 /* empty list */ 2 71092 lptr->HeadPtr = lptr->TailPtr = eptr; 2 71093 eptr->PrevPtr = eptr->NextPtr = NULL; 2 71094 if (DataType) eptr->DataType = DataType; 2 71095 lptr->EntryCount++; 2 71096 return (eptr); 1 71097 } 1 71098 else 2 71099 { 2 71100 /* non-empty list */ 2 71101 eptr->PrevPtr = NULL; 2 71102 eptr->NextPtr = lptr->HeadPtr; 2 71103 eptr->NextPtr->PrevPtr = lptr->HeadPtr = eptr; 2 71104 if (DataType) eptr->DataType = DataType; 2 71105 lptr->EntryCount++; 2 71106 return (eptr); 1 71107 } 1 71108 } 71109 71110 /*****************************************************************************/ 71111 /* 71112 Generic list handling function. Add entry to tail of list. 71113 */ 71114 71115 LIST_ENTRY* ListAddTail 71116 ( 71117 LIST_HEAD *lptr, 71118 LIST_ENTRY *eptr, 71119 ulong DataType 71120 ) 1 71121 { 1 71122 /*********/ 1 71123 /* begin */ 1 71124 /*********/ 1 71125 1 71126 if (!lptr->HeadPtr) 2 71127 { 2 71128 /* empty list */ 2 71129 lptr->HeadPtr = lptr->TailPtr = eptr; 2 71130 eptr->PrevPtr = eptr->NextPtr = NULL; 2 71131 if (DataType) eptr->DataType = DataType; 2 71132 lptr->EntryCount++; 2 71133 return (eptr); Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 7 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 71134 } 1 71135 else 2 71136 { 2 71137 /* non-empty list */ 2 71138 eptr->NextPtr = NULL; 2 71139 eptr->PrevPtr = lptr->TailPtr; 2 71140 eptr->PrevPtr->NextPtr = lptr->TailPtr = eptr; 2 71141 if (DataType) eptr->DataType = DataType; 2 71142 lptr->EntryCount++; 2 71143 return (eptr); 1 71144 } 1 71145 } 71146 71147 /*****************************************************************************/ 71148 /* 71149 Generic list handling function. Add entry 2 "in front of" entry 1. 71150 */ 71151 71152 LIST_ENTRY* ListAddBefore 71153 ( 71154 LIST_HEAD *lptr, 71155 LIST_ENTRY *e1ptr, 71156 LIST_ENTRY *e2ptr, 71157 ulong DataType 71158 ) 1 71159 { 1 71160 /*********/ 1 71161 /* begin */ 1 71162 /*********/ 1 71163 1 71164 if (lptr->HeadPtr == e1ptr) 2 71165 { 2 71166 /* at head of list */ 2 71167 e1ptr->PrevPtr = e2ptr; 2 71168 e2ptr->PrevPtr = NULL; 2 71169 e2ptr->NextPtr = e1ptr; 2 71170 lptr->HeadPtr = e2ptr; 2 71171 if (DataType) e2ptr->DataType = DataType; 2 71172 lptr->EntryCount++; 2 71173 return (e2ptr); 1 71174 } 1 71175 else 2 71176 { 2 71177 /* not at head of list */ 2 71178 if (e1ptr->PrevPtr) 3 71179 { 3 71180 e2ptr->PrevPtr = e1ptr->PrevPtr; 3 71181 e2ptr->PrevPtr->NextPtr = e2ptr; 2 71182 } 2 71183 e1ptr->PrevPtr = e2ptr; 2 71184 e2ptr->NextPtr = e1ptr; 2 71185 if (DataType) e2ptr->DataType = DataType; 2 71186 lptr->EntryCount++; 2 71187 return (e2ptr); 1 71188 } 1 71189 } 71190 Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 8 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 71191 /*****************************************************************************/ 71192 /* 71193 Generic list handling function. Remove entry from list. Check first that 71194 entry looks legitimate, return NULL if not! 71195 */ 71196 71197 LIST_ENTRY* ListRemove 71198 ( 71199 LIST_HEAD *lptr, 71200 LIST_ENTRY *eptr 71201 ) 1 71202 { 1 71203 /*********/ 1 71204 /* begin */ 1 71205 /*********/ 1 71206 1 71207 if (!eptr->PrevPtr) 2 71208 { 2 71209 /* at head of list */ 2 71210 if (!eptr->NextPtr) 3 71211 { 3 71212 /* only entry in list */ 3 71213 if (lptr->HeadPtr != eptr || lptr->TailPtr != eptr) return (NULL); 3 71214 lptr->HeadPtr = lptr->TailPtr = NULL; 3 71215 if (lptr->EntryCount) lptr->EntryCount--; 3 71216 return (eptr); 2 71217 } 2 71218 else 3 71219 { 3 71220 /* remove from head of list */ 3 71221 if (lptr->HeadPtr != eptr) return (NULL); 3 71222 eptr->NextPtr->PrevPtr = NULL; 3 71223 lptr->HeadPtr = eptr->NextPtr; 3 71224 if (lptr->EntryCount) lptr->EntryCount--; 3 71225 return (eptr); 2 71226 } 1 71227 } 1 71228 else 2 71229 { 2 71230 /* not at head of list */ 2 71231 if (!eptr->NextPtr) 3 71232 { 3 71233 /* at tail of list */ 3 71234 if (lptr->TailPtr != eptr) return (NULL); 3 71235 eptr->PrevPtr->NextPtr = NULL; 3 71236 lptr->TailPtr = eptr->PrevPtr; 3 71237 if (lptr->EntryCount) lptr->EntryCount--; 3 71238 return (eptr); 2 71239 } 2 71240 else 3 71241 { 3 71242 /* somewhere in the middle! */ 3 71243 if (eptr->PrevPtr->NextPtr != eptr || 3 71244 eptr->NextPtr->PrevPtr != eptr) return (NULL); 3 71245 eptr->PrevPtr->NextPtr = eptr->NextPtr; 3 71246 eptr->NextPtr->PrevPtr = eptr->PrevPtr; 3 71247 if (lptr->EntryCount) lptr->EntryCount--; Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 9 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 3 71248 return (eptr); 2 71249 } 1 71250 } 1 71251 } 71252 71253 /*****************************************************************************/ 71254 /* 71255 Generic list handling function. If not already there move it to the head. 71256 */ 71257 71258 #ifdef __DECC 71259 #pragma inline(ListMoveHead) 71260 #endif 71261 71262 LIST_ENTRY* ListMoveHead 71263 ( 71264 LIST_HEAD *lptr, 71265 LIST_ENTRY *eptr 71266 ) 1 71267 { 1 71268 /*********/ 1 71269 /* begin */ 1 71270 /*********/ 1 71271 1 71272 /* move entry to the head of the cache list */ 1 71273 if (lptr->HeadPtr != eptr) 2 71274 { 2 71275 ListRemove (lptr, eptr); 2 71276 ListAddHead (lptr, eptr, 0); 1 71277 } 1 71278 1 71279 return (eptr); 1 71280 } 71281 71282 /*****************************************************************************/ 71283 /* 71284 Generic list handling function. If not already there move it to the tail. 71285 */ 71286 71287 #ifdef __DECC 71288 #pragma inline(ListMoveTail) 71289 #endif 71290 71291 LIST_ENTRY* ListMoveTail 71292 ( 71293 LIST_HEAD *lptr, 71294 LIST_ENTRY *eptr 71295 ) 1 71296 { 1 71297 /*********/ 1 71298 /* begin */ 1 71299 /*********/ 1 71300 1 71301 /* move entry to the head of the cache list */ 1 71302 if (lptr->TailPtr != eptr) 2 71303 { 2 71304 ListRemove (lptr, eptr); Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 10 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 2 71305 ListAddTail (lptr, eptr, 0); 1 71306 } 1 71307 1 71308 return (eptr); 1 71309 } 71310 71311 /*****************************************************************************/ 71312 /* 71313 Generic list handling function. Remove the head entry. 71314 */ 71315 71316 #ifdef __DECC 71317 #pragma inline(ListRemoveHead) 71318 #endif 71319 71320 LIST_ENTRY* ListRemoveHead (LIST_HEAD *lptr) 71321 1 71322 { 1 71323 LIST_ENTRY *eptr; 1 71324 1 71325 /*********/ 1 71326 /* begin */ 1 71327 /*********/ 1 71328 1 71329 if (eptr = lptr->HeadPtr) ListRemove (lptr, eptr); 1 71330 1 71331 return (eptr); 1 71332 } 71333 71334 /*****************************************************************************/ 71335 /* 71336 Generic list handling function. Remove the tail entry. 71337 */ 71338 71339 #ifdef __DECC 71340 #pragma inline(ListRemoveTail) 71341 #endif 71342 71343 LIST_ENTRY* ListRemoveTail (LIST_HEAD *lptr) 71344 1 71345 { 1 71346 LIST_ENTRY *eptr; 1 71347 1 71348 /*********/ 1 71349 /* begin */ 1 71350 /*********/ 1 71351 1 71352 if (eptr = lptr->TailPtr) ListRemove (lptr, eptr); 1 71353 1 71354 return (eptr); 1 71355 } 71356 71357 /*****************************************************************************/ 71358 /* 71359 Generic list handling function. Check if a specific entry is in specific list. 71360 */ 71361 Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 11 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 71362 LIST_ENTRY* ListCheck 71363 ( 71364 LIST_HEAD *lptr, 71365 LIST_ENTRY *eptr 71366 ) 1 71367 { 1 71368 LIST_ENTRY *teptr; 1 71369 1 71370 /*********/ 1 71371 /* begin */ 1 71372 /*********/ 1 71373 1 71374 fprintf (stdout, "ListCheck() %d %d %d %d\n", 1 71375 lptr, lptr->HeadPtr, lptr->TailPtr, lptr->EntryCount); 1 71376 1 71377 for (teptr = lptr->HeadPtr; teptr; teptr = teptr->NextPtr) 1 71378 if (teptr == eptr) return (eptr); 1 71379 return (NULL); 1 71380 } 71381 71382 /*****************************************************************************/ 71383 /* 71384 list the entries in the list. 71385 */ 71386 71387 ListDebug (LIST_HEAD* lptr) 71388 1 71389 { 1 71390 LIST_ENTRY *eptr; 1 71391 1 71392 /*********/ 1 71393 /* begin */ 1 71394 /*********/ 1 71395 1 71396 for (eptr = lptr->HeadPtr; eptr; eptr = eptr->NextPtr) 1 71397 fprintf (stdout, "%d <- %d -> %d\n", eptr->PrevPtr, eptr, eptr->NextPtr); 1 71398 } 71399 71400 /*****************************************************************************/ 71401 /* 71402 Generate the appropriate server signature returned the supplied buffer. 71403 */ 71404 71405 char* ServerSignature 71406 ( 71407 REQUEST_STRUCT *rqptr, 71408 char *BufferPtr, 71409 int BufferSize 71410 ) 1 71411 { 1 71412 int status, 1 71413 ServerPortNumber; 1 71414 char *cptr, *sptr, *zptr, 1 71415 *ServerHostNamePtr; 1 71416 char MsgBuffer [256], 1 71417 EmailBuffer [256]; 1 71418 Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 12 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 71419 /*********/ 1 71420 /* begin */ 1 71421 /*********/ 1 71422 1 71423 if (WATCH_MODULE(WATCH_MOD__OTHER)) 1 71424 WatchThis (WATCHALL, WATCH_MOD__OTHER, "ServerSignature()"); 1 71425 1 71426 if (!Config.cfServer.Signature) 2 71427 { 2 71428 BufferPtr[0] = '\0'; 2 71429 return (BufferPtr); 1 71430 } 1 71431 1 71432 if (rqptr) 2 71433 { 2 71434 ServerHostNamePtr = rqptr->ServicePtr->ServerHostName; 2 71435 ServerPortNumber = rqptr->ServicePtr->ServerPort; 1 71436 } 1 71437 else 2 71438 { 2 71439 ServerHostNamePtr = ServerHostName; 2 71440 ServerPortNumber = ServerPort; 1 71441 } 1 71442 1 71443 if (Config.cfServer.Signature == CONFIG_SERVER_SIGNATURE_EMAIL && 1 71444 Config.cfServer.AdminEmail[0]) 2 71445 { 2 71446 status = FaoToBuffer (EmailBuffer, sizeof(EmailBuffer), NULL, 2 71447 "!AZ", 2 71448 Config.cfServer.AdminEmail, ServerHostNamePtr); 2 71449 if (VMSnok (status)) ErrorNoticed (rqptr, status, NULL, FI_LI); 1 71450 } 1 71451 else 1 71452 EmailBuffer[0] = '\0'; 1 71453 1 71454 if (CliSoftwareID) 2 71455 { 2 71456 cptr = MsgFor(rqptr, MSG_STATUS_SIGNATURE); 2 71457 zptr = (sptr = MsgBuffer) + sizeof(MsgBuffer)-1; 2 71458 while (*cptr && *cptr != '!' && sptr < zptr) *sptr++ = *cptr++; 2 71459 if (strsame (cptr, "!AZ/", 4)) 3 71460 { 3 71461 cptr += 4; 3 71462 while (*cptr && sptr < zptr) *sptr++ = *cptr++; 3 71463 *sptr = '\0'; 3 71464 status = FaoToBuffer (BufferPtr, BufferSize, NULL, MsgBuffer, 3 71465 SoftwareID, 3 71466 EmailBuffer[0] ? EmailBuffer : ServerHostNamePtr, 3 71467 ServerPortNumber); 3 71468 if (VMSnok (status)) ErrorNoticed (rqptr, status, NULL, FI_LI); 3 71469 return (BufferPtr); 2 71470 } 2 71471 ErrorNoticed (rqptr, SS$_BUGCHECK, ErrorSanityCheck, FI_LI); 1 71472 } 1 71473 1 71474 status = FaoToBuffer (BufferPtr, BufferSize, NULL, 1 71475 MsgFor(rqptr, MSG_STATUS_SIGNATURE), Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 13 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 71476 HttpdName, HttpdVersion, 1 71477 EmailBuffer[0] ? EmailBuffer : ServerHostNamePtr, 1 71478 ServerPortNumber); 1 71479 if (VMSnok (status)) ErrorNoticed (rqptr, status, NULL, FI_LI); 1 71480 1 71481 return (BufferPtr); 1 71482 } 71483 71484 /*****************************************************************************/ 71485 /* 71486 Create an HTTP format local time string in the storage pointed at by 71487 'TimeString', e.g. "Fri, 25 Aug 1995 17:32:40" (RFC1123). If 'Time64Ptr' is 71488 null the time string represents the current time. If it points to a quadword, 71489 VMS time value the string represents that time. 'TimeString' must point to 71490 storage large enough for 31 characters. 71491 */ 71492 71493 int HttpLocalTimeString 71494 ( 71495 char *TimeString, 71496 int64 *Time64Ptr 71497 ) 1 71498 { 1 71499 /* alternate formats for time string */ 1 71500 #ifdef RFC_1123_DATE 1 71501 /* day, dd mmm yyyy hh:mm */ 1 71502 static $DESCRIPTOR (HttpTimeFaoDsc, "!3AZ, !2ZW !3AZ !4ZW !2ZW:!2ZW:!2ZW\0"); 1X 71503 #else 1X 71504 /* weekday, dd-mmm-yyyy hh:mm */ 1X 71505 static $DESCRIPTOR (HttpTimeFaoDsc, "!3AZ, !2ZW-!3AZ-!4ZW !2ZW:!2ZW:!2ZW\0"); 1X 71506 #endif 1 71507 1 71508 static $DESCRIPTOR (TimeStringDsc, ""); 1 71509 1 71510 int status; 1 71511 int64 time64; 1 71512 ushort time7 [7]; 1 71513 ulong DayOfWeek; 1 71514 1 71515 /*********/ 1 71516 /* begin */ 1 71517 /*********/ 1 71518 1 71519 if (WATCH_MODULE(WATCH_MOD__OTHER)) 1 71520 WatchThis (WATCHALL, WATCH_MOD__OTHER, "HttpLocalTimeString()"); 1 71521 1 71522 if (Time64Ptr) 1 71523 time64 = *(UINT64PTR)Time64Ptr; 1 71524 else 1 71525 sys$gettim (&time64); 1 71526 1 71527 status = sys$numtim (&time7, &time64); 1 71528 1 71529 if (VMSnok (status = lib$day_of_week (&time64, &DayOfWeek))) 1 71530 return (status); 1 71531 1 71532 /* set the descriptor address and size of the resultant time string */ Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 14 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 71533 TimeStringDsc.dsc$w_length = 26; 1 71534 TimeStringDsc.dsc$a_pointer = TimeString; 1 71535 1 71536 status = sys$fao (&HttpTimeFaoDsc, 0, &TimeStringDsc, 1 71537 DayName[DayOfWeek], time7[2], MonthName[time7[1]], 1 71538 time7[0], time7[3], time7[4], time7[5]); 1 71539 if (VMSnok (status) || status == SS$_BUFFEROVF) TimeString[0] = '\0'; 1 71540 1 71541 return (status); 1 71542 } 71543 71544 /*****************************************************************************/ 71545 /* 71546 Create an HTTP format Greenwich Mean Time (UTC) time string in the storage 71547 pointed at by 'TimeString', e.g. "Fri, 25 Aug 1995 17:32:40 GMT" (RFC1123). 71548 This must be at least 30 characters capacity. If 'Time64Ptr' is NULL the 71549 time string represents the current time. If it points to a quadword, VMS time 71550 value the string represents that time. 71551 */ 71552 71553 int HttpGmTimeString 71554 ( 71555 char *TimeString, 71556 int64 *Time64Ptr 71557 ) 1 71558 { 1 71559 /* alternate formats for time string */ 1 71560 #ifdef RFC_1123_DATE 1 71561 /* day, dd mmm yyyy hh:mm */ 1 71562 static $DESCRIPTOR (HttpTimeFaoDsc, 1 71563 "!3AZ, !2ZW !3AZ !4ZW !2ZW:!2ZW:!2ZW GMT\0"); 1X 71564 #else 1X 71565 /* weekday, dd-mmm-yyyy hh:mm */ 1X 71566 static $DESCRIPTOR (HttpTimeFaoDsc, 1X 71567 "!3AZ, !2ZW-!3AZ-!4ZW !2ZW:!2ZW:!2ZW GMT\0"); 1X 71568 #endif 1 71569 1 71570 static $DESCRIPTOR (TimeStringDsc, ""); 1 71571 1 71572 int status; 1 71573 int64 time64; 1 71574 ushort time7 [7]; 1 71575 ulong DayOfWeek; 1 71576 1 71577 /*********/ 1 71578 /* begin */ 1 71579 /*********/ 1 71580 1 71581 if (WATCH_MODULE(WATCH_MOD__OTHER)) 1 71582 WatchThis (WATCHALL, WATCH_MOD__OTHER, "HttpGmTimeString()"); 1 71583 1 71584 if (Time64Ptr) 1 71585 time64 = *(UINT64PTR)Time64Ptr; 1 71586 else 1 71587 sys$gettim (&time64); 1 71588 1 71589 TimeAdjustToGMT (&time64); Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 15 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 71590 1 71591 status = sys$numtim (&time7, &time64); 1 71592 1 71593 if (VMSnok (status = lib$day_of_week (&time64, &DayOfWeek))) 1 71594 return (status); 1 71595 1 71596 /* set the descriptor address and size of the resultant time string */ 1 71597 TimeStringDsc.dsc$w_length = 30; 1 71598 TimeStringDsc.dsc$a_pointer = TimeString; 1 71599 1 71600 status = sys$fao (&HttpTimeFaoDsc, 0, &TimeStringDsc, 1 71601 DayName[DayOfWeek], time7[2], MonthName[time7[1]], 1 71602 time7[0], time7[3], time7[4], time7[5]); 1 71603 if (VMSnok (status) || status == SS$_BUFFEROVF) TimeString[0] = '\0'; 1 71604 1 71605 return (status); 1 71606 } 71607 71608 /*****************************************************************************/ 71609 /* 71610 Create an ISO 8601 format UTC (GMT) basic time string in the storage pointed at 71611 by 'TimeString', e.g. "19950825T173240.34Z+0000", or separated local time 71612 string, e.g. "1995-08-25T17:32:40.34Z+0930". This must be at least 32 71613 characters capacity. If 'Time64Ptr' is NULL the time string represents the 71614 current time. If it points to a quadword, VMS time value the string represents 71615 that time. 71616 */ 71617 71618 int HttpIsoTimeString 71619 ( 71620 BOOL LocalTimeZone, 71621 char *TimeString, 71622 int64 *Time64Ptr 71623 ) 1 71624 { 1 71625 static $DESCRIPTOR (UtcTimeFaoDsc, 1 71626 "!4ZL!2ZL!2ZLT!2ZL!2ZL!2ZL.!2ZL+0000\0"); 1 71627 static $DESCRIPTOR (LocalTimeFaoDsc, 1 71628 "!4ZL-!2ZL-!2ZLT!2ZL:!2ZL:!2ZL.!2ZL!AZ\0"); 1 71629 static $DESCRIPTOR (TimeStringDsc, ""); 1 71630 1 71631 int status; 1 71632 int64 time64; 1 71633 ushort time7 [7]; 1 71634 1 71635 /*********/ 1 71636 /* begin */ 1 71637 /*********/ 1 71638 1 71639 if (WATCH_MODULE(WATCH_MOD__OTHER)) 1 71640 WatchThis (WATCHALL, WATCH_MOD__OTHER, "HttpIsoTimeString()"); 1 71641 1 71642 if (Time64Ptr) 1 71643 time64 = *(UINT64PTR)Time64Ptr; 1 71644 else 1 71645 sys$gettim (&time64); 1 71646 Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 16 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 71647 if (!LocalTimeZone) TimeAdjustToGMT (&time64); 1 71648 1 71649 status = sys$numtim (&time7, &time64); 1 71650 1 71651 /* set the descriptor address and size of the resultant time string */ 1 71652 TimeStringDsc.dsc$w_length = 31; 1 71653 TimeStringDsc.dsc$a_pointer = TimeString; 1 71654 1 71655 if (LocalTimeZone) 1 71656 status = sys$fao (&LocalTimeFaoDsc, 0, &TimeStringDsc, 1 71657 time7[0], time7[1], time7[2], 1 71658 time7[3], time7[4], time7[5], time7[6], 1 71659 TimeZoneString); 1 71660 else 1 71661 status = sys$fao (&UtcTimeFaoDsc, 0, &TimeStringDsc, 1 71662 time7[0], time7[1], time7[2], 1 71663 time7[3], time7[4], time7[5], time7[6]); 1 71664 if (VMSnok (status) || status == SS$_BUFFEROVF) TimeString[0] = '\0'; 1 71665 1 71666 return (status); 1 71667 } 71668 71669 /*****************************************************************************/ 71670 /* 71671 Given a string such as "Fri, 25 Aug 1995 17:32:40 GMT" (RFC1123), 71672 or "Friday, 25-Aug-1995 17:32:40 GMT" (RFC 1036), 71673 or "1995-08-25T17:32:40.34Z+0000"" (ISO 8601), 71674 create an internal, local, binary time. 71675 71676 For purposes such a if-modified-since. The RFC specifies RFC1123 but some 71677 recently use ISO 8601. This function tries the 1123 format first and then the 71678 8601. 71679 */ 71680 71681 int HttpGetTime 71682 ( 71683 char *TimeString, 71684 int64 *Time64Ptr 71685 ) 1 71686 { 1 71687 int status; 1 71688 1 71689 /*********/ 1 71690 /* begin */ 1 71691 /*********/ 1 71692 1 71693 if (VMSnok (status = HttpGmTime (TimeString, Time64Ptr))) 1 71694 status = HttpIsoTime (TimeString, Time64Ptr); 1 71695 return (status); 1 71696 } 71697 71698 /*****************************************************************************/ 71699 /* 71700 Given a string such as "Fri, 25 Aug 1995 17:32:40 GMT" (RFC1123), or "Friday, 71701 25-Aug-1995 17:32:40 GMT" (RFC 1036), create an internal, local, binary time 71702 with the current GMT offset. See complementary function HttpGmTimeString(). 71703 */ Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 17 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 71704 71705 int HttpGmTime 71706 ( 71707 char *TimeString, 71708 int64 *Time64Ptr 71709 ) 1 71710 { 1 71711 static char *MonthName [] = 1 71712 { "", "Jan", "Feb", "Mar", "Apr", "May", "Jun", 1 71713 "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; 1 71714 1 71715 int status; 1 71716 ushort Length; 1 71717 ushort time7 [7] = { 0,0,0,0,0,0,0 }; 1 71718 ulong DayOfWeek; 1 71719 char *tptr; 1 71720 1 71721 /*********/ 1 71722 /* begin */ 1 71723 /*********/ 1 71724 1 71725 tptr = TimeString; 1 71726 /* hunt straight for the comma after the weekday name! */ 1 71727 while (*tptr && *tptr != ',') tptr++; 1 71728 if (*tptr) tptr++; 1 71729 /* span white space between weekday name and date */ 1 71730 while (*tptr && ISLWS(*tptr)) tptr++; 1 71731 if (!*tptr) return (SS$_IVTIME); 1 71732 1 71733 /* get the date and then skip to month name */ 1 71734 if (isdigit(*tptr)) time7[2] = atoi (tptr); 1 71735 while (*tptr && isdigit(*tptr)) tptr++; 1 71736 while (*tptr && (*tptr == '-' || ISLWS(*tptr))) tptr++; 1 71737 if (!*tptr) return (SS$_IVTIME); 1 71738 1 71739 /* get the month number from the name and skip to the year */ 1 71740 for (time7[1] = 1; time7[1] <= 12; time7[1]++) 1 71741 if (strsame (tptr, MonthName[time7[1]], 3)) break; 1 71742 if (time7[1] > 12) return (SS$_IVTIME); 1 71743 while (isalpha(*tptr)) tptr++; 1 71744 while (*tptr && (*tptr == '-' || ISLWS(*tptr))) tptr++; 1 71745 if (!*tptr) return (SS$_IVTIME); 1 71746 1 71747 /* get the year and then skip to the hour */ 1 71748 if (isdigit(*tptr)) 2 71749 { 2 71750 time7[0] = atoi (tptr); 2 71751 if (time7[0] <= 99) 3 71752 { 3 71753 /* for older browsers supplying 2 digit years, some Y2K insurance! */ 3 71754 if (time7[0] >= 70) 3 71755 time7[0] += 1900; 3 71756 else 3 71757 time7[0] += 2000; 2 71758 } 1 71759 } 1 71760 while (*tptr && isdigit(*tptr)) tptr++; Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 18 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 71761 while (*tptr && ISLWS(*tptr)) tptr++; 1 71762 if (!*tptr) return (SS$_IVTIME); 1 71763 1 71764 /* get the hour, minute and second */ 1 71765 if (isdigit(*tptr)) time7[3] = atoi (tptr); 1 71766 while (*tptr && isdigit(*tptr)) tptr++; 1 71767 if (*tptr == ':') tptr++; 1 71768 if (isdigit(*tptr)) time7[4] = atoi (tptr); 1 71769 while (*tptr && isdigit(*tptr)) tptr++; 1 71770 if (*tptr == ':') tptr++; 1 71771 if (isdigit(*tptr)) time7[5] = atoi (tptr); 1 71772 while (*tptr && isdigit(*tptr)) tptr++; 1 71773 if (*tptr == ':') tptr++; 1 71774 if (!*tptr) return (SS$_IVTIME); 1 71775 1 71776 /* the only thing remaining should be the "GMT" */ 1 71777 while (*tptr && ISLWS(*tptr)) tptr++; 1 71778 if (!MATCH3 (tptr, "GMT")) return (SS$_IVTIME); 1 71779 1 71780 /*******************************************/ 1 71781 /* convert what looks like legitimate GMT! */ 1 71782 /*******************************************/ 1 71783 1 71784 status = lib$cvt_vectim (&time7, Time64Ptr); 1 71785 if (VMSnok (status)) return (status); 1 71786 1 71787 TimeAdjustFromGMT (Time64Ptr); 1 71788 1 71789 return (SS$_NORMAL); 1 71790 } 71791 71792 /*****************************************************************************/ 71793 /* 71794 Given an ISO 8601 format time string (e.g. "1995-08-25T17:32:40.34Z+0000") 71795 create an internal, local, binary time. See complementary function 71796 HttpIsoTimeString(). 71797 */ 71798 71799 int HttpIsoTime 71800 ( 71801 char *TimeString, 71802 int64 *Time64Ptr 71803 ) 1 71804 { 1 71805 int64 time64; 1 71806 int year, month, day, hour, min, sec, frac, ohour, omin, status, zoffset; 1 71807 ushort time7 [7]; 1 71808 char offset; 1 71809 char *tptr; 1 71810 1 71811 /*********/ 1 71812 /* begin */ 1 71813 /*********/ 1 71814 1 71815 *Time64Ptr = 0; 1 71816 frac = ohour = omin = offset = zoffset = 0; 1 71817 Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 19 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 71818 tptr = TimeString; 1 71819 1 71820 /* yyyy mm dd */ 1 71821 if (!isdigit(*tptr)) return (SS$_IVTIME); 1 71822 if (sscanf (tptr, "%4d", &year) != 1) return (SS$_IVTIME); 1 71823 while (isdigit(*tptr)) tptr++; 1 71824 if (*tptr == '-') tptr++; 1 71825 if (!isdigit(*tptr)) return (SS$_IVTIME); 1 71826 if (sscanf (tptr, "%2d", &month) != 1) return (SS$_IVTIME); 1 71827 while (isdigit(*tptr)) tptr++; 1 71828 if (*tptr == '-') tptr++; 1 71829 if (!isdigit(*tptr)) return (SS$_IVTIME); 1 71830 if (sscanf (tptr, "%2d", &day) != 1) return (SS$_IVTIME); 1 71831 while (isdigit(*tptr)) tptr++; 1 71832 1 71833 /* hh mm ss */ 1 71834 if (*tptr == 'T') tptr++; 1 71835 if (!isdigit(*tptr)) return (SS$_IVTIME); 1 71836 if (sscanf (tptr, "%2d", &hour) != 1) return (SS$_IVTIME); 1 71837 while (isdigit(*tptr)) tptr++; 1 71838 if (*tptr == ':') tptr++; 1 71839 if (!isdigit(*tptr)) return (SS$_IVTIME); 1 71840 if (sscanf (tptr, "%2d", &min) != 1) return (SS$_IVTIME); 1 71841 while (isdigit(*tptr)) tptr++; 1 71842 if (*tptr == ':') tptr++; 1 71843 if (!isdigit(*tptr)) return (SS$_IVTIME); 1 71844 if (sscanf (tptr, "%2d", &sec) != 1) return (SS$_IVTIME); 1 71845 while (isdigit(*tptr)) tptr++; 1 71846 1 71847 /* fraction */ 1 71848 if (*tptr == '.') 2 71849 { 2 71850 tptr++; 2 71851 if (!isdigit(*tptr)) return (SS$_IVTIME); 2 71852 if (sscanf (tptr, "%d", &frac) != 1) return (SS$_IVTIME); 2 71853 while (isdigit(*tptr)) tptr++; 1 71854 } 1 71855 1 71856 /* zulu offset */ 1 71857 if (*tptr == 'Z') tptr++; 1 71858 if (*tptr == '+') 1 71859 offset = *tptr++; 1 71860 else 1 71861 if (*tptr == '-') 1 71862 offset = *tptr++; 1 71863 if (isdigit(*tptr)) 2 71864 { 2 71865 if (sscanf (tptr, "%2d", &ohour) != 1) return (SS$_IVTIME); 2 71866 if (isdigit(*tptr)) tptr++; 2 71867 if (isdigit(*tptr)) tptr++; 2 71868 if (*tptr == ':') tptr++; 2 71869 if (sscanf (tptr, "%2d", &omin) != 1) return (SS$_IVTIME); 2 71870 zoffset = (((ohour * 3600) + (omin * 60)) * Delta01Sec); 1 71871 } 1 71872 1 71873 time7[0] = year; 1 71874 time7[1] = month; Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 20 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 71875 time7[2] = day; 1 71876 time7[3] = hour; 1 71877 time7[4] = min; 1 71878 time7[5] = sec; 1 71879 time7[6] = frac; 1 71880 status = lib$cvt_vectim (&time7, &time64); 1 71881 if (VMSnok (status)) return (status); 1 71882 1 71883 if (offset == '+') 1 71884 time64 -= zoffset; 1 71885 else 1 71886 if (offset == '-') 1 71887 time64 += zoffset; 1 71888 1 71889 *Time64Ptr = time64; 1 71890 1 71891 return (status); 1 71892 } 71893 71894 /*****************************************************************************/ 71895 /* 71896 Translate the logical WASD_UTC, WASD_GMT or HTTPD$GMT (defined to be something 71897 like "+10:30" or "-01:15") and convert it into a delta time and store in 71898 'TimeUtcDelta64'. If these are not present use the UTC time structure. And if 71899 this doesn't make sense (for whatever reason) use SYS$TIMEZONE_DIFFERENTIAL. 71900 */ 71901 71902 void TimeSetHttpdUTC () 71903 1 71904 { 1 71905 int hh, mm, offset, status; 1 71906 uint64 time128 [2]; 1 71907 ushort time13 [13]; 1 71908 char *cptr, *sptr; 1 71909 1 71910 /*********/ 1 71911 /* begin */ 1 71912 /*********/ 1 71913 1 71914 if (!(cptr = SysTrnLnm (WASD_UTC))) 1 71915 if (!(cptr = SysTrnLnm (WASD_GMT))) 1 71916 cptr = SysTrnLnm (HTTPD$GMT); 1 71917 1 71918 if (cptr) 2 71919 { 2 71920 sptr = cptr; 2 71921 if (*cptr == '+' || *cptr == '-') cptr++; 2 71922 hh = atoi(cptr); 2 71923 while (isdigit(*cptr)) cptr++; 2 71924 while (!isdigit(*cptr)) cptr++; 2 71925 mm = atoi(cptr); 2 71926 if (hh >= 0 && hh <= 23 && mm >= 0 && hh <= 59) 3 71927 { 3 71928 offset = hh * 60 + mm; 3 71929 if (offset >= 0 && offset <= 1440) 4 71930 { 4 71931 if (*sptr == '-') offset = -offset; Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 21 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 4 71932 TimeUtcDelta64 = (int64)offset * TIME64_ONE_MIN; 3 71933 } 3 71934 else 3 71935 cptr = NULL; 3 71936 if (!(*sptr == '+' || *sptr == '-')) sptr = "+"; 2 71937 } 2 71938 else 2 71939 cptr = NULL; 1 71940 } 1 71941 1 71942 if (!cptr) 2 71943 { 2 71944 /* use system UTC time */ 2 71945 sys$getutc (&time128); 2 71946 sys$numutc (&time13, &time128); 2 71947 /* the timezone offset in minutes */ 2 71948 offset = time13[12]; 2 71949 TimeUtcDelta64 = (int64)offset * TIME64_ONE_MIN; 2 71950 if (!TimeUtcDelta64) TimeUtcDelta64 = DELTA64_TEN_MSEC; 2 71951 if (offset >= 0) 2 71952 sptr = "+"; 2 71953 else 3 71954 { 3 71955 sptr = "-"; 3 71956 offset = -offset; 2 71957 } 2 71958 hh = offset / 60; 2 71959 mm = offset % 60; 1 71960 } 1 71961 1 71962 if (offset > 1440) 2 71963 { 2 71964 /* if doesn't make sense fall back to this hoary old approach */ 2 71965 if (cptr = SysTrnLnm ("SYS$TIMEZONE_DIFFERENTIAL")) 3 71966 { 3 71967 offset = atoi(cptr) / 60; 3 71968 if (offset <= 1440 || offset >= -1440) 4 71969 { 4 71970 TimeUtcDelta64 = (int64)offset * TIME64_ONE_MIN; 4 71971 if (!TimeUtcDelta64) TimeUtcDelta64 = DELTA64_TEN_MSEC; 4 71972 if (offset >= 0) 4 71973 sptr = "+"; 4 71974 else 5 71975 { 5 71976 sptr = "-"; 5 71977 offset = -offset; 4 71978 } 4 71979 hh = offset / 60; 4 71980 mm = offset % 60; 3 71981 } 2 71982 } 1 71983 } 1 71984 1 71985 sprintf (TimeGmtString, "%c%02.02d:%02.02d", *sptr, hh, mm); 1 71986 sprintf (TimeZoneString, "%c%02.02d%02.02d", *sptr, hh, mm); 1 71987 } 71988 Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 22 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 71989 /*****************************************************************************/ 71990 /* 71991 Adjust pointed-to time to GMT from local. /TimeUtcDelta64/ will either be 71992 positive 64 bits (i.e. VMS binary time) if ahead of GMT or negative 64 bits if 71993 behind (or zero if on GMT). So to move to GMT the delta to GMT is subtracted 71994 from the supplied time. 71995 */ 71996 71997 void TimeAdjustToGMT (int64 *Time64Ptr) 71998 1 71999 { 1 72000 /*********/ 1 72001 /* begin */ 1 72002 /*********/ 1 72003 1 72004 *Time64Ptr = *Time64Ptr - TimeUtcDelta64; 1 72005 } 72006 72007 /*****************************************************************************/ 72008 /* 72009 Adjust pointed-to time from GMT to local. Same as above only /TimeUtcDelta64/ 72010 is added to the supplied time. 72011 */ 72012 72013 void TimeAdjustFromGMT (int64 *Time64Ptr) 72014 1 72015 { 1 72016 /*********/ 1 72017 /* begin */ 1 72018 /*********/ 1 72019 1 72020 *Time64Ptr = *Time64Ptr + TimeUtcDelta64; 1 72021 } 72022 72023 /*****************************************************************************/ 72024 /* 72025 */ 72026 72027 char* DigitDayTime (int64 *Time64Ptr) 72028 1 72029 { 1 72030 static char TimeString [16]; 1 72031 static $DESCRIPTOR (TimeFaoDsc, "!2ZL !2ZL:!2ZL:!2ZL\0"); 1 72032 static $DESCRIPTOR (TimeStringDsc, TimeString); 1 72033 1 72034 int status; 1 72035 int64 time64; 1 72036 ushort time7 [7]; 1 72037 1 72038 /*********/ 1 72039 /* begin */ 1 72040 /*********/ 1 72041 1 72042 if (!Time64Ptr) sys$gettim (Time64Ptr = &time64); 1 72043 if (VMSnok (status = sys$numtim (&time7, Time64Ptr))) 1 72044 return ("*ERROR*"); 1 72045 if (VMSnok (sys$fao (&TimeFaoDsc, 0, &TimeStringDsc, Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 23 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 72046 time7[2], time7[3], time7[4], time7[5]))) 1 72047 return ("*ERROR*"); 1 72048 return (TimeString); 1 72049 } 72050 72051 /*****************************************************************************/ 72052 /* 72053 Return a pointer to the name of the day of the week for the supplied binary 72054 time. If a NULL pointer to the binary time then return current day of week. 72055 */ 72056 72057 char* DayOfWeekName (int64 *Time64Ptr) 72058 1 72059 { 1 72060 int status; 1 72061 ulong DayOfWeek; 1 72062 int64 time64; 1 72063 1 72064 /*********/ 1 72065 /* begin */ 1 72066 /*********/ 1 72067 1 72068 if (!Time64Ptr) sys$gettim (Time64Ptr = &time64); 1 72069 if (VMSnok (status = lib$day_of_week (Time64Ptr, &DayOfWeek))) 1 72070 DayOfWeek = 0; 1 72071 return (DayName[DayOfWeek]); 1 72072 } 72073 72074 /*****************************************************************************/ 72075 /* 72076 HTTP/1.0 and HTTP/1.1 requests. If the content length has changed (HTTP/1.0 de 72077 facto standard), or if it has been modified since the specified date and time 72078 then return /true/ indicating that the object has been modified. If not 72079 modified then create a 304 HTTP header and return /false/ to indicate the file 72080 should not be sent. With VMS' fractions of a second, add one second to the 72081 specified 'since' time to ensure a reliable comparison. 72082 72083 Implements defacto HTTP/1.0 persistent connections. Currently we only provide 72084 "keep-alive" response if we're sending a file in binary mode and know its 72085 precise length. An accurate "Content-Length:" field is vital for the client's 72086 correct reception of the transmitted data. The only other time a "keep-alive" 72087 response can be provided is HERE, where a 304 header is returned (it has a 72088 content length of precisely zero!) 72089 */ 72090 72091 BOOL HttpIfModifiedSince 72092 ( 72093 REQUEST_STRUCT *rqptr, 72094 int64 *RdtTime64Ptr, 72095 int LastContentLength 72096 ) 1 72097 { 1 72098 int64 time64; 1 72099 1 72100 /*********/ 1 72101 /* begin */ 1 72102 /*********/ Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 24 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 72103 1 72104 if (WATCH_MODULE(WATCH_MOD__OTHER)) 1 72105 WatchThis (WATCHALL, WATCH_MOD__OTHER, 1 72106 "HttpIfModifiedSince() !UL !UL !%D", 1 72107 LastContentLength, rqptr->rqHeader.IfModifiedSinceLength, 1 72108 &rqptr->rqTime.IfModifiedSinceTime64); 1 72109 1 72110 if (!rqptr->rqTime.IfModifiedSinceTime64) return (true); 1 72111 1 72112 if (rqptr->rqHeader.HttpVersion == HTTP_VERSION_1_0 && 1 72113 rqptr->rqHeader.IfModifiedSinceLength >= 0 && 1 72114 LastContentLength >= 0 && 1 72115 rqptr->rqHeader.IfModifiedSinceLength != LastContentLength) 1 72116 return (true); 1 72117 1 72118 /* slide a second to help ensure a reliable result */ 1 72119 time64 = *(INT64PTR)RdtTime64Ptr - TIME64_ONE_SEC; 1 72120 if (time64 < rqptr->rqTime.IfModifiedSinceTime64) 2 72121 { 2 72122 /* not modified (note the zero content length!) */ 2 72123 ResponseHeader (rqptr, 304, NULL, 0, NULL, NULL); 2 72124 return (false); 1 72125 } 1 72126 1 72127 return (true); 1 72128 } 72129 72130 /*****************************************************************************/ 72131 /* 72132 HTTP/1.1 if-not-modified-since request. If it has NOT been modified since the 72133 specified date and time then return /true/ indicating that the object has not 72134 been modified. If modified then create a 412 HTTP header (precondition failed) 72135 and return /false/ to indicate the request should not be processed. With VMS' 72136 fractions of a second, add one second to the specified 'since' time to ensure a 72137 reliable comparison. 72138 */ 72139 72140 BOOL HttpIfUnModifiedSince 72141 ( 72142 REQUEST_STRUCT *rqptr, 72143 int64 *RdtTime64Ptr 72144 ) 1 72145 { 1 72146 int64 time64; 1 72147 1 72148 /*********/ 1 72149 /* begin */ 1 72150 /*********/ 1 72151 1 72152 if (WATCH_MODULE(WATCH_MOD__OTHER)) 1 72153 WatchThis (WATCHALL, WATCH_MOD__OTHER, 1 72154 "HttpIfUnModifiedSince() !%D", 1 72155 &rqptr->rqTime.IfModifiedSinceTime64); 1 72156 1 72157 if (!rqptr->rqTime.IfUnModifiedSinceTime64) return (true); 1 72158 1 72159 /* slide a second to help ensure a reliable result */ Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 25 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 72160 time64 = *(INT64PTR)RdtTime64Ptr + TIME64_ONE_SEC; 1 72161 if (time64 > rqptr->rqTime.IfUnModifiedSinceTime64) 2 72162 { 2 72163 /* modified, precondition failed (note the zero content length!) */ 2 72164 ResponseHeader (rqptr, 412, NULL, 0, NULL, NULL); 2 72165 return (true); 1 72166 } 1 72167 1 72168 /* if not modified! */ 1 72169 return (false); 1 72170 } 72171 72172 /*****************************************************************************/ 72173 /* 72174 HTTP/1.1 if-range not modified since. 72175 */ 72176 72177 void HttpIfRange 72178 ( 72179 REQUEST_STRUCT *rqptr, 72180 int64 *RdtTime64Ptr 72181 ) 1 72182 { 1 72183 int64 time64; 1 72184 1 72185 /*********/ 1 72186 /* begin */ 1 72187 /*********/ 1 72188 1 72189 if (WATCH_MODULE(WATCH_MOD__OTHER)) 1 72190 WatchThis (WATCHALL, WATCH_MOD__OTHER, 1 72191 "HttpIfRange() !%D", &rqptr->rqTime.IfRangeBeginTime64); 1 72192 1 72193 if (!rqptr->rqTime.IfRangeBeginTime64) return; 1 72194 1 72195 /* slide a second to help ensure a reliable result */ 1 72196 time64 = *(INT64PTR)RdtTime64Ptr + TIME64_ONE_SEC; 1 72197 if (time64 > rqptr->rqTime.IfModifiedSinceTime64) 2 72198 { 2 72199 /* modified, cancel any range data */ 2 72200 if (rqptr->rqHeader.RangeBytePtr) rqptr->rqHeader.RangeBytePtr->Total = 0; 1 72201 } 1 72202 } 72203 72204 /*****************************************************************************/ 72205 /* 72206 Return a reasonable HTTP status from the supplied VMS status. 72207 */ 72208 72209 int VmsToHttpStatus (int VmsStatus) 72210 1 72211 { 1 72212 int HttpStatus; 1 72213 1 72214 /*********/ 1 72215 /* begin */ 1 72216 /*********/ Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 26 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 72217 1 72218 if (VmsStatus == RMS$_DNF || 1 72219 VmsStatus == RMS$_DEV || 1 72220 VmsStatus == RMS$_FNF || 1 72221 VmsStatus == RMS$_NMF || 1 72222 VmsStatus == SS$_NOSUCHDEV || 1 72223 VmsStatus == SS$_NOSUCHFILE) 1 72224 HttpStatus = 404; 1 72225 else 1 72226 if (VmsStatus == RMS$_SYN || 1 72227 VmsStatus == RMS$_FNM || 1 72228 VmsStatus == RMS$_TYP || 1 72229 VmsStatus == RMS$_VER || 1 72230 VmsStatus == RMS$_DIR || 1 72231 VmsStatus == SS$_BADFILENAME || 1 72232 VmsStatus == SS$_BADFILEVER || 1 72233 VmsStatus == SS$_BADIRECTORY) 1 72234 HttpStatus = 403; 1 72235 else 1 72236 if (VmsStatus == RMS$_FLK) 1 72237 HttpStatus = 423; 1 72238 else 1 72239 if (VmsStatus == SS$_DIRNOTEMPTY || 1 72240 VmsStatus == SS$_EXDISKQUOTA) 1 72241 HttpStatus = 409; 1 72242 else 1 72243 if (VmsStatus == RMS$_PRV || 1 72244 VmsStatus == SS$_NOPRIV) 1 72245 HttpStatus = 403; 1 72246 else 1 72247 if (VmsStatus == SS$_CREATED) 1 72248 HttpStatus = 201; 1 72249 else 1 72250 if (VmsStatus & 1) 1 72251 HttpStatus = 200; 1 72252 else 1 72253 HttpStatus = 500; 1 72254 1 72255 if (WATCH_MODULE(WATCH_MOD__OTHER)) 1 72256 WatchThis (WATCHALL, WATCH_MOD__OTHER, 1 72257 "VmsToHttpStatus() !&S !UL", 1 72258 VmsStatus, HttpStatus); 1 72259 1 72260 return (HttpStatus); 1 72261 } 72262 72263 /*****************************************************************************/ 72264 /* 72265 Return the a pointer to abbreviated meaning of the supplied HTTP status code. 72266 These are typical of those included on the response header status line. 72267 */ 72268 72269 char *HttpStatusCodeText (int StatusCode) 72270 1 72271 { 1 72272 /*********/ 1 72273 /* begin */ Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 27 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 72274 /*********/ 1 72275 1 72276 switch (StatusCode) 2 72277 { 2 72278 case 100 : return ("Continue"); /* (HTTP/1.1) */ 2 72279 case 101 : return ("Switching Protocols"); /* (HTTP/1.1) */ 2 72280 case 102 : return ("Processing"); /* (WebDAV - RFC2581) */ 2 72281 case 200 : return ("OK"); 2 72282 case 201 : return ("Created"); 2 72283 case 202 : return ("Accepted"); 2 72284 case 203 : return ("Non-authoritative"); /* (HTTP/1.1) */ 2 72285 case 204 : return ("No Content"); 2 72286 case 205 : return ("Reset Content"); /* (HTTP/1.1) */ 2 72287 case 206 : return ("Partial Content"); /* (HTTP/1.1) */ 2 72288 case 207 : return ("Multistatus"); /* (WebDAV - RFC2581) */ 2 72289 case 300 : return ("Multiple Choices"); /* (HTTP/1.1) */ 2 72290 case 301 : return ("Moved Permanently"); 2 72291 case 302 : return ("Found (Moved Temporarily)"); 2 72292 case 303 : return ("See Other"); /* (HTTP/1.1) */ 2 72293 case 304 : return ("Not Modified"); 2 72294 case 305 : return ("Use Proxy"); /* (HTTP/1.1) */ 2 72295 case 306 : return ("[reserved]"); 2 72296 case 307 : return ("Temporary Redirect"); /* (HTTP/1.1) */ 2 72297 case 400 : return ("Bad Request"); 2 72298 case 401 : return ("Authorization Required"); 2 72299 case 402 : return ("Payment Required"); /* (HTTP/1.1) */ 2 72300 case 403 : return ("Forbidden"); 2 72301 case 404 : return ("Not Found"); 2 72302 case 405 : return ("Method Not Allowed"); /* (HTTP/1.1) */ 2 72303 case 406 : return ("Not Acceptable"); /* (HTTP/1.1) */ 2 72304 case 407 : return ("Proxy Authentication Required"); /* (HTTP/1.1) */ 2 72305 case 408 : return ("Request Timeout"); /* (HTTP/1.1) */ 2 72306 case 409 : return ("Conflict"); /* (HTTP/1.1) */ 2 72307 case 410 : return ("Gone"); /* (HTTP/1.1) */ 2 72308 case 411 : return ("Length Required"); /* (HTTP/1.1) */ 2 72309 case 412 : return ("Precondition Failed"); /* (HTTP/1.1) */ 2 72310 case 413 : return ("Request Entity Too Large"); /* (HTTP/1.1) */ 2 72311 case 414 : return ("Request URI Too Long"); /* (HTTP/1.1) */ 2 72312 case 415 : return ("Unsupported Media Type"); /* (HTTP/1.1) */ 2 72313 case 416 : return ("Requested Range Not Satisfiable"); /* (HTTP/1.1) */ 2 72314 case 417 : return ("Expectation Failed"); /* (HTTP/1.1) */ 2 72315 case 418 : return ("I'm a teapot"); /* (RFC2324) */ 2 72316 case 421 : return ("Misdirected Request"); /* (HTTP/2 - RFC7540) */ 2 72317 case 422 : return ("Unprocessable Entity"); /* (WebDAV - RFC2581) */ 2 72318 case 423 : return ("Locked"); /* (WebDAV - RFC2581) */ 2 72319 case 424 : return ("Failed Dependency"); /* (WebDAV - RFC2581) */ 2 72320 case 426 : return ("Upgrade Required"); /* (RFC2847) */ 2 72321 case 500 : return ("Internal Error"); 2 72322 case 501 : return ("Not Implemented"); 2 72323 case 502 : return ("Bad Gateway"); 2 72324 case 503 : return ("Service Unavailable"); 2 72325 case 504 : return ("Gateway Timeout"); /* (HTTP/1.1) */ 2 72326 case 505 : return ("HTTP Version Not Supported"); /* (HTTP/1.1) */ 2 72327 case 507 : return ("Insufficient Storage"); /* (WebDAV - RFC2581) */ 2 72328 default : return ("Unknown Code!"); 1 72329 } 1 72330 } Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 28 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 72331 72332 /*****************************************************************************/ 72333 /* 72334 Return the a pointer an explanation of the supplied HTTP status code. These 72335 are supplied from the message database can be are used in error messages, etc. 72336 */ 72337 72338 char *HttpStatusCodeExplanation 72339 ( 72340 REQUEST_STRUCT *rqptr, 72341 int StatusCode 72342 ) 1 72343 { 1 72344 /*********/ 1 72345 /* begin */ 1 72346 /*********/ 1 72347 1 72348 switch (StatusCode) 2 72349 { 2 72350 /* continue (HTTP/1.1) */ 2 72351 case 100 : return (MsgFor(rqptr,MSG_HTTP_100)); 2 72352 /* switching protocols (HTTP/1.1) */ 2 72353 case 101 : return (MsgFor(rqptr,MSG_HTTP_101)); 2 72354 /* processing (WedDAV - RFC2518) */ 2 72355 case 102 : return ("processing"); 2 72356 /* success */ 2 72357 case 200 : return (MsgFor(rqptr,MSG_HTTP_200)); 2 72358 /* created */ 2 72359 case 201 : return (MsgFor(rqptr,MSG_HTTP_201)); 2 72360 /* accepted */ 2 72361 case 202 : return (MsgFor(rqptr,MSG_HTTP_202)); 2 72362 /* non-authoritative (HTTP/1.1) */ 2 72363 case 203 : return (MsgFor(rqptr,MSG_HTTP_203)); 2 72364 /* no content */ 2 72365 case 204 : return (MsgFor(rqptr,MSG_HTTP_204)); 2 72366 /* reset content (HTTP/1.1) */ 2 72367 case 205 : return (MsgFor(rqptr,MSG_HTTP_205)); 2 72368 /* partial content (HTTP/1.1) */ 2 72369 case 206 : return (MsgFor(rqptr,MSG_HTTP_206)); 2 72370 /* multi-status (WedDAV - RFC2518) */ 2 72371 case 207 : return ("multi-status"); 2 72372 /* multiple choices (HTTP/1.1) */ 2 72373 case 300 : return (MsgFor(rqptr,MSG_HTTP_300)); 2 72374 /* moved permanently */ 2 72375 case 301 : return (MsgFor(rqptr,MSG_HTTP_301)); 2 72376 /* moved temporarily */ 2 72377 case 302 : return (MsgFor(rqptr,MSG_HTTP_302)); 2 72378 /* see other (HTTP/1.1) */ 2 72379 case 303 : return (MsgFor(rqptr,MSG_HTTP_303)); 2 72380 /* not modified */ 2 72381 case 304 : return (MsgFor(rqptr,MSG_HTTP_304)); 2 72382 /* use proxy (HTTP/1.1) */ 2 72383 case 305 : return (MsgFor(rqptr,MSG_HTTP_305)); 2 72384 /* reserved (WedDAV - RFC2518) */ 2 72385 case 306 : return ("reserved"); 2 72386 /* temporary redirect (WedDAV - RFC2518) */ 2 72387 case 307 : return ("temporary redirect"); Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 29 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 2 72388 /* bad request */ 2 72389 case 400 : return (MsgFor(rqptr,MSG_HTTP_400)); 2 72390 /* authorization required */ 2 72391 case 401 : return (MsgFor(rqptr,MSG_HTTP_401)); 2 72392 /* payment required */ 2 72393 case 402 : return (MsgFor(rqptr,MSG_HTTP_402)); 2 72394 /* forbidden */ 2 72395 case 403 : return (MsgFor(rqptr,MSG_HTTP_403)); 2 72396 /* not found */ 2 72397 case 404 : return (MsgFor(rqptr,MSG_HTTP_404)); 2 72398 /* method not allowed (HTTP/1.1) */ 2 72399 case 405 : return (MsgFor(rqptr,MSG_HTTP_405)); 2 72400 /* not acceptable (HTTP/1.1) */ 2 72401 case 406 : return (MsgFor(rqptr,MSG_HTTP_406)); 2 72402 /* proxy authentication required (HTTP/1.1) */ 2 72403 case 407 : return (MsgFor(rqptr,MSG_HTTP_407)); 2 72404 /* request timeout (HTTP/1.1) */ 2 72405 case 408 : return (MsgFor(rqptr,MSG_HTTP_408)); 2 72406 /* resource conflict (HTTP/1.1) */ 2 72407 case 409 : return (MsgFor(rqptr,MSG_HTTP_409)); 2 72408 /* gone (HTTP/1.1) */ 2 72409 case 410 : return (MsgFor(rqptr,MSG_HTTP_410)); 2 72410 /* length required (HTTP/1.1) */ 2 72411 case 411 : return (MsgFor(rqptr,MSG_HTTP_411)); 2 72412 /* precondition failed (HTTP/1.1) */ 2 72413 case 412 : return (MsgFor(rqptr,MSG_HTTP_412)); 2 72414 /* request entity too large (HTTP/1.1) */ 2 72415 case 413 : return (MsgFor(rqptr,MSG_HTTP_413)); 2 72416 /* request-URI too long (HTTP/1.1) */ 2 72417 case 414 : return (MsgFor(rqptr,MSG_HTTP_414)); 2 72418 /* unsupported media type (HTTP/1.1) */ 2 72419 case 415 : return (MsgFor(rqptr,MSG_HTTP_415)); 2 72420 /* requested range not satisfiable (HTTP/1.1) */ 2 72421 case 416 : return (MsgFor(rqptr,MSG_HTTP_416)); 2 72422 /* expectation failed (HTTP/1.1) */ 2 72423 case 417 : return (MsgFor(rqptr,MSG_HTTP_417)); 2 72424 /* misdirected request (HTTP/2 - RFC7540) */ 2 72425 case 421 : return ("misdirected request"); 2 72426 /* unprocessable entity (WedDAV - RFC2518) */ 2 72427 case 422 : return ("unprocessable entity"); 2 72428 /* locked (WedDAV - RFC2518) */ 2 72429 case 423 : return ("locked"); 2 72430 /* internal error */ 2 72431 case 500 : return (MsgFor(rqptr,MSG_HTTP_500)); 2 72432 /* not implemented */ 2 72433 case 501 : return (MsgFor(rqptr,MSG_HTTP_501)); 2 72434 /* bad gateway */ 2 72435 case 502 : return (MsgFor(rqptr,MSG_HTTP_502)); 2 72436 /* service unavailable */ 2 72437 case 503 : return (MsgFor(rqptr,MSG_HTTP_503)); 2 72438 /* gateway timeout (HTTP/1.1) */ 2 72439 case 504 : return (MsgFor(rqptr,MSG_HTTP_504)); 2 72440 /* HTTP version not supported (HTTP/1.1) */ 2 72441 case 505 : return (MsgFor(rqptr,MSG_HTTP_505)); 2 72442 /* unknown code! */ 2 72443 default : 2 72444 return ("The server is reporting an UNKNOWN status code!"); Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 30 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 72445 } 1 72446 } 72447 72448 /*****************************************************************************/ 72449 /* 72450 Returns a pointer to a VmGetHeap()ed string of tags for an 72451 internally generated HTML document. 72452 */ 72453 72454 char* HtmlMetaInfo 72455 ( 72456 REQUEST_STRUCT *rqptr, 72457 char *VmsInfoPtr 72458 ) 1 72459 { 1 72460 int status; 1 72461 ulong FaoVector [16]; 1 72462 ulong *vecptr; 1 72463 ushort Length; 1 72464 char *MetaPtr; 1 72465 char Buffer [2048]; 1 72466 1 72467 /*********/ 1 72468 /* begin */ 1 72469 /*********/ 1 72470 1 72471 vecptr = &FaoVector; 1 72472 *vecptr++ = SoftwareID; 1 72473 *vecptr++ = rqptr->rqTime.GmDateTime; 1 72474 1 72475 if (rqptr->RemoteUser[0]) 2 72476 { 2 72477 *vecptr++ = "\n"; 2 72478 *vecptr++ = rqptr->RemoteUser; 2 72479 *vecptr++ = rqptr->rqAuth.RealmDescrPtr; 2 72480 *vecptr++ = rqptr->ServicePtr->ServerHostPort; 1 72481 } 1 72482 else 2 72483 { 2 72484 *vecptr++ = "\n"; 2 72485 *vecptr++ = rqptr->ServicePtr->ServerHostPort; 1 72486 } 1 72487 1 72488 if (VmsInfoPtr && VmsInfoPtr[0]) 2 72489 { 2 72490 if (Config.cfReport.MetaInfoEnabled) 3 72491 { 3 72492 *vecptr++ = "\n!&@"; 3 72493 *vecptr++ = VmsInfoPtr; 3 72494 if (rqptr->PathOds) 4 72495 { 4 72496 *vecptr++ = "\n"; 4 72497 switch (rqptr->PathOds) 5 72498 { 5 72499 case MAPURL_PATH_ODS_2 : *vecptr++ = "2"; break; 5 72500 case MAPURL_PATH_ODS_5 : *vecptr++ = "5"; break; 5 72501 case MAPURL_PATH_ODS_ADS : *vecptr++ = "ADS"; break; Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 31 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 5 72502 case MAPURL_PATH_ODS_PWK : *vecptr++ = "PWK"; break; 5 72503 case MAPURL_PATH_ODS_SMB : *vecptr++ = "SMB"; break; 5 72504 case MAPURL_PATH_ODS_SRI : *vecptr++ = "SRI"; break; 5 72505 default : *vecptr++ = "?"; 4 72506 } 3 72507 } 3 72508 else 3 72509 *vecptr++ = ""; 2 72510 } 2 72511 else 2 72512 *vecptr++ = ""; 1 72513 } 1 72514 else 1 72515 *vecptr++ = ""; 1 72516 1 72517 status = FaolToBuffer (Buffer, sizeof(Buffer), &Length, 1 72518 "\n\ 1 72519 \n\ 1 72520 !&@\ 1 72521 !&@\ 1 72522 \n", 1 72523 &FaoVector); 1 72524 1 72525 if (VMSnok (status) || status == SS$_BUFFEROVF) 2 72526 { 2 72527 ErrorNoticed (rqptr, status, NULL, FI_LI); 2 72528 return ("\n"); 1 72529 } 1 72530 1 72531 MetaPtr = VmGetHeap (rqptr, Length+1); 1 72532 memcpy (MetaPtr, Buffer, Length+1); 1 72533 1 72534 return (MetaPtr); 1 72535 } 72536 72537 /*****************************************************************************/ 72538 /* 72539 Return a string containing a duration string. 72540 Durations are in standard (VMS) 100nS units. 72541 If less than one minute provide as 'seconds.micro[milli]seconds'. 72542 If a minute or greater as '[ddd-]hh.mm.ss'. 72543 */ 72544 72545 char* DurationString 72546 ( 72547 REQUEST_STRUCT *rqptr, 72548 int64 *Time64Ptr 72549 ) 1 72550 { 1 72551 static int bidx; 1 72552 static buf [4][32]; 1 72553 static $DESCRIPTOR (DateFaoDsc, "!13%D\0"); 1 72554 static $DESCRIPTOR (TimeFaoDsc, "!8%T\0"); 1 72555 static $DESCRIPTOR (TimeDsc, ""); 1 72556 1 72557 int64 time64; 1 72558 double dsecs; Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 32 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 72559 char *sptr; 1 72560 1 72561 /*********/ 1 72562 /* begin */ 1 72563 /*********/ 1 72564 1 72565 if (WATCHMOD (rqptr, WATCH_MOD__OTHER)) 1 72566 WatchThis (WATCHITM(rqptr), WATCH_MOD__OTHER, 1 72567 "DurationString() !&UQ !%T", 1 72568 Time64Ptr, Time64Ptr); 1 72569 1 72570 if (rqptr) 1 72571 sptr = VmGetHeap (rqptr, 32); 1 72572 else 2 72573 { 2 72574 sptr = buf[bidx++]; 2 72575 if (bidx >= 4) bidx = 0; 1 72576 } 1 72577 1 72578 time64 = *Time64Ptr; 1 72579 if (!time64 || time64 == DELTA64_ZERO) 1 72580 sptr = "0.0s"; 1 72581 else 1 72582 if (time64 >= DELTA64_ONE_SEC) 2 72583 { 2 72584 /* AVTWare https://www.avtware.com (EISNER) seems to sometimes return +ve times */ 2 72585 if (time64 > 0) time64 = -time64; 2 72586 /* less than one second, give in milliseconds */ 2 72587 dsecs = (double)time64; 2 72588 if (time64 > DELTA64_ONE_MSEC) 2 72589 sprintf (sptr, "%0.3fms", dsecs / (double)DELTA64_ONE_MSEC); 2 72590 else 2 72591 if (time64 > DELTA64_HUN_MSEC) 2 72592 sprintf (sptr, "%.1fms", dsecs / (double)DELTA64_ONE_MSEC); 2 72593 else 2 72594 sprintf (sptr, "%.0fms", dsecs / (double)DELTA64_ONE_MSEC); 1 72595 } 1 72596 else 1 72597 if (time64 >= DELTA64_ONE_MIN) 2 72598 { 2 72599 /* less than one minute, give in seconds and fractions */ 2 72600 dsecs = (double)time64; 2 72601 if (time64 > DELTA64_TEN_SEC) 2 72602 sprintf (sptr, "%.3fs", dsecs / (double)DELTA64_ONE_SEC); 2 72603 else 2 72604 sprintf (sptr, "%.2fs", dsecs / (double)DELTA64_ONE_SEC); 1 72605 } 1 72606 else 1 72607 if (time64 >= DELTA64_ONE_DAY) 2 72608 { 2 72609 /* less than twenty-four hours */ 2 72610 TimeDsc.dsc$a_pointer = sptr; 2 72611 TimeDsc.dsc$w_length = 32; 2 72612 sys$fao (&TimeFaoDsc, 0, &TimeDsc, Time64Ptr); 1 72613 } 1 72614 else 2 72615 { Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 33 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 2 72616 /* greater than twenty-four hours */ 2 72617 TimeDsc.dsc$a_pointer = sptr; 2 72618 TimeDsc.dsc$w_length = 32; 2 72619 sys$fao (&DateFaoDsc, 0, &TimeDsc, Time64Ptr); 2 72620 sptr[4] = 160; /* ISO8859-1 non-breaking space */ 2 72621 while (*sptr == ' ') sptr++; 1 72622 } 1 72623 1 72624 return (sptr); 1 72625 } 72626 72627 /*****************************************************************************/ 72628 /* 72629 Return an allocated string containing the average duration. 72630 */ 72631 72632 char* AverageDurationString 72633 ( 72634 REQUEST_STRUCT *rqptr, 72635 int64 *Time64Ptr, 72636 ulong Count 72637 ) 1 72638 { 1 72639 int status; 1 72640 int64 time64; 1 72641 float fcount; 1 72642 1 72643 /*********/ 1 72644 /* begin */ 1 72645 /*********/ 1 72646 1 72647 if (WATCHMOD (rqptr, WATCH_MOD__OTHER)) 1 72648 WatchThis (WATCHITM(rqptr), WATCH_MOD__OTHER, 1 72649 "AverageDurationString() !&X !&X !%T", 1 72650 Time64Ptr[0], Time64Ptr[1], Time64Ptr); 1 72651 1 72652 time64 = 0; 1 72653 if (Count) 2 72654 { 2 72655 time64 = *(INT64PTR)Time64Ptr; 2 72656 fcount = (float)Count; 2 72657 fcount = 1.0 / fcount; 2 72658 2 72659 status = lib$mults_delta_time (&fcount, &time64); 2 72660 if (VMSnok (status)) 3 72661 { 3 72662 if (status != LIB$_IVTIME) 3 72663 ErrorNoticed (rqptr, status, NULL, FI_LI); 3 72664 time64 = 0; 2 72665 } 1 72666 } 1 72667 return (DurationString (rqptr, &time64)); 1 72668 } 72669 72670 /*****************************************************************************/ 72671 /* 72672 Format a string containing how many seconds, minutes, hours, days ago from the Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 34 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 72673 current time. For example; "15s", "10m", "17h", "152d". Return VMS status. 72674 |AgoBuf| should be at least 16 chars. 72675 */ 72676 72677 void ThisLongAgo 72678 ( 72679 int64 *Time64Ptr, 72680 char *AgoBuf 72681 ) 1 72682 { 1 72683 static ulong LibDeltaSecs = LIB$K_DELTA_SECONDS; 1 72684 static $DESCRIPTOR (AgoFaoDsc, "!UL!AZ\0"); 1 72685 static $DESCRIPTOR (AgoBufDsc, ""); 1 72686 1 72687 int status; 1 72688 ulong SecsAgo; 1 72689 int64 NowTime64; 1 72690 1 72691 /*********/ 1 72692 /* begin */ 1 72693 /*********/ 1 72694 1 72695 if (WATCH_MODULE(WATCH_MOD__OTHER)) 1 72696 WatchThis (WATCHALL, WATCH_MOD__OTHER, "ThisLongAgo()"); 1 72697 1 72698 *(USHORTPTR)AgoBuf = '0\0'; 1 72699 1 72700 if (!*Time64Ptr) return; 1 72701 1 72702 sys$gettim (&NowTime64); 1 72703 SecsAgo = (NowTime64 - *Time64Ptr) / TIME64_ONE_SEC; 1 72704 1 72705 AgoBufDsc.dsc$a_pointer = AgoBuf; 1 72706 AgoBufDsc.dsc$w_length = 16; 1 72707 1 72708 status = SS$_NORMAL; 1 72709 1 72710 if (SecsAgo >= (60*60*24)) 1 72711 status = sys$fao (&AgoFaoDsc, 0, &AgoBufDsc, SecsAgo / (60*60*24), "d"); 1 72712 else 1 72713 if (SecsAgo >= (60*60)) 1 72714 status = sys$fao (&AgoFaoDsc, 0, &AgoBufDsc, SecsAgo / (60*60), "h"); 1 72715 else 1 72716 if (SecsAgo >= 60) 1 72717 status = sys$fao (&AgoFaoDsc, 0, &AgoBufDsc, SecsAgo / 60, "m"); 1 72718 else 1 72719 if (SecsAgo > 1) 1 72720 status = sys$fao (&AgoFaoDsc, 0, &AgoBufDsc, SecsAgo, "s"); 1 72721 else 1 72722 strncpy (AgoBuf, "now", sizeof(AgoBuf)); 1 72723 } 72724 72725 /*****************************************************************************/ 72726 /* 72727 Put into the supplied buffer the time with the year removed (e.g. 31-OCT 72728 23:01:15"). The buffer should have at least 16 bytes capacity. 72729 */ Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 35 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 72730 72731 void TimeSansYear 72732 ( 72733 ulong *Time64Ptr, 72734 char *Buffer 72735 ) 1 72736 { 1 72737 static $DESCRIPTOR (TimeFaoDsc, "!20%D\0"); 1 72738 static char TimeBuf [32]; 1 72739 static $DESCRIPTOR (TimeBufDsc, TimeBuf); 1 72740 1 72741 int status; 1 72742 char *cptr, *sptr; 1 72743 1 72744 /*********/ 1 72745 /* begin */ 1 72746 /*********/ 1 72747 1 72748 if (WATCH_MODULE(WATCH_MOD__OTHER)) 1 72749 WatchThis (WATCHALL, WATCH_MOD__OTHER, "ThisLongAgo() !8XL", Time64Ptr); 1 72750 1 72751 if (!*(UINT64PTR)Time64Ptr) 2 72752 { 2 72753 strzcpy (Buffer, "(none)", 16); 2 72754 return; 1 72755 } 1 72756 1 72757 Buffer[0] = '\0'; 1 72758 status = sys$fao (&TimeFaoDsc, 0, &TimeBufDsc, Time64Ptr); 1 72759 if (VMSnok (status)) return; 1 72760 sptr = Buffer; 1 72761 for (cptr = TimeBuf; *cptr && *cptr != '-'; *sptr++ = *cptr++); 1 72762 for (*sptr++ = *cptr++; *cptr && *cptr != '-'; *sptr++ = *cptr++); 1 72763 while (*cptr && *cptr != ' ') cptr++; 1 72764 while (*cptr) *sptr++ = *cptr++; 1 72765 *sptr = '\0'; 1 72766 } 72767 72768 /*****************************************************************************/ 72769 /* 72770 Convert a VMS quadword, binary time to a Unix-style time component structure. 72771 */ 72772 72773 BOOL TimeVmsToUnix 72774 ( 72775 int64 *Time64Ptr, 72776 struct tm *TmPtr 72777 ) 1 72778 { 1 72779 static ulong LibDayOfWeek = LIB$K_DAY_OF_WEEK; 1 72780 static ulong LibDayOfYear = LIB$K_DAY_OF_YEAR; 1 72781 1 72782 int status; 1 72783 ulong DayOfWeek, 1 72784 DayOfYear; 1 72785 ushort time7 [7]; 1 72786 int64 time64; Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 36 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 72787 1 72788 /*********/ 1 72789 /* begin */ 1 72790 /*********/ 1 72791 1 72792 if (!Time64Ptr) sys$gettim (Time64Ptr = &time64); 1 72793 1 72794 if (VMSnok (status = sys$numtim (&time7, Time64Ptr))) 1 72795 return (status); 1 72796 1 72797 lib$cvt_from_internal_time (&LibDayOfWeek, &DayOfWeek, Time64Ptr); 1 72798 lib$cvt_from_internal_time (&LibDayOfYear, &DayOfYear, Time64Ptr); 1 72799 1 72800 TmPtr->tm_sec = time7[5]; 1 72801 TmPtr->tm_min = time7[4]; 1 72802 TmPtr->tm_hour = time7[3]; 1 72803 TmPtr->tm_mday = time7[2]; 1 72804 TmPtr->tm_mon = time7[1] - 1; 1 72805 TmPtr->tm_year = time7[0] - 1900; 1 72806 TmPtr->tm_wday = DayOfWeek; 1 72807 TmPtr->tm_yday = DayOfYear; 1 72808 TmPtr->tm_isdst = 0; 1 72809 1 72810 return (SS$_NORMAL); 1 72811 } 72812 72813 /*****************************************************************************/ 72814 /* 72815 Convert a Unix-style 32 bit time in seconds to an equivalent 64 bit VMS time. 72816 */ 72817 72818 void TimeUnix32ToVms64 72819 ( 72820 ulong time32, 72821 uint64 *time64ptr 72822 ) 1 72823 { 1 72824 /*********/ 1 72825 /* begin */ 1 72826 /*********/ 1 72827 1 72828 /* ((unix seconds + seconds since 17-NOV-1858) * 10nS) + timezone */ 1 72829 uint64 time64 = (((uint64)time32 + 3506716800) * 10000000) + TimeUtcDelta64; 1 72830 if (time64ptr) *time64ptr = time64; 1 72831 } 72832 72833 /****************************************************************************/ 72834 /* 72835 generate a standard VMS protection string from the mask. 'String' must be at 72836 least 28 bytes (better use 32 :^) Returns the length of the string. 72837 */ 72838 72839 int FormatProtection 72840 ( 72841 ushort pmask, 72842 char *String 72843 ) Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 37 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 72844 { 1 72845 char *sptr; 1 72846 1 72847 /*********/ 1 72848 /* begin */ 1 72849 /*********/ 1 72850 1 72851 sptr = String; 1 72852 1 72853 if (!(pmask & 0x0001)) *sptr++ = 'R'; 1 72854 if (!(pmask & 0x0002)) *sptr++ = 'W'; 1 72855 if (!(pmask & 0x0004)) *sptr++ = 'E'; 1 72856 if (!(pmask & 0x0008)) *sptr++ = 'D'; 1 72857 *sptr++ = ','; 1 72858 if (!(pmask & 0x0010)) *sptr++ = 'R'; 1 72859 if (!(pmask & 0x0020)) *sptr++ = 'W'; 1 72860 if (!(pmask & 0x0040)) *sptr++ = 'E'; 1 72861 if (!(pmask & 0x0080)) *sptr++ = 'D'; 1 72862 *sptr++ = ','; 1 72863 if (!(pmask & 0x0100)) *sptr++ = 'R'; 1 72864 if (!(pmask & 0x0200)) *sptr++ = 'W'; 1 72865 if (!(pmask & 0x0400)) *sptr++ = 'E'; 1 72866 if (!(pmask & 0x0800)) *sptr++ = 'D'; 1 72867 *sptr++ = ','; 1 72868 if (!(pmask & 0x1000)) *sptr++ = 'R'; 1 72869 if (!(pmask & 0x2000)) *sptr++ = 'W'; 1 72870 if (!(pmask & 0x4000)) *sptr++ = 'E'; 1 72871 if (!(pmask & 0x8000)) *sptr++ = 'D'; 1 72872 1 72873 *sptr = '\0'; 1 72874 return (sptr - String); 1 72875 } 72876 72877 /*****************************************************************************/ 72878 /* 72879 Just return the process' current BYTLM quota. 72880 */ 72881 72882 GetJpiBytLm () 72883 1 72884 { 1 72885 static ulong Pid = 0; 1 72886 1 72887 static ulong JpiBytLm; 1 72888 static VMS_ITEM_LIST3 JpiItems [] = 1 72889 { 1 72890 { sizeof(JpiBytLm), JPI$_BYTLM, &JpiBytLm, 0 }, 1 72891 {0,0,0,0} 1 72892 }; 1 72893 1 72894 int status; 1 72895 IO_SB IOsb; 1 72896 1 72897 /*********/ 1 72898 /* begin */ 1 72899 /*********/ 1 72900 Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 38 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 72901 status = sys$getjpiw (EfnWait, &Pid, 0, &JpiItems, &IOsb, 0, 0); 1 72902 if (VMSok (status)) status = IOsb.Status; 1 72903 if (VMSok (status)) return (JpiBytLm); 1 72904 ErrorExitVmsStatus (status, NULL, FI_LI); 1 72905 } 72906 72907 /*****************************************************************************/ 72908 /* 72909 Returns a pointer to a dynamic string containing the client host details as 72910 "name (address)" or just "address". 72911 */ 72912 72913 char* ClientHostString (REQUEST_STRUCT *rqptr) 72914 1 72915 { 1 72916 static $DESCRIPTOR (AddressFaoDsc, "!AZ\0"); 1 72917 static $DESCRIPTOR (NameAddressFaoDsc, "!AZ (!AZ)\0"); 1 72918 1 72919 ushort slen; 1 72920 char *cptr; 1 72921 char Buffer [256]; 1 72922 $DESCRIPTOR (BufferDsc, Buffer); 1 72923 1 72924 /*********/ 1 72925 /* begin */ 1 72926 /*********/ 1 72927 1 72928 if (!strcmp (rqptr->ClientPtr->Lookup.HostName, 1 72929 &rqptr->ClientPtr->IpAddressString)) 1 72930 sys$fao (&AddressFaoDsc, &slen, &BufferDsc, 1 72931 &rqptr->ClientPtr->IpAddressString); 1 72932 else 1 72933 sys$fao (&NameAddressFaoDsc, &slen, &BufferDsc, 1 72934 rqptr->ClientPtr->Lookup.HostName, 1 72935 &rqptr->ClientPtr->IpAddressString); 1 72936 1 72937 cptr = VmGetHeap (rqptr, slen+1); 1 72938 strzcpy (cptr, Buffer, slen+1); 1 72939 return (cptr); 1 72940 } 72941 72942 /*****************************************************************************/ 72943 /* 72944 */ 72945 72946 char* UserAtClient (REQUEST_STRUCT *rqptr) 72947 1 72948 { 1 72949 int len; 1 72950 char *cptr, *sptr, *zptr; 1 72951 char StringBuffer [256]; 1 72952 1 72953 /*********/ 1 72954 /* begin */ 1 72955 /*********/ 1 72956 1 72957 if (!rqptr->RemoteUser[0]) return (rqptr->ClientPtr->Lookup.HostName); Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 39 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 72958 1 72959 zptr = (sptr = StringBuffer) + sizeof(StringBuffer)-1; 1 72960 for (cptr = rqptr->RemoteUser; *cptr; cptr++) 1 72961 if (!isalnum(*cptr) && *cptr != '-' && *cptr != '_') break; 1 72962 if (*cptr) *sptr++ = '\"'; 1 72963 for (cptr = rqptr->RemoteUser; 1 72964 *cptr && sptr < zptr; 1 72965 *sptr++ = *cptr++); 1 72966 if (StringBuffer[0] == '\"' && sptr < zptr) *sptr++ = '\"'; 1 72967 if (rqptr->rqAuth.RealmPtr) 2 72968 { 2 72969 if (sptr < zptr) *sptr++ = '.'; 2 72970 for (cptr = rqptr->rqAuth.RealmPtr; 2 72971 *cptr && sptr < zptr; 2 72972 *sptr++ = *cptr++); 1 72973 } 1 72974 if (sptr < zptr) *sptr++ = '@'; 1 72975 for (cptr = rqptr->ClientPtr->Lookup.HostName; 1 72976 *cptr && sptr < zptr; 1 72977 *sptr++ = *cptr++); 1 72978 *sptr = '\0'; 1 72979 1 72980 cptr = VmGetHeap (rqptr, len = sptr-StringBuffer+1); 1 72981 strzcpy (cptr, StringBuffer, len); 1 72982 return (cptr); 1 72983 } 72984 72985 /****************************************************************************/ 72986 /* 72987 Given a buffer of UTF-8 convert in-situ to 8 bit ASCII. Ignore non- 8 bit 72988 ASCII characters. End-of-string is indicated by text-length not a 72989 null-character, however the resultant string is nulled. If supplied the 8 bit 72990 character 'SubsChar' is substituted for any non 8 bit code in the string. 72991 Return the number of converted characters. Return -1 if there is an error. 72992 The string is mangled if an error. 72993 */ 72994 72995 int ConvertFromUtf8 72996 ( 72997 char *UtfPtr, 72998 int UtfCount, 72999 char SubsChar 73000 ) 1 73001 { 1 73002 uchar ch; 1 73003 uchar *cptr, *sptr, *zptr; 1 73004 1 73005 /*********/ 1 73006 /* begin */ 1 73007 /*********/ 1 73008 1 73009 if (WATCH_MODULE(WATCH_MOD__OTHER)) 1 73010 WatchThis (WATCHALL, WATCH_MOD__OTHER, 1 73011 "ConvertFromUtf8() !&C !#H", SubsChar, UtfCount, UtfPtr); 1 73012 1 73013 if (UtfCount == -1) UtfCount = strlen(UtfPtr); 1 73014 Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 40 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 73015 if (UtfCount < 0) return (-1); 1 73016 1 73017 /* is there a potentially UTF-8 bit pattern here? */ 1 73018 for (zptr = (cptr = (uchar*)UtfPtr) + UtfCount; cptr < zptr; cptr++) 1 73019 if ((*cptr & 0xc0) == 0xc0) break; 1 73020 1 73021 /* return if no UTF-8 conversion necessary (i.e. all 7 bit characters) */ 1 73022 if (cptr >= zptr) return (UtfCount); 1 73023 if (*cptr == 0xff) return (cptr - (uchar*)UtfPtr); 1 73024 1 73025 sptr = cptr; 1 73026 while (cptr < zptr) 2 73027 { 2 73028 if ((*cptr & 0xf8) == 0xf0) 3 73029 { 3 73030 /* four byte sequence */ 3 73031 if (++cptr >= zptr) goto utf8_nbg; 3 73032 if ((*cptr & 0xc0) != 0x80) goto utf8_nbg; 3 73033 if (++cptr >= zptr) goto utf8_nbg; 3 73034 if ((*cptr & 0xc0) != 0x80) goto utf8_nbg; 3 73035 if (++cptr >= zptr) goto utf8_nbg; 3 73036 if ((*cptr & 0xc0) != 0x80) goto utf8_nbg; 3 73037 if (SubsChar) *sptr++ = SubsChar; 2 73038 } 2 73039 else 2 73040 if ((*cptr & 0xf0) == 0xe0) 3 73041 { 3 73042 /* three byte sequence */ 3 73043 if (++cptr >= zptr) goto utf8_nbg; 3 73044 if ((*cptr & 0xc0) != 0x80) goto utf8_nbg; 3 73045 if (++cptr >= zptr) goto utf8_nbg; 3 73046 if ((*cptr & 0xc0) != 0x80) goto utf8_nbg; 3 73047 if (SubsChar) *sptr++ = SubsChar; 2 73048 } 2 73049 else 2 73050 if ((*cptr & 0xe0) == 0xc0) 3 73051 { 3 73052 /* two byte sequence */ 3 73053 if (*cptr & 0x1c) 4 73054 { 4 73055 /* out-of-range character */ 4 73056 if (++cptr >= zptr) goto utf8_nbg; 4 73057 if ((*cptr & 0xc0) != 0x80) goto utf8_nbg; 4 73058 if (++cptr >= zptr) goto utf8_nbg; 4 73059 if (SubsChar) *sptr++ = SubsChar; 3 73060 } 3 73061 else 4 73062 { 4 73063 /* 8 bit ASCII 128 to 255 */ 4 73064 ch = (*cptr & 0x03) << 6; 4 73065 if (++cptr >= zptr) goto utf8_nbg; 4 73066 if ((*cptr & 0xc0) != 0x80) goto utf8_nbg; 4 73067 ch |= *cptr & 0x3f; 4 73068 *sptr++ = ch; 4 73069 cptr++; 3 73070 } 2 73071 } Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 41 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 2 73072 else 3 73073 { 3 73074 /* 8 bit ASCII 0 to 127 */ 3 73075 *sptr++ = *cptr++; 2 73076 } 1 73077 } 1 73078 *sptr = '\0'; 1 73079 1 73080 return (sptr - (uchar*)UtfPtr); 1 73081 1 73082 utf8_nbg: 1 73083 return (-1); 1 73084 } 73085 73086 /****************************************************************************/ 73087 /* 73088 Given a buffer of 8 bit ASCII text convert it in-situ to UTF-8. Worst-case the 73089 buffer space needs to be two times in size (i.e. every character has the hi bit 73090 set requiring a leading UTF-8 byte). End-of-string is indicated by text-length 73091 not a null-character, however the resultant string is nulled. Return the 73092 length of the converted string. Return -1 if the buffer space will be too 73093 small. 73094 */ 73095 73096 int ConvertToUtf8 73097 ( 73098 char *TextPtr, 73099 int TextLength, 73100 int SizeOfText 73101 ) 1 73102 { 1 73103 int HiBitCount = 0; 1 73104 char *cptr, *sptr, *zptr; 1 73105 1 73106 /*********/ 1 73107 /* begin */ 1 73108 /*********/ 1 73109 1 73110 if (WATCH_MODULE(WATCH_MOD__OTHER)) 1 73111 WatchThis (WATCHALL, WATCH_MOD__OTHER, 1 73112 "ConvertFromUtf8() !!UL !#H", SizeOfText, TextLength, TextPtr); 1 73113 1 73114 if (TextLength == -1) TextLength = strlen(TextPtr); 1 73115 1 73116 for (zptr = (cptr = TextPtr) + TextLength; cptr < zptr; cptr++) 1 73117 if (*cptr & 0x80) HiBitCount++; 1 73118 1 73119 if (!HiBitCount) return (TextLength); 1 73120 1 73121 if (TextLength + HiBitCount >= SizeOfText - 1) return (-1); 1 73122 1 73123 sptr = (cptr = (zptr = TextPtr) + TextLength - 1) + HiBitCount + 1; 1 73124 *sptr-- = '\0'; 1 73125 while (cptr >= zptr) 2 73126 { 2 73127 if (*cptr & 0x80) 3 73128 { Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 42 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 3 73129 *sptr-- = (*cptr & 0x3f) | 0x80; 3 73130 *sptr-- = ((*cptr-- & 0xc0) >> 6) | 0xc0; 2 73131 } 2 73132 else 2 73133 *sptr-- = *cptr--; 1 73134 } 1 73135 1 73136 return (TextLength + HiBitCount); 1 73137 } 73138 73139 /****************************************************************************/ 73140 /* 73141 For UTF-8 encoded file names hex-escape characters that cause issues. This is 73142 intended to feed into RMS services such as $PARSE. Return zero if the original 73143 string can be used. Return minus one if the buffer overflowed. Return the 73144 number of characters in the escaped string when the buffer should be used. 73145 */ 73146 73147 int ConvertUtf8ToEscape 73148 ( 73149 char *FileSpec, 73150 char *BufferPtr, 73151 int BufferSize 73152 ) 1 73153 { 1 73154 static char HexDigit [] = "0123456789ABCDEF"; 1 73155 static char ScratchBuffer [ODS_MAX_FILE_NAME_LENGTH+1]; 1 73156 1 73157 char *cptr, *sptr, *zptr; 1 73158 1 73159 /*********/ 1 73160 /* begin */ 1 73161 /*********/ 1 73162 1 73163 if (WATCH_MODULE(WATCH_MOD__OTHER)) 1 73164 WatchThis (WATCHALL, WATCH_MOD__OTHER, 1 73165 "ConvertUtf8ToEscape() !&Z", FileSpec); 1 73166 1 73167 for (cptr = FileSpec; *cptr; cptr++) 1 73168 if (*(uchar*)cptr >= 0x80 && *(uchar*)cptr <= 0x9f) 1 73169 break; 1 73170 1 73171 if (!*cptr) return (0); 1 73172 1 73173 if (BufferPtr == FileSpec) 2 73174 { 2 73175 /* reusing the file spec buffer so put it into a scratch buffer */ 2 73176 zptr = (sptr = ScratchBuffer) + sizeof(ScratchBuffer)-1; 2 73177 for (cptr = FileSpec; *cptr && sptr < zptr; *sptr++ = *cptr++); 2 73178 if (sptr >= zptr) 3 73179 { 3 73180 BufferPtr[0] = '\0'; 3 73181 return (-1); 2 73182 } 2 73183 *sptr = '\0'; 2 73184 cptr = ScratchBuffer; 1 73185 } Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 43 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 73186 else 1 73187 cptr = FileSpec; 1 73188 1 73189 zptr = (sptr = BufferPtr) + BufferSize - 1; 1 73190 while (*cptr && sptr < zptr) 2 73191 { 2 73192 if (*(uchar*)cptr >= 0x80 && *(uchar*)cptr <= 0x9f) 3 73193 { 3 73194 *sptr++ = '^'; 3 73195 if (sptr < zptr) *sptr++ = HexDigit[((uchar)*cptr & 0xf0) >> 4]; 3 73196 if (sptr < zptr) *sptr++ = HexDigit[(uchar)*cptr & 0x0f]; 3 73197 cptr++; 2 73198 } 2 73199 else 2 73200 *sptr++ = *cptr++; 1 73201 } 1 73202 1 73203 if (sptr >= zptr) 2 73204 { 2 73205 BufferPtr[0] = '\0'; 2 73206 return (-1); 1 73207 } 1 73208 1 73209 *sptr = '\0'; 1 73210 if (WATCH_MODULE(WATCH_MOD_ODS)) 1 73211 WatchThis (WATCHALL, WATCH_MOD_ODS, "!&Z", BufferPtr); 1 73212 1 73213 return (sptr - BufferPtr); 1 73214 } 73215 73216 /*****************************************************************************/ 73217 /* 73218 Generate a unique, one-time-per-request nonce. 73219 */ 73220 73221 char* GenerateCspNonce (REQUEST_STRUCT *rqptr) 73222 1 73223 { 1 73224 static uint64 CspNonce [3]; 1 73225 1 73226 /*********/ 1 73227 /* begin */ 1 73228 /*********/ 1 73229 1 73230 if (rqptr->CspNonce[0]) return (rqptr->CspNonce); 1 73231 1 73232 sys$gettim (CspNonce[0]); 1 73233 CspNonce[1] = CspNonce[1] * 69069 + 1; 1 73234 CspNonce[2] = HttpdProcess.Pid; 1 73235 1 73236 Md5HexString (CspNonce, sizeof(CspNonce), rqptr->CspNonce); 1 73237 rqptr->CspNonce[CSP_NONCE_SIZE] = '\0'; 1 73238 1 73239 return (rqptr->CspNonce); 1 73240 } 73241 73242 /*****************************************************************************/ Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 44 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 73243 /* 73244 Generate a unique request identifier. 73245 */ 73246 73247 char* GenerateUniqueId (REQUEST_STRUCT *rqptr) 73248 1 73249 { 1 73250 static uint64 UniqueId [3]; 1 73251 static char UniqueIdString [32+1]; 1 73252 1 73253 /*********/ 1 73254 /* begin */ 1 73255 /*********/ 1 73256 1 73257 sys$gettim (UniqueId[0]); 1 73258 UniqueId[1] = HttpdProcess.Pid; 1 73259 UniqueId[2] = UniqueId[2] * 69069 + 1; 1 73260 1 73261 Md5HexString (UniqueId, sizeof(UniqueId), UniqueIdString); 1 73262 UniqueIdString[UNIQUE_ID_SIZE] = '\0'; 1 73263 1 73264 return (UniqueIdString); 1 73265 } 73266 73267 /*****************************************************************************/ 73268 /* 73269 Translate a logical name using LNM$FILE_DEV. Returns a pointer to the value 73270 string as a pointer to a static buffer which must be copied if to be retained, 73271 or NULL if the name does not exist. 73272 */ 73273 73274 char* SysTrnLnm (char *LogName) 73275 1 73276 { 1 73277 static ushort ValueLength; 1 73278 static ulong LnmAttributes; 1 73279 static char LogValue [256]; 1 73280 static $DESCRIPTOR (LogNameDsc, ""); 1 73281 static $DESCRIPTOR (LnmTableDsc, "LNM$FILE_DEV"); 1 73282 static struct { 1 73283 short int buf_len; 1 73284 short int item; 1 73285 void *buf_addr; 1 73286 ushort *ret_len; 1 73287 } LnmItems [] = 1 73288 { 1 73289 { sizeof(LnmAttributes), LNM$_ATTRIBUTES, &LnmAttributes, 0 }, 1 73290 { sizeof(LogValue)-1, LNM$_STRING, LogValue, &ValueLength }, 1 73291 { 0,0,0,0 } 1 73292 }; 1 73293 1 73294 int status; 1 73295 char *cptr; 1 73296 1 73297 /*********/ 1 73298 /* begin */ 1 73299 /*********/ Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 45 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 73300 1 73301 for (cptr = LogName; *cptr; cptr++); 1 73302 LogNameDsc.dsc$w_length = cptr - LogName; 1 73303 LogNameDsc.dsc$a_pointer = LogName; 1 73304 1 73305 memset (LogValue, 0, sizeof(LogValue)); 1 73306 1 73307 status = sys$trnlnm (0, &LnmTableDsc, &LogNameDsc, 0, &LnmItems); 1 73308 if (!(status & 1) || !(LnmAttributes & LNM$M_EXISTS)) return (NULL); 1 73309 1 73310 return (LogValue); 1 73311 } 73312 73313 /****************************************************************************/ 73314 /* 73315 Assign a global symbol. 73316 */ 73317 73318 int SetGlobalSymbol 73319 ( 73320 char *Name, 73321 char *String 73322 ) 1 73323 { 1 73324 static int GlobalSymbol = LIB$K_CLI_GLOBAL_SYM; 1 73325 static $DESCRIPTOR (NameDsc, ""); 1 73326 static $DESCRIPTOR (ValueDsc, ""); 1 73327 1 73328 int status; 1 73329 1 73330 /*********/ 1 73331 /* begin */ 1 73332 /*********/ 1 73333 1 73334 NameDsc.dsc$a_pointer = Name; 1 73335 NameDsc.dsc$w_length = strlen(Name); 1 73336 ValueDsc.dsc$a_pointer = String; 1 73337 ValueDsc.dsc$w_length = strlen(String); 1 73338 1 73339 status = lib$set_symbol (&NameDsc, &ValueDsc, &GlobalSymbol); 1 73340 return (status); 1 73341 } 73342 73343 /*****************************************************************************/ 73344 /* 73345 Return a float number of seconds. 73346 */ 73347 73348 float FloatDeltaTime (ulong *DeltaTimePtr) 73349 1 73350 { 1 73351 static int LibDeltaSecs = LIB$K_DELTA_SECONDS_F; 1 73352 1 73353 int status; 1 73354 float fsecs; 1 73355 1 73356 /*********/ Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 46 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1 73357 /* begin */ 1 73358 /*********/ 1 73359 1 73360 if (*DeltaTimePtr == DELTA64_ZERO) return (0.0); 1 73361 1 73362 #ifdef __ia64 1 73363 status = lib$cvts_from_internal_time (&LibDeltaSecs, &fsecs, DeltaTimePtr); 1X 73364 #else 1X 73365 status = lib$cvtf_from_internal_time (&LibDeltaSecs, &fsecs, DeltaTimePtr); 1X 73366 # ifdef __ALPHA 1X 73367 if (VMSok(status)) 1X 73368 status = cvt$convert_float (&fsecs, CVT$K_VAX_F, 1X 73369 &fsecs, CVT$K_IEEE_S, 0); 1X 73370 # endif 1X 73371 #endif 1 73372 if (VMSnok(status)) 2 73373 { 2 73374 ErrorNoticed (NULL, status, "lib$cvts_from_internal_time()", FI_LI); 2 73375 return (0.0); 1 73376 } 1 73377 1 73378 return (fsecs); 1 73379 } 73380 73381 /*****************************************************************************/ 73382 /* 73383 Return a longword bytes/second. 73384 */ 73385 73386 int BytesPerSecond 73387 ( 73388 ulong *BytesRxPtr, 73389 ulong *BytesTxPtr, 73390 ulong *DeltaTimePtr 73391 ) 1 73392 { 1 73393 static int LibDeltaSecs = LIB$K_DELTA_SECONDS_F; 1 73394 1 73395 int status; 1 73396 uint bps; 1 73397 float fbytes = 0.0, 1 73398 fsecs; 1 73399 1 73400 /*********/ 1 73401 /* begin */ 1 73402 /*********/ 1 73403 1 73404 /* if zero time then only an artifact will be generated! */ 1 73405 if (!*DeltaTimePtr || *DeltaTimePtr == DELTA64_ZERO) return (0); 1 73406 1 73407 if (BytesRxPtr) 1 73408 fbytes += (float)BytesRxPtr[0] + 1 73409 ((float)BytesRxPtr[1] * 4294967296.0); 1 73410 if (BytesTxPtr) 1 73411 fbytes += (float)BytesTxPtr[0] + 1 73412 ((float)BytesTxPtr[1] * 4294967296.0); 1 73413 Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 47 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 1X 73414 #ifdef __ALPHA 1X 73415 status = lib$cvtf_from_internal_time (&LibDeltaSecs, &fsecs, DeltaTimePtr); 1X 73416 if (VMSok(status)) 1X 73417 status = cvt$convert_float (&fsecs, CVT$K_VAX_F, 1X 73418 &fsecs, CVT$K_IEEE_S, 0); 1X 73419 #else 1 73420 status = lib$cvts_from_internal_time (&LibDeltaSecs, &fsecs, DeltaTimePtr); 1 73421 #endif 1 73422 if (VMSnok(status)) 2 73423 { 2 73424 if (status != LIB$_DELTIMREQ) 2 73425 ErrorNoticed (NULL, status, "lib$cvts_from_internal_time()", FI_LI); 2 73426 return (0); 1 73427 } 1 73428 1 73429 /* if greater than 2000000000 (2GB/S) it's likely to be an artifact! */ 1 73430 if ((bps = (uint)(fbytes / fsecs)) < 2000000000) 1 73431 return ((int)bps); 1 73432 else 1 73433 return (0); 1 73434 } 73435 73436 /*****************************************************************************/ 73437 /* 73438 Calculate percentages of unsigned longs using floats to avoid integer overflow 73439 and allowing more accurate rounding. 73440 */ 73441 73442 int PercentOf32 73443 ( 73444 ulong arg1, 73445 ulong arg2 73446 ) 1 73447 { 1 73448 int iperc; 1 73449 float farg1, farg2, fperc; 1 73450 1 73451 /*********/ 1 73452 /* begin */ 1 73453 /*********/ 1 73454 1 73455 if (arg2) 2 73456 { 2 73457 farg1 = (float)arg1; 2 73458 farg2 = (float)arg2; 2 73459 fperc = farg1 * 100.0 / farg2; 2 73460 iperc = (int)fperc; 2 73461 if (fperc - (float)iperc >= 0.5) iperc++; 2 73462 return (iperc); 1 73463 } 1 73464 return (0); 1 73465 } 73466 73467 /*****************************************************************************/ 73468 /* 73469 Calculate percentages of unsigned 64bits using floats to avoid overflow and 73470 allowing more accurate rounding. Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 48 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 73471 */ 73472 73473 int PercentOf64 73474 ( 73475 uint64 *arg1, 73476 uint64 *arg2 73477 ) 1 73478 { 1 73479 int iqperc; 1 73480 float farg1, farg2, fqperc; 1 73481 1 73482 /*********/ 1 73483 /* begin */ 1 73484 /*********/ 1 73485 1 73486 if (arg2) 2 73487 { 2 73488 farg1 = (float)(*(UINT64PTR)arg1); 2 73489 farg2 = (float)(*(UINT64PTR)arg2); 2 73490 if (farg2 == 0.0) return (0); 2 73491 fqperc = farg1 * 100.0 / farg2; 2 73492 iqperc = (int)fqperc; 2 73493 if (fqperc - (float)iqperc >= 0.5) iqperc++; 2 73494 return (iqperc); 1 73495 } 1 73496 return (0); 1 73497 } 73498 73499 /*****************************************************************************/ 73500 /* 73501 Integer power-of. 73502 */ 73503 73504 int ipow 73505 ( 73506 int base, 73507 int exp 73508 ) 1 73509 { 1 73510 int result = 1; 1 73511 1 73512 /*********/ 1 73513 /* begin */ 1 73514 /*********/ 1 73515 1 73516 while (exp) 2 73517 { 2 73518 if (exp & 1) result *= base; 2 73519 exp >>= 1; 2 73520 base *= base; 1 73521 } 1 73522 1 73523 return (result); 1 73524 } 73525 73526 /*****************************************************************************/ 73527 /* Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 49 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 73528 132 columns! 73529 */ 73530 X 73531 #if WATCH_MOD X 73532 X 73533 void TimeTest () X 73534 X 73535 { X 73536 int status; X 73537 int64 time64; X 73538 uint64 time128 [2]; X 73539 ushort time7 [7], X 73540 time13 [13]; X 73541 char *cptr; X 73542 char buf [256]; X 73543 X 73544 /*********/ X 73545 /* begin */ X 73546 /*********/ X 73547 X 73548 sys$getutc (&time128); X 73549 status = sys$numutc (&time13, &time128); X 73550 printf ("sys$numutc() %%X%08.08X %d %d %d %d %d %d %d %d %d %d %d %d %d\n", X 73551 status, X 73552 time13[0], time13[1], time13[2], time13[3], time13[4], X 73553 time13[5], time13[6], time13[7], time13[8], time13[9], X 73554 time13[10], time13[11], time13[12]); X 73555 X 73556 TimeSetHttpdUTC (); X 73557 printf ("TimeUtcDelta64: %lld sec:%lld min:%lld |%s|\n", X 73558 TimeUtcDelta64, TimeUtcDelta64 / TIME64_ONE_SEC, X 73559 TimeUtcDelta64 / TIME64_ONE_MIN, TimeGmtString); X 73560 X 73561 HttpGetTime (cptr = "Fri, 25 Aug 1995 17:32:40 GMT", &time64); X 73562 sys$numtim (&time7, &time64); X 73563 HttpGmTimeString (buf, &time64); X 73564 printf ("%32.32s %d %d %d %d %d %d %d |%s|\n", X 73565 cptr, time7[0], time7[1], time7[2], time7[3], time7[4], X 73566 time7[5], time7[6], buf); X 73567 X 73568 HttpGetTime (cptr = "Friday, 25-Aug-1995 17:32:40 GMT", &time64); X 73569 sys$numtim (&time7, &time64); X 73570 HttpGmTimeString (buf, &time64); X 73571 printf ("%32.32s %d %d %d %d %d %d %d |%s|\n", X 73572 cptr, time7[0], time7[1], time7[2], time7[3], time7[4], X 73573 time7[5], time7[6], buf); X 73574 X 73575 HttpGetTime (cptr = "1995-08-25T17:32:40.34Z+0000", &time64); X 73576 sys$numtim (&time7, &time64); X 73577 HttpGmTimeString (buf, &time64); X 73578 printf ("%32.32s %d %d %d %d %d %d %d |%s|\n", X 73579 cptr, time7[0], time7[1], time7[2], time7[3], time7[4], X 73580 time7[5], time7[6], buf); X 73581 } X 73582 X 73583 #endif /* WATCH_MOD */ 73584 Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 50 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 73585 /*****************************************************************************/ 73586 /* 73587 Set any 64 bit time using the value of the specificed logical name. 73588 Only for development purposes. 73589 */ 73590 X 73591 #if WATCH_MOD X 73592 X 73593 void SetAnyTime (char *lname, ulong *tbptr) X 73594 X 73595 { X 73596 int status; X 73597 char *cptr; X 73598 if (cptr = SysTrnLnm (lname)) X 73599 { X 73600 $DESCRIPTOR (dsc, ""); X 73601 dsc.dsc$a_pointer = cptr; X 73602 dsc.dsc$w_length = strlen(cptr); X 73603 status = sys$bintim (&dsc, tbptr); X 73604 if (VMSnok (status)) ErrorExitVmsStatus (status, "SetAnyTime()", FI_LI); X 73605 } X 73606 } X 73607 X 73608 #endif /* WATCH_MOD */ 73609 73610 /*****************************************************************************/ 73611 /* 73612 $ HTTPD /TEST MATCH for the relative performance of MATCH1..8() and memcmp(). 73613 */ 73614 X 73615 #if WATCH_MOD X 73616 X 73617 MatchPerf () X 73618 X 73619 #pragma optimize save X 73620 #pragma optimize level=0 X 73621 X 73622 { X 73623 int cnt, result; X 73624 char MatchTest1 [] = "01234567890", X 73625 MatchTest2 [] = "012345678_0"; X 73626 int MatchTest3 = '0123'; X 73627 X 73628 /*********/ X 73629 /* begin */ X 73630 /*********/ X 73631 X 73632 lib$init_timer (0); X 73633 for (cnt = 100000000; cnt; cnt--) X 73634 { X 73635 result = MATCH2 (MatchTest1, MatchTest2); X 73636 result = MATCH3 (MatchTest1, MatchTest2); X 73637 result = MATCH4 (MatchTest1, MatchTest2); X 73638 result = MATCH5 (MatchTest1, MatchTest2); X 73639 result = MATCH6 (MatchTest1, MatchTest2); X 73640 result = MATCH7 (MatchTest1, MatchTest2); X 73641 result = MATCH8 (MatchTest1, MatchTest2); Source Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 51 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 X 73642 } X 73643 lib$show_timer (0,0,0,0); X 73644 lib$init_timer (0); X 73645 for (cnt = 100000000; cnt; cnt--) X 73646 { X 73647 result = !memcmp (MatchTest1, MatchTest2, 2); X 73648 result = !memcmp (MatchTest1, MatchTest2, 3); X 73649 result = !memcmp (MatchTest1, MatchTest2, 4); X 73650 result = !memcmp (MatchTest1, MatchTest2, 5); X 73651 result = !memcmp (MatchTest1, MatchTest2, 6); X 73652 result = !memcmp (MatchTest1, MatchTest2, 7); X 73653 result = !memcmp (MatchTest1, MatchTest2, 8); X 73654 } X 73655 lib$show_timer (0,0,0,0); X 73656 lib$init_timer (0); X 73657 for (cnt = 100000000; cnt; cnt--) X 73658 { X 73659 result = MATCH2 (MatchTest1, MatchTest2); X 73660 result = MATCH3 (MatchTest1, MatchTest2); X 73661 result = MATCH4 (MatchTest1, MatchTest2); X 73662 result = MATCH2 (MatchTest1, MatchTest2); X 73663 result = MATCH3 (MatchTest1, MatchTest2); X 73664 result = MATCH4 (MatchTest1, MatchTest2); X 73665 } X 73666 lib$show_timer (0,0,0,0); X 73667 lib$init_timer (0); X 73668 for (cnt = 100000000; cnt; cnt--) X 73669 { X 73670 result = SAME2 (MatchTest1, MatchTest3); X 73671 result = SAME3 (MatchTest1, MatchTest3); X 73672 result = SAME4 (MatchTest1, MatchTest3); X 73673 result = SAME2 (MatchTest1, MatchTest3); X 73674 result = SAME3 (MatchTest1, MatchTest3); X 73675 result = SAME4 (MatchTest1, MatchTest3); X 73676 } X 73677 lib$show_timer (0,0,0,0); X 73678 } X 73679 X 73680 #pragma optimize restore X 73681 X 73682 #endif /* WATCH_MOD */ 73683 73684 /****************************************************************************/ 73685 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 52 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 .psect $CODE$, CON, LCL, SHR, EXE, NOWRT, NOVEC, NOSHORT .proc SysDclAst .align 32 .global SysDclAst SysDclAst: // 071043 { .mii 002C00614900 0000 alloc r36 = rspfs, 2, 4, 4, 0 0001880008C0 0001 mov r35 = rp // r35 = br0 010800100940 0002 mov r37 = gp // r37 = r1 } { .mmi 012000006640 0010 mov ai = 3 ;; // r25 = 3 // 071059 012000000A00 0011 mov out2 = 0 // r40 = 0 0000B21009C0 0012 sxt4 out1 = Parameter // r39 = r33 } { .mfb 010802000980 0020 mov out0 = Address // r38 = r32 000008000000 0021 nop.f 0 00A000001000 0022 br.call.sptk.many rp = SYS$DCLAST ;; // br0 = SYS$DCLAST } { .mib 010802500040 0030 mov gp = r37 // r1 = r37 00A0308001C0 0031 tbit.z pr7, pr6 = status, 0 // pr7, pr6 = r8, 0 // 071060 008600004007 0032 (pr7) br.cond.dpnt.many L$3 ;; } { .mfb 000008000000 0040 nop.m 0 000008000000 0041 nop.f 0 008000015000 0042 br.sptk.many L$9 ;; } 0050 L$3: { .mfb 01CC40838000 0050 cmp4.eq pr0, pr8 = 28, status // pr0, pr8 = 28, r8 // 071062 000008000000 0051 nop.f 0 00860000A008 0052 (pr8) br.cond.dpnt.many L$7 ;; } { .mib 012000002640 0060 mov ai = 1 // r25 = 1 // 071065 012000000980 0061 mov out0 = 0 // r38 = 0 00A000001000 0062 br.call.sptk.many rp = SYS$CANEXH ;; // br0 = SYS$CANEXH } { .mii 012000002640 0070 mov ai = 1 // r25 = 1 // 071067 0122A0008980 0071 addl out0 = 10756, r0 // r38 = 10756, r0 010802500040 0072 mov gp = r37 ;; // r1 = r37 // 071065 } { .mfb 000008000000 0080 nop.m 0 000008000000 0081 nop.f 0 00A000001000 0082 br.call.sptk.many rp = SYS$EXIT ;; // br0 = SYS$EXIT // 071067 } { .mfb 000008000000 0090 nop.m 0 000008000000 0091 nop.f 0 008000009000 0092 br.sptk.many L$1122 ;; } 00A0 L$7: // 071069 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 53 SysDclAst 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mii 012000100A40 00A0 add out3 = @ltoffx($LITERAL$), gp // r41 = @ltoffx($LITERAL$), r1 // 071070 012000100880 00A1 add r34 = @ltoff($LITERAL$+16), gp // r34 = @ltoff($LITERAL$+16), r1 012000008640 00A2 mov ai = 4 ;; // r25 = 4 } { .mmi 0080C2900A00 00B0 ld8.mov out2 = [r41], $LITERAL$ 0080C22009C0 00B1 ld8 out1 = $LITERAL$ // r39 = [r34] 01201002EA40 00B2 mov out3 = 279 ;; // r41 = 279 } { .mib 000008000000 00C0 nop.m 0 0000B0800980 00C1 sxt4 out0 = status // r38 = r8 00A000001000 00C2 br.call.sptk.many rp = // br0 = ErrorExitVmsStatus ErrorExitVmsStatus ;; } 00D0 L$1122: { .mfi 010802500040 00D0 mov gp = r37 // r1 = r37 000008000000 00D1 nop.f 0 000008000000 00D2 nop.i 0 } 00E0 L$9: // 071071 { .mii 000008000000 00E0 nop.m 0 000154048000 00E1 mov.i rspfs = r36 ;; 000E00146000 00E2 mov rp = r35 // br0 = r35 } { .mfb 000008000000 00F0 nop.m 0 000008000000 00F1 nop.f 0 000108001100 00F2 br.ret.sptk.many rp ;; // br0 } .endp SysDclAst Routine Size: 256 bytes, Routine Base: $CODE$ + 0000 .proc ListAddHead .align 32 .global ListAddHead ListAddHead: // 071078 { .mmi 002C004088C0 0100 alloc r35 = rspfs, 3, 1, 0, 0 00A082010240 0101 ld4 r9 = [in0], 8 // r9 = [r32], 8 // 071089 01C43A200200 0102 cmp4.eq pr8, pr7 = r0, DataType ;; // pr8, pr7 = r0, r34 // 071094 } { .mii 008082000280 0110 ld4 r10 = [in0] // r10 = [r32] // 071095 0000B0900240 0111 sxt4 r9 = r9 ;; // 071089 010800A02280 0112 adds r10 = 1, r10 // 071095 } { .mii 0119FA0F0800 0120 adds in0 = -8, in0 // r32 = -8, r32 01C000001308 0121 (pr8) cmp.eq.unc pr12, pr0 = r0, r0 // 071104 01C0000012C7 0122 (pr7) cmp.eq.unc pr11, pr0 = r0, r0 ;; } { .mib Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 54 ListAddHead 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 01C448012000 0130 cmp4.eq pr0, pr9 = r9, r0 // 071089 010802100200 0131 mov eptr = in1 // r8 = r33 // 071078 00860000E009 0132 (pr9) br.cond.dpnt.many L$1100 ;; // 071089 } { .mmi 010802008800 0140 adds in0 = 4, in0 ;; // r32 = 4, r32 // 071092 00BC8A043F00 0141 st4 [in0] = in1, -4 // [r32] = r33, -4 000008000000 0142 nop.i 0 ;; } { .mmi 008C82042000 0150 st4 [in0] = in1 // [r32] = r33 00AC82100100 0151 st4 [in1] = r0, 4 // [r33] = r0, 4 // 071093 000008000000 0152 nop.i 0 ;; } { .mbb 008C82100000 0160 st4 [in1] = r0 // [r33] = r0 00860000200B 0161 (pr11) br.cond.dpnt.many L$1102 // 071094 00860000400C 0162 (pr12) br.cond.dpnt.many L$1103 ;; } 0170 L$1102: { .mmi 010800818200 0170 adds r8 = 12, r8 ;; 00BC88845D00 0171 st4 [r8] = DataType, -12 // [r8] = r34, -12 000008000000 0172 nop.i 0 ;; } 0180 L$1103: { .mmi 010802010800 0180 adds in0 = 8, in0 ;; // r32 = 8, r32 // 071105 008C82014000 0181 st4 [in0] = r10 // [r32] = r10 000008000000 0182 nop.i 0 } { .mfb 000008000000 0190 nop.m 0 000008000000 0191 nop.f 0 000108001100 0192 br.ret.sptk.many rp ;; // br0 // 071106 } 01A0 L$1100: // 071098 { .mmi 00AC80800100 01A0 st4 [r8] = r0, 4 ;; // 071101 00BC88813F00 01A1 st4 [r8] = r9, -4 // 071102 000008000000 01A2 nop.i 0 ;; } { .mmb 008C82010000 01B0 st4 [in0] = eptr // [r32] = r8 // 071103 008C80910000 01B1 st4 [r9] = eptr // [r9] = r8 00860000400B 01B2 (pr11) br.cond.dpnt.many L$1105 ;; // 071104 } { .mfb 000008000000 01C0 nop.m 0 000008000000 01C1 nop.f 0 00860000400C 01C2 (pr12) br.cond.dpnt.many L$1106 ;; } 01D0 L$1105: { .mmi 010800818200 01D0 adds r8 = 12, r8 ;; 00BC88845D00 01D1 st4 [r8] = DataType, -12 // [r8] = r34, -12 000008000000 01D2 nop.i 0 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 55 ListAddHead 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } 01E0 L$1106: { .mmi 010802010800 01E0 adds in0 = 8, in0 ;; // r32 = 8, r32 // 071105 008C82014000 01E1 st4 [in0] = r10 // [r32] = r10 000008000000 01E2 nop.i 0 } { .mfb 000008000000 01F0 nop.m 0 000008000000 01F1 nop.f 0 000108001100 01F2 br.ret.sptk.many rp ;; // br0 // 071106 } .endp ListAddHead Routine Size: 256 bytes, Routine Base: $CODE$ + 0100 .proc ListAddTail .align 32 .global ListAddTail ListAddTail: // 071115 { .mmi 002C004088C0 0200 alloc r35 = rspfs, 3, 1, 0, 0 00A082010240 0201 ld4 r9 = [in0], 8 // r9 = [r32], 8 // 071126 01C43A200200 0202 cmp4.eq pr8, pr7 = r0, DataType ;; // pr8, pr7 = r0, r34 // 071131 } { .mii 008082000280 0210 ld4 r10 = [in0] // r10 = [r32] // 071132 0000B0900240 0211 sxt4 r9 = r9 ;; // 071126 010800A02280 0212 adds r10 = 1, r10 // 071132 } { .mii 0119FA0F0800 0220 adds in0 = -8, in0 // r32 = -8, r32 01C000001308 0221 (pr8) cmp.eq.unc pr12, pr0 = r0, r0 // 071141 01C0000012C7 0222 (pr7) cmp.eq.unc pr11, pr0 = r0, r0 ;; } { .mib 01C448012000 0230 cmp4.eq pr0, pr9 = r9, r0 // 071126 010802100200 0231 mov eptr = in1 // r8 = r33 // 071115 00860000E009 0232 (pr9) br.cond.dpnt.many L$1087 ;; // 071126 } { .mmi 010802008800 0240 adds in0 = 4, in0 ;; // r32 = 4, r32 // 071129 00BC8A043F00 0241 st4 [in0] = in1, -4 // [r32] = r33, -4 000008000000 0242 nop.i 0 ;; } { .mmi 008C82042000 0250 st4 [in0] = in1 // [r32] = r33 00AC82100100 0251 st4 [in1] = r0, 4 // [r33] = r0, 4 // 071130 000008000000 0252 nop.i 0 ;; } { .mbb 008C82100000 0260 st4 [in1] = r0 // [r33] = r0 00860000200B 0261 (pr11) br.cond.dpnt.many L$1089 // 071131 00860000400C 0262 (pr12) br.cond.dpnt.many L$1090 ;; } 0270 L$1089: { .mmi Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 56 ListAddTail 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 010800818200 0270 adds r8 = 12, r8 ;; 00BC88845D00 0271 st4 [r8] = DataType, -12 // [r8] = r34, -12 000008000000 0272 nop.i 0 ;; } 0280 L$1090: { .mmi 010802010800 0280 adds in0 = 8, in0 ;; // r32 = 8, r32 // 071142 008C82014000 0281 st4 [in0] = r10 // [r32] = r10 000008000000 0282 nop.i 0 } { .mfb 000008000000 0290 nop.m 0 000008000000 0291 nop.f 0 000108001100 0292 br.ret.sptk.many rp ;; // br0 // 071143 } 02A0 L$1087: // 071135 { .mmi 010800808200 02A0 adds r8 = 4, r8 ;; // 071138 00BC88801F00 02A1 st4 [r8] = r0, -4 010802008800 02A2 adds in0 = 4, in0 ;; // r32 = 4, r32 // 071139 } { .mmi 008082000580 02B0 ld4 r22 = [in0] ;; // r22 = [r32] 000008000000 02B1 nop.m 0 0000B1600580 02B2 sxt4 r22 = r22 ;; } { .mmi 008C8082C000 02C0 st4 [r8] = r22 ;; 00BC8A011F00 02C1 st4 [in0] = eptr, -4 // [r32] = r8, -4 // 071140 010801608580 02C2 adds r22 = 4, r22 ;; } { .mbb 008C81610000 02D0 st4 [r22] = eptr // [r22] = r8 00860000200B 02D1 (pr11) br.cond.dpnt.many L$1092 // 071141 00860000400C 02D2 (pr12) br.cond.dpnt.many L$1093 ;; } 02E0 L$1092: { .mmi 010800818200 02E0 adds r8 = 12, r8 ;; 00BC88845D00 02E1 st4 [r8] = DataType, -12 // [r8] = r34, -12 000008000000 02E2 nop.i 0 ;; } 02F0 L$1093: { .mmi 010802010800 02F0 adds in0 = 8, in0 ;; // r32 = 8, r32 // 071142 008C82014000 02F1 st4 [in0] = r10 // [r32] = r10 000008000000 02F2 nop.i 0 } { .mfb 000008000000 0300 nop.m 0 000008000000 0301 nop.f 0 000108001100 0302 br.ret.sptk.many rp ;; // br0 // 071143 } .endp ListAddTail Routine Size: 272 bytes, Routine Base: $CODE$ + 0200 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 57 ListAddBefore 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 .proc ListAddBefore .align 32 .global ListAddBefore ListAddBefore: // 071152 { .mmi 002C0050A900 0310 alloc r36 = rspfs, 4, 1, 0, 0 00A082010240 0311 ld4 r9 = [in0], 8 // r9 = [r32], 8 // 071164 01C43A300200 0312 cmp4.eq pr8, pr7 = r0, DataType ;; // pr8, pr7 = r0, r35 // 071171 } { .mii 008082000280 0320 ld4 r10 = [in0] // r10 = [r32] // 071172 0000B0900240 0321 sxt4 r9 = r9 ;; // 071164 010800A02280 0322 adds r10 = 1, r10 // 071172 } { .mii 0119FA0F0800 0330 adds in0 = -8, in0 // r32 = -8, r32 01C000001308 0331 (pr8) cmp.eq.unc pr12, pr0 = r0, r0 // 071185 01C0000012C7 0332 (pr7) cmp.eq.unc pr11, pr0 = r0, r0 ;; } { .mib 01C44A112000 0340 cmp4.eq pr0, pr9 = r9, e1ptr // pr0, pr9 = r9, r33 // 071164 010802200200 0341 mov e2ptr = in2 // r8 = r34 // 071152 00860000E009 0342 (pr9) br.cond.dpnt.many L$1113 ;; // 071164 } { .mmi 008C82144000 0350 st4 [in1] = in2 // [r33] = r34 // 071167 00AC82200100 0351 st4 [in2] = r0, 4 // [r34] = r0, 4 // 071168 000008000000 0352 nop.i 0 ;; } { .mmi 00BC8A243F00 0360 st4 [in2] = e1ptr, -4 ;; // [r34] = r33, -4 // 071169 008C82044000 0361 st4 [in0] = in2 // [r32] = r34 // 071170 000008000000 0362 nop.i 0 } { .bbb 00860000200B 0370 (pr11) br.cond.dpnt.many L$1115 // 071171 004000000000 0371 nop.b 0 00860000400C 0372 (pr12) br.cond.dpnt.many L$1116 ;; } 0380 L$1115: { .mmi 010800818200 0380 adds r8 = 12, r8 ;; 00BC88847D00 0381 st4 [r8] = DataType, -12 // [r8] = r35, -12 000008000000 0382 nop.i 0 ;; } 0390 L$1116: { .mmi 010802010800 0390 adds in0 = 8, in0 ;; // r32 = 8, r32 // 071186 008C82014000 0391 st4 [in0] = r10 // [r32] = r10 000008000000 0392 nop.i 0 } { .mfb 000008000000 03A0 nop.m 0 000008000000 03A1 nop.f 0 000108001100 03A2 br.ret.sptk.many rp ;; // br0 // 071187 } 03B0 L$1113: // 071175 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 58 ListAddBefore 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mmi 008082100540 03B0 ld4 r21 = [in1] ;; // r21 = [r33] // 071178 01C40002A380 03B1 cmp4.eq pr14, pr0 = r21, r0 0000B1500540 03B2 sxt4 r21 = r21 } { .mfb 000008000000 03C0 nop.m 0 000008000000 03C1 nop.f 0 00860000600E 03C2 (pr14) br.cond.dpnt.many L$1119 ;; } { .mii 008C8082A000 03D0 st4 [r8] = r21 // 071180 010801508540 03D1 adds r21 = 4, r21 // 071181 000008000000 03D2 nop.i 0 ;; } { .mfi 008C81510000 03E0 st4 [r21] = e2ptr // [r21] = r8 000008000000 03E1 nop.f 0 000008000000 03E2 nop.i 0 } 03F0 L$1119: // 071182 { .mii 008C82110000 03F0 st4 [in1] = e2ptr // [r33] = r8 // 071183 010800808200 03F1 adds r8 = 4, r8 // 071184 000008000000 03F2 nop.i 0 ;; } { .mfi 00BC88843F00 0400 st4 [r8] = e1ptr, -4 // [r8] = r33, -4 000008000000 0401 nop.f 0 000008000000 0402 nop.i 0 ;; } { .bbb 00860000200B 0410 (pr11) br.cond.dpnt.many L$1120 // 071185 00860000400C 0411 (pr12) br.cond.dpnt.many L$1121 004000000000 0412 nop.b 0 ;; } 0420 L$1120: { .mmi 010800818200 0420 adds r8 = 12, r8 ;; 00BC88847D00 0421 st4 [r8] = DataType, -12 // [r8] = r35, -12 000008000000 0422 nop.i 0 ;; } 0430 L$1121: { .mmi 010802010800 0430 adds in0 = 8, in0 ;; // r32 = 8, r32 // 071186 008C82014000 0431 st4 [in0] = r10 // [r32] = r10 000008000000 0432 nop.i 0 } { .mfb 000008000000 0440 nop.m 0 000008000000 0441 nop.f 0 000108001100 0442 br.ret.sptk.many rp ;; // br0 // 071187 } .endp ListAddBefore Routine Size: 320 bytes, Routine Base: $CODE$ + 0310 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 59 ListRemove 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 .proc ListRemove .align 32 .global ListRemove ListRemove: // 071197 { .mmi 002C00306880 0450 alloc r34 = rspfs, 2, 1, 0, 0 008082100240 0451 ld4 r9 = [in1] // r9 = [r33] // 071207 010802100200 0452 mov eptr = in1 ;; // r8 = r33 // 071197 } { .mii 010802108840 0460 adds in1 = 4, in1 // r33 = 4, r33 // 071231 0000B0900240 0461 sxt4 r9 = r9 ;; // 071207 01C4300121C0 0462 cmp4.eq pr7, pr6 = r9, r0 } { .mmi 00B08A1F8280 0470 ld4 r10 = [in1], -4 ;; // r10 = [r33], -4 // 071231 000008000000 0471 nop.m 0 0000B0A00280 0472 sxt4 r10 = r10 ;; } { .mmi 01C440014000 0480 cmp4.eq pr0, pr8 = r10, r0 ;; // 071210 01C000001288 0481 (pr8) cmp.eq.unc pr10, pr0 = r0, r0 // 071231 000008000000 0482 nop.i 0 } { .mfb 000008000000 0490 nop.m 0 000008000000 0491 nop.f 0 008600026006 0492 (pr6) br.cond.dpnt.many L$1055 ;; // 071207 } { .mmi 0080820000C0 04A0 ld4 r3 = [in0] ;; // r3 = [r32] // 071213 000008000000 04A1 nop.m 0 0000B03000C0 04A2 sxt4 r3 = r3 ;; } { .mmi 01C442106240 04B0 cmp4.eq pr9, pr8 = r3, in1 ;; // pr9, pr8 = r3, r33 01C0000011C9 04B1 (pr9) cmp.eq.unc pr7, pr0 = r0, r0 // 071221 01C000001188 04B2 (pr8) cmp.eq.unc pr6, pr0 = r0, r0 } { .bbb 00860001200A 04C0 (pr10) br.cond.dpnt.many L$1057 // 071210 004000000000 04C1 nop.b 0 008600014006 04C2 (pr6) br.cond.dpnt.many L$1075 ;; // 071213 } { .mmi 010802008800 04D0 adds in0 = 4, in0 ;; // r32 = 4, r32 00A082008840 04D1 ld4 in1 = [in0], 4 // r33 = [r32], 4 000008000000 04D2 nop.i 0 ;; } { .mii 000008000000 04E0 nop.m 0 0000B2100840 04E1 sxt4 in1 = in1 ;; // r33 = r33 01C440842000 04E2 cmp4.eq pr0, pr8 = in1, eptr // pr0, pr8 = r33, r8 } { .mfb 000008000000 04F0 nop.m 0 000008000000 04F1 nop.f 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 60 ListRemove 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 00860000E008 04F2 (pr8) br.cond.dpnt.many L$1075 ;; } { .mmi 00B08A0F80C0 0500 ld4 r3 = [in0], -4 ;; // r3 = [r32], -4 // 071215 00BC8A001F00 0501 st4 [in0] = r0, -4 // [r32] = r0, -4 // 071214 01C4003002C0 0502 cmp4.eq pr11, pr0 = r0, r3 // 071215 } { .mmi 0119F83FE0C0 0510 adds r3 = -1, r3 ;; 00AC82000200 0511 st4 [in0] = r0, 8 // [r32] = r0, 8 // 071214 000008000000 0512 nop.i 0 } { .mfb 000008000000 0520 nop.m 0 000008000000 0521 nop.f 0 00860000400B 0522 (pr11) br.cond.dpnt.many L$1063 ;; // 071215 } { .mfi 008C82006000 0530 st4 [in0] = r3 // [r32] = r3 000008000000 0531 nop.f 0 000008000000 0532 nop.i 0 } 0540 L$1063: { .mfb 000008000000 0540 nop.m 0 000008000000 0541 nop.f 0 000108001100 0542 br.ret.sptk.many rp ;; // br0 // 071244 } 0550 L$1057: // 071218 { .bbb 008600002006 0550 (pr6) br.cond.dpnt.many L$1075 // 071221 008600004007 0551 (pr7) br.cond.dpnt.many L$1066 004000000000 0552 nop.b 0 ;; } 0560 L$1075: // 071243 { .mfb 010800000200 0560 mov r8 = r0 // 071244 000008000000 0561 nop.f 0 000108001100 0562 br.ret.sptk.many rp ;; // br0 } 0570 L$1066: // 071221 { .mii 008C80A00000 0570 st4 [r10] = r0 // 071222 010802010800 0571 adds in0 = 8, in0 // r32 = 8, r32 // 071224 000008000000 0572 nop.i 0 ;; } { .mmi 00B08A0F02C0 0580 ld4 r11 = [in0], -8 ;; // r11 = [r32], -8 00AC82014200 0581 st4 [in0] = r10, 8 // [r32] = r10, 8 // 071223 01C400B00240 0582 cmp4.eq pr9, pr0 = r0, r11 // 071224 } { .mfb 0119F8BFE2C0 0590 adds r11 = -1, r11 000008000000 0591 nop.f 0 008600004009 0592 (pr9) br.cond.dpnt.many L$1068 ;; } { .mfi Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 61 ListRemove 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 008C82016000 05A0 st4 [in0] = r11 // [r32] = r11 000008000000 05A1 nop.f 0 000008000000 05A2 nop.i 0 } 05B0 L$1068: { .mfb 000008000000 05B0 nop.m 0 000008000000 05B1 nop.f 0 000108001100 05B2 br.ret.sptk.many rp ;; // br0 // 071244 } 05C0 L$1055: // 071228 { .mfb 000008000000 05C0 nop.m 0 000008000000 05C1 nop.f 0 00860001400A 05C2 (pr10) br.cond.dpnt.many L$1069 ;; // 071231 } { .mmi 010802008800 05D0 adds in0 = 4, in0 ;; // r32 = 4, r32 // 071234 00B08A0F8840 05D1 ld4 in1 = [in0], -4 // r33 = [r32], -4 000008000000 05D2 nop.i 0 ;; } { .mii 000008000000 05E0 nop.m 0 0000B2100840 05E1 sxt4 in1 = in1 ;; // r33 = r33 01C4008421C0 05E2 cmp4.eq pr7, pr0 = in1, eptr // pr7, pr0 = r33, r8 } { .mfb 000008000000 05F0 nop.m 0 000008000000 05F1 nop.f 0 008600004007 05F2 (pr7) br.cond.dpnt.many L$1072 ;; } { .mfb 010800000200 0600 mov r8 = r0 // 071244 000008000000 0601 nop.f 0 000108001100 0602 br.ret.sptk.many rp ;; // br0 } 0610 L$1072: // 071234 { .mmi 010800908240 0610 adds r9 = 4, r9 ;; // 071235 00BC88901F00 0611 st4 [r9] = r0, -4 010802010800 0612 adds in0 = 8, in0 ;; // r32 = 8, r32 // 071237 } { .mmi 00B08A0F82C0 0620 ld4 r11 = [in0], -4 ;; // r11 = [r32], -4 00AC82012100 0621 st4 [in0] = r9, 4 // [r32] = r9, 4 // 071236 01C400B00240 0622 cmp4.eq pr9, pr0 = r0, r11 // 071237 } { .mfb 0119F8BFE2C0 0630 adds r11 = -1, r11 000008000000 0631 nop.f 0 008600004009 0632 (pr9) br.cond.dpnt.many L$1074 ;; } { .mfi 008C82016000 0640 st4 [in0] = r11 // [r32] = r11 000008000000 0641 nop.f 0 000008000000 0642 nop.i 0 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 62 ListRemove 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0650 L$1074: { .mfb 000008000000 0650 nop.m 0 000008000000 0651 nop.f 0 000108001100 0652 br.ret.sptk.many rp ;; // br0 // 071244 } 0660 L$1069: // 071240 { .mmi 010800908240 0660 adds r9 = 4, r9 ;; // 071243 008080900840 0661 ld4 in1 = [r9] // r33 = [r9] 000008000000 0662 nop.i 0 ;; } { .mii 000008000000 0670 nop.m 0 0000B2100840 0671 sxt4 in1 = in1 ;; // r33 = r33 01C450842000 0672 cmp4.eq pr0, pr10 = in1, eptr // pr0, pr10 = r33, r8 } { .mfb 000008000000 0680 nop.m 0 000008000000 0681 nop.f 0 0095FFFDC00A 0682 (pr10) br.cond.dptk.many L$1075 ;; } { .mmi 008080A000C0 0690 ld4 r3 = [r10] ;; // 071244 000008000000 0691 nop.m 0 0000B03000C0 0692 sxt4 r3 = r3 ;; } { .mfb 01C430806000 06A0 cmp4.eq pr0, pr6 = r3, eptr // pr0, pr6 = r3, r8 000008000000 06A1 nop.f 0 0095FFFD8006 06A2 (pr6) br.cond.dptk.many L$1075 ;; // 071243 } { .mii 00BC88915F00 06B0 st4 [r9] = r10, -4 // 071245 010800808200 06B1 adds r8 = 4, r8 // 071246 000008000000 06B2 nop.i 0 ;; } { .mmi 00B0888F8840 06C0 ld4 in1 = [r8], -4 ;; // r33 = [r8], -4 000008000000 06C1 nop.m 0 0000B2100840 06C2 sxt4 in1 = in1 ;; // r33 = r33 } { .mii 008C82112000 06D0 st4 [in1] = r9 // [r33] = r9 010802010800 06D1 adds in0 = 8, in0 // r32 = 8, r32 // 071247 000008000000 06D2 nop.i 0 ;; } { .mmi 0080820000C0 06E0 ld4 r3 = [in0] ;; // r3 = [r32] 01C400300240 06E1 cmp4.eq pr9, pr0 = r0, r3 0119F83FE0C0 06E2 adds r3 = -1, r3 } { .mfb 000008000000 06F0 nop.m 0 000008000000 06F1 nop.f 0 008600004009 06F2 (pr9) br.cond.dpnt.many L$1079 ;; } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 63 ListRemove 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mfi 008C82006000 0700 st4 [in0] = r3 // [r32] = r3 000008000000 0701 nop.f 0 000008000000 0702 nop.i 0 } 0710 L$1079: { .mfb 000008000000 0710 nop.m 0 000008000000 0711 nop.f 0 000108001100 0712 br.ret.sptk.many rp ;; // br0 // 071244 } .endp ListRemove Routine Size: 720 bytes, Routine Base: $CODE$ + 0450 .proc ListMoveHead .align 32 .global ListMoveHead ListMoveHead: // 071262 { .mmi 002C0040C8C0 0720 alloc r35 = rspfs, 2, 2, 2, 0 008082000200 0721 ld4 r8 = [in0] // r8 = [r32] // 071273 000188000880 0722 mov r34 = rp ;; // r34 = br0 // 071262 } { .mii 000008000000 0730 nop.m 0 0000B0800200 0731 sxt4 r8 = r8 ;; // 071273 01C402110200 0732 cmp4.eq pr8, pr0 = r8, eptr // pr8, pr0 = r8, r33 } { .mfb 000008000000 0740 nop.m 0 000008000000 0741 nop.f 0 008600018008 0742 (pr8) br.cond.dpnt.many L$1109 ;; } { .mib 010802100940 0750 mov out1 = eptr // r37 = r33 // 071275 010802000900 0751 mov out0 = lptr // r36 = r32 00A000001000 0752 br.call.sptk.many rp = ListRemove ;; // br0 = ListRemove } { .mmi 00A082010440 0760 ld4 r17 = [in0], 8 ;; // r17 = [r32], 8 // 071089 008082000480 0761 ld4 r18 = [in0] // r18 = [r32] // 071095 0000B1100440 0762 sxt4 r17 = r17 ;; // 071089 } { .mii 010801202480 0770 adds r18 = 1, r18 // 071095 0119FA0F0800 0771 adds in0 = -8, in0 // r32 = -8, r32 01C460022000 0772 cmp4.eq pr0, pr12 = r17, r0 ;; // 071089 } { .mfb 000008000000 0780 nop.m 0 000008000000 0781 nop.f 0 00860000A00C 0782 (pr12) br.cond.dpnt.many L$1110 ;; } { .mmi 010802008800 0790 adds in0 = 4, in0 ;; // r32 = 4, r32 // 071092 00BC8A043F00 0791 st4 [in0] = eptr, -4 // [r32] = r33, -4 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 64 ListMoveHead 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 0792 nop.i 0 ;; } { .mmi 008C82042000 07A0 st4 [in0] = eptr // [r32] = r33 00AC82100100 07A1 st4 [in1] = r0, 4 // [r33] = r0, 4 // 071093 000008000000 07A2 nop.i 0 ;; } { .mfi 00BC8A101F00 07B0 st4 [in1] = r0, -4 // [r33] = r0, -4 000008000000 07B1 nop.f 0 000008000000 07B2 nop.i 0 ;; } { .mfb 000008000000 07C0 nop.m 0 000008000000 07C1 nop.f 0 008000007000 07C2 br.sptk.many L$1123 ;; } 07D0 L$1110: // 071098 { .mmi 00AC82100100 07D0 st4 [in1] = r0, 4 ;; // [r33] = r0, 4 // 071101 00BC8A123F00 07D1 st4 [in1] = r17, -4 // [r33] = r17, -4 // 071102 000008000000 07D2 nop.i 0 ;; } { .mmi 008C82042000 07E0 st4 [in0] = eptr // [r32] = r33 // 071103 008C81142000 07E1 st4 [r17] = eptr // [r17] = r33 000008000000 07E2 nop.i 0 ;; } 07F0 L$1123: // 071105 { .mmi 010802010800 07F0 adds in0 = 8, in0 ;; // r32 = 8, r32 008C82024000 07F1 st4 [in0] = r18 // [r32] = r18 000008000000 07F2 nop.i 0 } 0800 L$1109: // 071277 { .mmi 010802100200 0800 mov r8 = eptr ;; // r8 = r33 // 071279 000008000000 0801 nop.m 0 000154046000 0802 mov.i rspfs = r35 ;; } { .mib 000008000000 0810 nop.m 0 000E00144000 0811 mov rp = r34 // br0 = r34 000108001100 0812 br.ret.sptk.many rp ;; // br0 } .endp ListMoveHead Routine Size: 256 bytes, Routine Base: $CODE$ + 0720 .proc ListMoveTail .align 32 .global ListMoveTail ListMoveTail: // 071291 { .mii 002C0040C8C0 0820 alloc r35 = rspfs, 2, 2, 2, 0 010802008800 0821 adds in0 = 4, in0 // r32 = 4, r32 // 071302 000188000880 0822 mov r34 = rp ;; // r34 = br0 // 071291 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 65 ListMoveTail 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mmi 00B08A0F8200 0830 ld4 r8 = [in0], -4 ;; // r8 = [r32], -4 // 071302 000008000000 0831 nop.m 0 0000B0800200 0832 sxt4 r8 = r8 ;; } { .mfb 01C402110200 0840 cmp4.eq pr8, pr0 = r8, eptr // pr8, pr0 = r8, r33 000008000000 0841 nop.f 0 00860001C008 0842 (pr8) br.cond.dpnt.many L$1096 ;; } { .mib 010802100940 0850 mov out1 = eptr // r37 = r33 // 071304 010802000900 0851 mov out0 = lptr // r36 = r32 00A000001000 0852 br.call.sptk.many rp = ListRemove ;; // br0 = ListRemove } { .mmi 00A082010440 0860 ld4 r17 = [in0], 8 ;; // r17 = [r32], 8 // 071126 008082000480 0861 ld4 r18 = [in0] // r18 = [r32] // 071132 0000B1100440 0862 sxt4 r17 = r17 ;; // 071126 } { .mii 010801202480 0870 adds r18 = 1, r18 // 071132 0119FA0F0800 0871 adds in0 = -8, in0 // r32 = -8, r32 01C460022000 0872 cmp4.eq pr0, pr12 = r17, r0 ;; // 071126 } { .mfb 000008000000 0880 nop.m 0 000008000000 0881 nop.f 0 00860000A00C 0882 (pr12) br.cond.dpnt.many L$1097 ;; } { .mmi 010802008800 0890 adds in0 = 4, in0 ;; // r32 = 4, r32 // 071129 00BC8A043F00 0891 st4 [in0] = eptr, -4 // [r32] = r33, -4 000008000000 0892 nop.i 0 ;; } { .mmi 008C82042000 08A0 st4 [in0] = eptr // [r32] = r33 00AC82100100 08A1 st4 [in1] = r0, 4 // [r33] = r0, 4 // 071130 000008000000 08A2 nop.i 0 ;; } { .mfi 00BC8A101F00 08B0 st4 [in1] = r0, -4 // [r33] = r0, -4 000008000000 08B1 nop.f 0 000008000000 08B2 nop.i 0 ;; } { .mfb 000008000000 08C0 nop.m 0 000008000000 08C1 nop.f 0 00800000B000 08C2 br.sptk.many L$1124 ;; } 08D0 L$1097: // 071135 { .mmi 010802108840 08D0 adds in1 = 4, in1 ;; // r33 = 4, r33 // 071138 00BC8A101F00 08D1 st4 [in1] = r0, -4 // [r33] = r0, -4 010802008800 08D2 adds in0 = 4, in0 ;; // r32 = 4, r32 // 071139 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 66 ListMoveTail 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mmi 008082000600 08E0 ld4 r24 = [in0] ;; // r24 = [r32] 000008000000 08E1 nop.m 0 0000B1800600 08E2 sxt4 r24 = r24 ;; } { .mmi 008C82130000 08F0 st4 [in1] = r24 ;; // [r33] = r24 00BC8A043F00 08F1 st4 [in0] = eptr, -4 // [r32] = r33, -4 // 071140 010801808600 08F2 adds r24 = 4, r24 ;; } { .mfi 008C81842000 0900 st4 [r24] = eptr // [r24] = r33 000008000000 0901 nop.f 0 000008000000 0902 nop.i 0 } 0910 L$1124: // 071142 { .mmi 010802010800 0910 adds in0 = 8, in0 ;; // r32 = 8, r32 008C82024000 0911 st4 [in0] = r18 // [r32] = r18 000008000000 0912 nop.i 0 } 0920 L$1096: // 071306 { .mmi 010802100200 0920 mov r8 = eptr ;; // r8 = r33 // 071308 000008000000 0921 nop.m 0 000154046000 0922 mov.i rspfs = r35 ;; } { .mib 000008000000 0930 nop.m 0 000E00144000 0931 mov rp = r34 // br0 = r34 000108001100 0932 br.ret.sptk.many rp ;; // br0 } .endp ListMoveTail Routine Size: 288 bytes, Routine Base: $CODE$ + 0820 .proc ListRemoveHead .align 32 .global ListRemoveHead ListRemoveHead: // 071320 { .mmi 002C0030A880 0940 alloc r34 = rspfs, 1, 2, 2, 0 008082000440 0941 ld4 eptr = [in0] // r17 = [r32] // 071329 000188000840 0942 mov r33 = rp ;; // r33 = br0 // 071320 } { .mib 01C400022200 0950 cmp4.eq pr8, pr0 = eptr, r0 // pr8, pr0 = r17, r0 // 071329 0000B1100440 0951 sxt4 eptr = eptr // r17 = r17 008600004008 0952 (pr8) br.cond.dpnt.many L$1085 ;; } { .mib 010801100900 0960 mov out1 = eptr // r36 = r17 0108020008C0 0961 mov out0 = lptr // r35 = r32 00A000001000 0962 br.call.sptk.many rp = ListRemove ;; // br0 = ListRemove } 0970 L$1085: { .mii Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 67 ListRemoveHead 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 010801100200 0970 mov r8 = eptr // r8 = r17 // 071331 000154044000 0971 mov.i rspfs = r34 ;; 000E00142000 0972 mov rp = r33 // br0 = r33 } { .mfb 000008000000 0980 nop.m 0 000008000000 0981 nop.f 0 000108001100 0982 br.ret.sptk.many rp ;; // br0 } .endp ListRemoveHead Routine Size: 80 bytes, Routine Base: $CODE$ + 0940 .proc ListRemoveTail .align 32 .global ListRemoveTail ListRemoveTail: // 071343 { .mii 002C0030A880 0990 alloc r34 = rspfs, 1, 2, 2, 0 010802008800 0991 adds in0 = 4, in0 // r32 = 4, r32 // 071352 000188000840 0992 mov r33 = rp ;; // r33 = br0 // 071343 } { .mmi 00B08A0F8440 09A0 ld4 eptr = [in0], -4 ;; // r17 = [r32], -4 // 071352 01C400022200 09A1 cmp4.eq pr8, pr0 = eptr, r0 // pr8, pr0 = r17, r0 0000B1100440 09A2 sxt4 eptr = eptr // r17 = r17 } { .mfb 000008000000 09B0 nop.m 0 000008000000 09B1 nop.f 0 008600004008 09B2 (pr8) br.cond.dpnt.many L$1082 ;; } { .mib 010801100900 09C0 mov out1 = eptr // r36 = r17 0108020008C0 09C1 mov out0 = lptr // r35 = r32 00A000001000 09C2 br.call.sptk.many rp = ListRemove ;; // br0 = ListRemove } 09D0 L$1082: { .mii 010801100200 09D0 mov r8 = eptr // r8 = r17 // 071354 000154044000 09D1 mov.i rspfs = r34 ;; 000E00142000 09D2 mov rp = r33 // br0 = r33 } { .mfb 000008000000 09E0 nop.m 0 000008000000 09E1 nop.f 0 000108001100 09E2 br.ret.sptk.many rp ;; // br0 } .endp ListRemoveTail Routine Size: 96 bytes, Routine Base: $CODE$ + 0990 .proc ListCheck .align 32 .global ListCheck ListCheck: // 071362 { .mii Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 68 ListCheck 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 002C005168C0 09F0 alloc r35 = rspfs, 2, 3, 6, 0 012000100200 09F1 add r8 = @ltoffx(DECC$GA_STDOUT), // r8 = @ltoffx(DECC$GA_STDOUT), r1 // 071374 gp 0108020009C0 09F2 mov out2 = lptr // r39 = r32 } { .mmi 008082000A00 0A00 ld4 out3 = [in0] ;; // r40 = [r32] 0080C0800200 0A01 ld8.mov r8 = [r8], DECC$GA_STDOUT 010802010800 0A02 adds in0 = 8, in0 // r32 = 8, r32 } { .mii 012000100240 0A10 add r9 = @ltoff($LITERAL$+2080), // r9 = @ltoff($LITERAL$+2080), r1 gp 01200000C640 0A11 mov ai = 6 ;; // r25 = 6 000188000880 0A12 mov r34 = rp // r34 = br0 // 071362 } { .mmi 00B08A0F8A80 0A20 ld4 out5 = [in0], -4 // r42 = [r32], -4 // 071374 0080C0900980 0A21 ld8 out1 = $LITERAL$ // r38 = [r9] 0000B2800A00 0A22 sxt4 out3 = out3 ;; // r40 = r40 } { .mmi 00B08A0F8A40 0A30 ld4 out4 = [in0], -4 // r41 = [r32], -4 008080800200 0A31 ld4 r8 = DECC$GA_STDOUT // r8 = [r8] 0000B2A00A80 0A32 sxt4 out5 = out5 ;; // r42 = r42 } { .mii 010800100900 0A40 mov r36 = gp // r36 = r1 // 071362 0000B2900A40 0A41 sxt4 out4 = out4 // r41 = r41 // 071374 0000B0800940 0A42 sxt4 out0 = r8 // r37 = r8 } { .mfb 000008000000 0A50 nop.m 0 000008000000 0A51 nop.f 0 00A000001000 0A52 br.call.sptk.many rp = DECC$TXFPRINTF ;; // br0 = DECC$TXFPRINTF } { .mii 008082000800 0A60 ld4 teptr = [in0] // r32 = [r32] // 071377 010802400040 0A61 mov gp = r36 ;; // r1 = r36 // 071374 01C4000401C0 0A62 cmp4.eq pr7, pr0 = teptr, r0 // pr7, pr0 = r32, r0 // 071377 } { .mib 000008000000 0A70 nop.m 0 0000B2000800 0A71 sxt4 teptr = teptr // r32 = r32 00860001C007 0A72 (pr7) br.cond.dpnt.many L$1043 ;; } 0A80 L$1044: { .mib 01C402140240 0A80 cmp4.eq pr9, pr0 = teptr, eptr // pr9, pr0 = r32, r33 // 071378 010802008800 0A81 adds in0 = 4, in0 // r32 = 4, r32 008600018009 0A82 (pr9) br.cond.dpnt.many L$1046 ;; } { .mmi 008082000800 0A90 ld4 teptr = [in0] ;; // r32 = [r32] // 071377 01C4000402C0 0A91 cmp4.eq pr11, pr0 = teptr, r0 // pr11, pr0 = r32, r0 0000B2000800 0A92 sxt4 teptr = teptr // r32 = r32 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 69 ListCheck 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mfb 000008000000 0AA0 nop.m 0 000008000000 0AA1 nop.f 0 00860001600B 0AA2 (pr11) br.cond.dpnt.many L$1043 ;; } { .mib 01C402140340 0AB0 cmp4.eq pr13, pr0 = teptr, eptr // pr13, pr0 = r32, r33 // 071378 010802008800 0AB1 adds in0 = 4, in0 // r32 = 4, r32 00860001200D 0AB2 (pr13) br.cond.dpnt.many L$1046 ;; } { .mmi 008082000800 0AC0 ld4 teptr = [in0] ;; // r32 = [r32] // 071377 01C4000403C0 0AC1 cmp4.eq pr15, pr0 = teptr, r0 // pr15, pr0 = r32, r0 0000B2000800 0AC2 sxt4 teptr = teptr // r32 = r32 } { .mfb 000008000000 0AD0 nop.m 0 000008000000 0AD1 nop.f 0 00860001000F 0AD2 (pr15) br.cond.dpnt.many L$1043 ;; } { .mib 01C4021401C0 0AE0 cmp4.eq pr7, pr0 = teptr, eptr // pr7, pr0 = r32, r33 // 071378 010802008800 0AE1 adds in0 = 4, in0 // r32 = 4, r32 00860000C007 0AE2 (pr7) br.cond.dpnt.many L$1046 ;; } { .mmi 008082000800 0AF0 ld4 teptr = [in0] ;; // r32 = [r32] // 071377 01C400040240 0AF1 cmp4.eq pr9, pr0 = teptr, r0 // pr9, pr0 = r32, r0 0000B2000800 0AF2 sxt4 teptr = teptr // r32 = r32 } { .mfb 000008000000 0B00 nop.m 0 000008000000 0B01 nop.f 0 00860000A009 0B02 (pr9) br.cond.dpnt.many L$1043 ;; } { .mib 01C4021402C0 0B10 cmp4.eq pr11, pr0 = teptr, eptr // pr11, pr0 = r32, r33 // 071378 010802008800 0B11 adds in0 = 4, in0 // r32 = 4, r32 00860000600B 0B12 (pr11) br.cond.dpnt.many L$1046 ;; } { .mmi 008082000800 0B20 ld4 teptr = [in0] ;; // r32 = [r32] // 071377 01C460040000 0B21 cmp4.eq pr0, pr12 = teptr, r0 // pr0, pr12 = r32, r0 0000B2000800 0B22 sxt4 teptr = teptr // r32 = r32 } { .bbb 0095FFFEA00C 0B30 (pr12) br.cond.dptk.many L$1044 004000000000 0B31 nop.b 0 008000005000 0B32 br.sptk.many L$1043 ;; } 0B40 L$1046: // 071378 { .mfb 010802100200 0B40 mov r8 = eptr // r8 = r33 000008000000 0B41 nop.f 0 008000005000 0B42 br.sptk.many L$1053 ;; } 0B50 L$1043: Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 70 ListCheck 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mfi 010800000200 0B50 mov r8 = r0 // 071379 000008000000 0B51 nop.f 0 000008000000 0B52 nop.i 0 } 0B60 L$1053: { .mii 000008000000 0B60 nop.m 0 000154046000 0B61 mov.i rspfs = r35 ;; 000E00144000 0B62 mov rp = r34 // br0 = r34 } { .mfb 000008000000 0B70 nop.m 0 000008000000 0B71 nop.f 0 000108001100 0B72 br.ret.sptk.many rp ;; // br0 } .endp ListCheck Routine Size: 400 bytes, Routine Base: $CODE$ + 09F0 .proc ListDebug .align 32 .global ListDebug ListDebug: // 071387 { .mmi 002C005148C0 0B80 alloc r35 = rspfs, 1, 4, 5, 0 008082000800 0B81 ld4 eptr = [in0] // r32 = [r32] // 071396 000188000880 0B82 mov r34 = rp ;; // r34 = br0 // 071387 } { .mii 01C400040200 0B90 cmp4.eq pr8, pr0 = eptr, r0 // pr8, pr0 = r32, r0 // 071396 0000B2000800 0B91 sxt4 eptr = eptr // r32 = r32 010800100900 0B92 mov r36 = gp // r36 = r1 // 071387 } { .mfb 000008000000 0BA0 nop.m 0 000008000000 0BA1 nop.f 0 008600010008 0BA2 (pr8) br.cond.dpnt.many L$1039 ;; // 071396 } { .mmi 012000100840 0BB0 add r33 = @ltoffx(DECC$GA_STDOUT), // r33 = @ltoffx(DECC$GA_STDOUT), r1 // 071397 gp ;; 0080C2100840 0BB1 ld8.mov r33 = [r33], DECC$GA_STDOUT 000008000000 0BB2 nop.i 0 ;; } 0BC0 L$1040: // 071396 { .mii 0080820009C0 0BC0 ld4 out2 = [in0] // r39 = [r32] // 071397 010802000A00 0BC1 mov out3 = eptr // r40 = r32 010802008800 0BC2 adds in0 = 4, in0 // r32 = 4, r32 } { .mmi 008082100940 0BD0 ld4 out0 = [r33] ;; // r37 = [r33] 008082000A40 0BD1 ld4 out4 = [in0] // r41 = [r32] 012000100200 0BD2 add r8 = @ltoff($LITERAL$+2056), // r8 = @ltoff($LITERAL$+2056), r1 gp } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 71 ListDebug 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mii 01200000A640 0BE0 mov ai = 5 // r25 = 5 0000B27009C0 0BE1 sxt4 out2 = out2 ;; // r39 = r39 0000B2900A40 0BE2 sxt4 out4 = out4 // r41 = r41 } { .mib 0080C0800980 0BF0 ld8 out1 = $LITERAL$ // r38 = [r8] 0000B2500940 0BF1 sxt4 out0 = out0 // r37 = r37 00A000001000 0BF2 br.call.sptk.many rp = DECC$TXFPRINTF ;; // br0 = DECC$TXFPRINTF } { .mii 008082000800 0C00 ld4 eptr = [in0] // r32 = [r32] // 071396 010802400040 0C01 mov gp = r36 ;; // r1 = r36 // 071397 01C430040000 0C02 cmp4.eq pr0, pr6 = eptr, r0 // pr0, pr6 = r32, r0 // 071396 } { .mib 000008000000 0C10 nop.m 0 0000B2000800 0C11 sxt4 eptr = eptr // r32 = r32 0095FFFF6006 0C12 (pr6) br.cond.dptk.many L$1040 ;; } 0C20 L$1039: // 071398 { .mii 000008000000 0C20 nop.m 0 000154046000 0C21 mov.i rspfs = r35 ;; 000E00144000 0C22 mov rp = r34 // br0 = r34 } { .mfb 000008000000 0C30 nop.m 0 000008000000 0C31 nop.f 0 000108001100 0C32 br.ret.sptk.many rp ;; // br0 } .endp ListDebug Routine Size: 192 bytes, Routine Base: $CODE$ + 0B80 .proc ServerSignature .align 32 .global ServerSignature ServerSignature: // 071405 { .mii 002C00B26A40 0C40 alloc r41 = rspfs, 3, 8, 8, 0 012000100200 0C41 add r8 = @ltoff(Config+4288), gp // r8 = @ltoff(Config+4288), r1 // 071426 012020000380 0C42 mov r14 = 512 // 071405 } { .mmi 010800C00080 0C50 mov r2 = sp ;; // r2 = r12 0080C0800200 0C51 ld8 r8 = Config // r8 = [r8] // 071426 010028E183C0 0C52 sub r15 = sp, r14 ;; // r15 = r12, r14 // 071405 } { .mii 0080C0F00380 0C60 ld8 r14 = [r15] 010800F00300 0C61 mov sp = r15 // r12 = r15 000188000A00 0C62 mov r40 = rp ;; // r40 = br0 } { .mii 008080800240 0C70 ld4 r9 = Config // r9 = [r8] // 071426 010800100A80 0C71 mov r42 = gp ;; // r42 = r1 // 071405 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 72 ServerSignature 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 01C438900000 0C72 cmp4.eq pr0, pr7 = r0, r9 // 071426 } { .mfb 000008000000 0C80 nop.m 0 000008000000 0C81 nop.f 0 008600004007 0C82 (pr7) br.cond.dpnt.many L$1008 ;; } { .mfb 008C02100000 0C90 st1 [in1] = r0 // [r33] = r0 // 071428 000008000000 0C91 nop.f 0 0080000BD000 0C92 br.sptk.many L$1035 ;; } 0CA0 L$1008: // 071430 { .mfb 01C400040280 0CA0 cmp4.eq pr10, pr0 = rqptr, r0 // pr10, pr0 = r32, r0 // 071432 000008000000 0CA1 nop.f 0 00860000A00A 0CA2 (pr10) br.cond.dpnt.many L$1012 ;; } { .mmi 01080A0702C0 0CB0 adds r11 = 184, in0 ;; // r11 = 184, r32 // 071434 008080B002C0 0CB1 ld4 r11 = [r11] 000008000000 0CB2 nop.i 0 ;; } { .mii 000008000000 0CC0 nop.m 0 0000B0B002C0 0CC1 sxt4 r11 = r11 ;; 010868BE88C0 0CC2 adds ServerHostNamePtr = 1780, r11 // r35 = 1780, r11 } { .mmi 010808B682C0 0CD0 adds r11 = 180, r11 ;; // 071435 008080B00900 0CD1 ld4 ServerPortNumber = [r11] // r36 = [r11] 000008000000 0CD2 nop.i 0 } { .mfb 000008000000 0CE0 nop.m 0 000008000000 0CE1 nop.f 0 008000009000 0CE2 br.sptk.many L$1013 ;; // 071437 } 0CF0 L$1012: { .mii 012000100440 0CF0 add r17 = @ltoffx(ServerPort), gp // r17 = @ltoffx(ServerPort), r1 // 071440 012000100480 0CF1 add r18 = @ltoffx(ServerHostName), // r18 = @ltoffx(ServerHostName), r1 // 071439 gp 000008000000 0CF2 nop.i 0 ;; } { .mmi 0080C1100440 0D00 ld8.mov r17 = [r17], ServerPort // 071440 0080C12008C0 0D01 ld8.mov r35 = [r18], ServerHostName // 071439 000008000000 0D02 nop.i 0 ;; } { .mfi 008081100900 0D10 ld4 ServerPortNumber = ServerPort // r36 = [r17] // 071440 000008000000 0D11 nop.f 0 000008000000 0D12 nop.i 0 } 0D20 L$1013: // 071441 { .mii Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 73 ServerSignature 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0120001004C0 0D20 add r19 = @ltoffx(Config), gp // r19 = @ltoffx(Config), r1 // 071444 01CC609042C0 0D21 cmp4.eq pr11, pr12 = 2, r9 // 071443 000008000000 0D22 nop.i 0 ;; } { .mmi 0080C13004C0 0D30 ld8.mov r19 = [r19], Config ;; // 071444 0109093A8500 0D31 adds r20 = 4308, r19 000008000000 0D32 nop.i 0 ;; } { .mmi 008001400500 0D40 ld1 r20 = [r20] ;; 000008000000 0D41 nop.m 0 0000A1400500 0D42 sxt1 r20 = r20 ;; } { .mmi 01C001400380 0D50 cmp.eq pr14, pr0 = r0, r20 ;; 01C20000030E 0D51 (pr14) cmp.eq.or.andcm pr12, pr0 = r0, r0 000008000000 0D52 nop.i 0 } { .mfb 000008000000 0D60 nop.m 0 000008000000 0D61 nop.f 0 00860001200C 0D62 (pr12) br.cond.dpnt.many L$1015 ;; // 071443 } { .mii 012000100540 0D70 add r21 = @ltoff($LITERAL$+2024), // r21 = @ltoff($LITERAL$+2024), r1 // 071447 gp 01200000C640 0D71 mov ai = 6 // r25 = 6 // 071446 010802300C00 0D72 mov out5 = ServerHostNamePtr // r48 = r35 } { .mmi 010800000B40 0D80 mov out2 = r0 ;; // r45 = r0 0080C1500B80 0D81 ld8 out3 = $LITERAL$ // r46 = [r21] // 071447 012010000B00 0D82 mov out1 = 256 // r44 = 256 // 071446 } { .mib 010800C20AC0 0D90 adds out0 = 16, sp // r43 = 16, r12 0109093A8BC0 0D91 adds out4 = 4308, r19 // r47 = 4308, r19 // 071448 00A000001000 0D92 br.call.sptk.many rp = FaoToBuffer ;; // br0 = FaoToBuffer // 071446 } { .mib 010802A00040 0DA0 mov gp = r42 // r1 = r42 00A0308001C0 0DA1 tbit.z pr7, pr6 = status, 0 // pr7, pr6 = r8, 0 // 071449 00860000C006 0DA2 (pr6) br.cond.dpnt.many L$1016 ;; } { .mii 012000100BC0 0DB0 add out4 = @ltoffx($LITERAL$), gp // r47 = @ltoffx($LITERAL$), r1 01200000A640 0DB1 mov ai = 5 // r25 = 5 010800000B40 0DB2 mov out2 = r0 // r45 = r0 } { .mmi 010802000AC0 0DC0 mov out0 = rqptr ;; // r43 = r32 0080C2F00B80 0DC1 ld8.mov out3 = [r47], $LITERAL$ 012028024BC0 0DC2 mov out4 = 658 // r47 = 658 } { .mib 000008000000 0DD0 nop.m 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 74 ServerSignature 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0000B0800B00 0DD1 sxt4 out1 = status // r44 = r8 00A000001000 0DD2 br.call.sptk.many rp = ErrorNoticed ;; // br0 = ErrorNoticed } { .mfb 010802A00040 0DE0 mov gp = r42 // r1 = r42 000008000000 0DE1 nop.f 0 008000005000 0DE2 br.sptk.many L$1016 ;; } 0DF0 L$1015: // 071451 { .mmi 010800C20940 0DF0 adds r37 = 16, sp ;; // r37 = 16, r12 // 071452 008C02500000 0DF1 st1 [r37] = r0 000008000000 0DF2 nop.i 0 } 0E00 L$1016: { .mmi 012000100980 0E00 add r38 = @ltoffx(CliSoftwareID), // r38 = @ltoffx(CliSoftwareID), r1 // 071454 gp ;; 0080C2600980 0E01 ld8.mov r38 = [r38], CliSoftwareID 000008000000 0E02 nop.i 0 ;; } { .mmi 008082600980 0E10 ld4 r38 = CliSoftwareID ;; // r38 = [r38] 01C4026001C0 0E11 cmp4.eq pr7, pr0 = r0, r38 000008000000 0E12 nop.i 0 } { .mfb 000008000000 0E20 nop.m 0 000008000000 0E21 nop.f 0 00860006E007 0E22 (pr7) br.cond.dpnt.many L$1019 ;; } { .mii 012000004640 0E30 mov ai = 2 // r25 = 2 // 071456 012008070B00 0E31 mov out1 = 184 // r44 = 184 010802000AC0 0E32 mov out0 = rqptr // r43 = r32 } { .mfb 000008000000 0E40 nop.m 0 000008000000 0E41 nop.f 0 00A000001000 0E42 br.call.sptk.many rp = MsgFor ;; // br0 = MsgFor } { .mii 008000800940 0E50 ld1 r37 = [r8] // 071458 010810C20980 0E51 adds r38 = 272, sp // r38 = 272, r12 // 071457 0108008009C0 0E52 mov cptr = r8 // r39 = r8 // 071456 } { .mmi 010802A00040 0E60 mov gp = r42 ;; // r1 = r42 000008000000 0E61 nop.m 0 0000A2500940 0E62 sxt1 r37 = r37 ;; // 071458 } { .mfb 01C0025001C0 0E70 cmp.eq pr7, pr0 = r0, r37 000008000000 0E71 nop.f 0 00860001C007 0E72 (pr7) br.cond.dpnt.many L$1021 ;; } { .mii Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 75 ServerSignature 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 010810C20280 0E80 adds r10 = 272, sp // r10 = 272, r12 010818C20240 0E81 adds r9 = 400, sp // r9 = 400, r12 010810C200C0 0E82 adds r3 = 272, sp ;; // r3 = 272, r12 // 071457 } { .mmi 00CB10A00000 0E90 lfetch.nt1 [r10] // 071458 00CB10900000 0E91 lfetch.nt1 [r9] 0108083FE0C0 0E92 adds r3 = 255, r3 ;; // 071457 } 0EA0 L$1022: // 071458 { .mii 0080027002C0 0EA0 ld1 r11 = [r39] 01A44834C000 0EA1 cmp4.ltu pr0, pr9 = sptr, r3 ;; // pr0, pr9 = r38, r3 01C850B422C0 0EA2 cmp.eq pr11, pr10 = 33, r11 ;; } { .mfb 01C2000002C9 0EB0 (pr9) cmp.eq.or.andcm pr11, pr0 = r0, r0 000008000000 0EB1 nop.f 0 00860001400B 0EB2 (pr11) br.cond.dpnt.many L$1021 ;; } { .mmi 00A002702440 0EC0 ld1 r17 = [r39], 1 ;; 00AC02622040 0EC1 st1 [r38] = r17, 1 000008000000 0EC2 nop.i 0 ;; } { .mmi 0080027004C0 0ED0 ld1 r19 = [r39] ;; 000008000000 0ED1 nop.m 0 0000A13004C0 0ED2 sxt1 r19 = r19 ;; } { .mfb 01C001300340 0EE0 cmp.eq pr13, pr0 = r0, r19 000008000000 0EE1 nop.f 0 00860000E00D 0EE2 (pr13) br.cond.dpnt.many L$1021 ;; } { .mii 008002700500 0EF0 ld1 r20 = [r39] 01A47834C000 0EF1 cmp4.ltu pr0, pr15 = sptr, r3 // pr0, pr15 = r38, r3 010842700540 0EF2 adds r21 = 1024, r39 ;; } { .mmi 01C8314421C0 0F00 cmp.eq pr7, pr6 = 33, r20 00CB01500000 0F01 lfetch [r21] 000008000000 0F02 nop.i 0 ;; } { .mfb 01C2000001CF 0F10 (pr15) cmp.eq.or.andcm pr7, pr0 = r0, r0 000008000000 0F11 nop.f 0 008600008007 0F12 (pr7) br.cond.dpnt.many L$1021 ;; } { .mii 00AC02626040 0F20 st1 [r38] = r19, 1 0108027029C0 0F21 adds r39 = 1, r39 000008000000 0F22 nop.i 0 ;; } { .mmi 0080027005C0 0F30 ld1 r23 = [r39] ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 76 ServerSignature 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 0F31 nop.m 0 0000A17005C0 0F32 sxt1 r23 = r23 ;; } { .mfb 01C041700000 0F40 cmp.eq pr0, pr8 = r0, r23 000008000000 0F41 nop.f 0 0095FFFEC008 0F42 (pr8) br.cond.dptk.many L$1022 ;; } 0F50 L$1021: { .mii 012000100B40 0F50 add out2 = @ltoff($LITERAL$+2016), // r45 = @ltoff($LITERAL$+2016), r1 // 071459 gp 012000006640 0F51 mov ai = 3 // r25 = 3 010802700AC0 0F52 mov out0 = cptr ;; // r43 = r39 } { .mib 0080C2D00B00 0F60 ld8 out1 = $LITERAL$ // r44 = [r45] 012000008B40 0F61 mov out2 = 4 // r45 = 4 00A000001000 0F62 br.call.sptk.many rp = strsame ;; // br0 = strsame } { .mib 01C4008001C0 0F70 cmp4.eq pr7, pr0 = r0, r8 010802A00040 0F71 mov gp = r42 // r1 = r42 00860003C007 0F72 (pr7) br.cond.dpnt.many L$1027 ;; } { .mii 0108027089C0 0F80 adds r39 = 4, r39 // 071462 010810C20940 0F81 adds r37 = 272, sp ;; // r37 = 272, r12 // 071457 01080A5FE940 0F82 adds r37 = 255, r37 } { .mmi 0080027000C0 0F90 ld1 r3 = [r39] ;; // 071462 01A44A54C000 0F91 cmp4.ltu pr0, pr9 = sptr, r37 // pr0, pr9 = r38, r37 0000A03000C0 0F92 sxt1 r3 = r3 ;; } { .mmi 01C0503002C0 0FA0 cmp.eq pr11, pr10 = r0, r3 ;; 01C2000002C9 0FA1 (pr9) cmp.eq.or.andcm pr11, pr0 = r0, r0 000008000000 0FA2 nop.i 0 } { .mfb 000008000000 0FB0 nop.m 0 000008000000 0FB1 nop.f 0 00860001C00B 0FB2 (pr11) br.cond.dpnt.many L$1029 ;; } 0FC0 L$1030: { .mii 00AC02606040 0FC0 st1 [r38] = r3, 1 0108027029C0 0FC1 adds r39 = 1, r39 ;; 01A47A54C000 0FC2 cmp4.ltu pr0, pr15 = sptr, r37 // pr0, pr15 = r38, r37 } { .mmi 00A002702280 0FD0 ld1 r10 = [r39], 1 ;; 000008000000 0FD1 nop.m 0 0000A0A00280 0FD2 sxt1 r10 = r10 ;; } { .mmi Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 77 ServerSignature 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 01C060A00340 0FE0 cmp.eq pr13, pr12 = r0, r10 ;; 01C20000034F 0FE1 (pr15) cmp.eq.or.andcm pr13, pr0 = r0, r0 000008000000 0FE2 nop.i 0 } { .mfb 000008000000 0FF0 nop.m 0 000008000000 0FF1 nop.f 0 00860001400D 0FF2 (pr13) br.cond.dpnt.many L$1029 ;; } { .mmi 00AC02614040 1000 st1 [r38] = r10, 1 ;; 008002700440 1001 ld1 r17 = [r39] 01A44A54C000 1002 cmp4.ltu pr0, pr9 = sptr, r37 ;; // pr0, pr9 = r38, r37 } { .mii 000008000000 1010 nop.m 0 0000A1100440 1011 sxt1 r17 = r17 ;; 01C0311001C0 1012 cmp.eq pr7, pr6 = r0, r17 ;; } { .mfb 01C2000001C9 1020 (pr9) cmp.eq.or.andcm pr7, pr0 = r0, r0 000008000000 1021 nop.f 0 00860000E007 1022 (pr7) br.cond.dpnt.many L$1029 ;; } { .mii 008C02622000 1030 st1 [r38] = r17 0108226004C0 1031 adds r19 = 512, r38 010802602980 1032 adds r38 = 1, r38 } { .mmi 010822700480 1040 adds r18 = 512, r39 ;; 0108027029C0 1041 adds r39 = 1, r39 01A47A54C000 1042 cmp4.ltu pr0, pr15 = sptr, r37 // pr0, pr15 = r38, r37 } { .mmi 00CB41300000 1050 lfetch.excl [r19] ;; 008002700540 1051 ld1 r21 = [r39] 000008000000 1052 nop.i 0 } { .mmi 00CB01200000 1060 lfetch [r18] ;; 000008000000 1061 nop.m 0 0000A15000C0 1062 sxt1 r3 = r21 ;; } { .mmi 01C0503002C0 1070 cmp.eq pr11, pr10 = r0, r3 ;; 01C25000000F 1071 (pr15) cmp.eq.or.andcm pr0, pr10 = r0, r0 000008000000 1072 nop.i 0 } { .mfb 000008000000 1080 nop.m 0 000008000000 1081 nop.f 0 0095FFFE800A 1082 (pr10) br.cond.dptk.many L$1030 ;; } 1090 L$1029: { .mmi 010800C205C0 1090 adds r23 = 16, sp // r23 = 16, r12 // 071466 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 78 ServerSignature 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 008C02600000 1091 st1 [r38] = r0 // 071463 010802300640 1092 mov ai = ServerHostNamePtr ;; // r25 = r35 // 071466 } { .mii 0080017005C0 10A0 ld1 r23 = [r23] 010800C20600 10A1 adds r24 = 16, sp // r24 = 16, r12 012000100BC0 10A2 add out4 = @ltoffx(SoftwareID), gp // r47 = @ltoffx(SoftwareID), r1 // 071464 } { .mmi 010810C20B80 10B0 adds out3 = 272, sp ;; // r46 = 272, r12 0080C2F00BC0 10B1 ld8.mov out4 = [r47], SoftwareID 0000A17005C0 10B2 sxt1 r23 = r23 // 071466 } { .mii 010800000B40 10C0 mov out2 = r0 // r45 = r0 // 071464 0000B2400C40 10C1 sxt4 out6 = ServerPortNumber ;; // r49 = r36 01C061700000 10C2 cmp.eq pr0, pr12 = r0, r23 // 071466 } { .mii 010802100AC0 10D0 mov out0 = BufferPtr // r43 = r33 // 071464 0000B2200B00 10D1 sxt4 out1 = BufferSize ;; // r44 = r34 01080180064C 10D2 (pr12) mov ai = r24 ;; // r25 = r24 // 071466 } { .mib 010801900C00 10E0 mov out5 = ai // r48 = r25 // 071464 01200000E640 10E1 mov ai = 7 // r25 = 7 00A000001000 10E2 br.call.sptk.many rp = FaoToBuffer ;; // br0 = FaoToBuffer } { .mib 010802A00040 10F0 mov gp = r42 // r1 = r42 00A0308001C0 10F1 tbit.z pr7, pr6 = status, 0 // pr7, pr6 = r8, 0 // 071468 00860000A006 10F2 (pr6) br.cond.dpnt.many L$1033 ;; } { .mii 012000100BC0 1100 add out4 = @ltoffx($LITERAL$), gp // r47 = @ltoffx($LITERAL$), r1 01200000A640 1101 mov ai = 5 // r25 = 5 010800000B40 1102 mov out2 = r0 // r45 = r0 } { .mmi 010802000AC0 1110 mov out0 = rqptr ;; // r43 = r32 0080C2F00B80 1111 ld8.mov out3 = [r47], $LITERAL$ 01202804ABC0 1112 mov out4 = 677 // r47 = 677 } { .mib 000008000000 1120 nop.m 0 0000B0800B00 1121 sxt4 out1 = status // r44 = r8 00A000001000 1122 br.call.sptk.many rp = ErrorNoticed ;; // br0 = ErrorNoticed } { .mfi 010802A00040 1130 mov gp = r42 // r1 = r42 000008000000 1131 nop.f 0 000008000000 1132 nop.i 0 } 1140 L$1033: { .mfb 000008000000 1140 nop.m 0 000008000000 1141 nop.f 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 79 ServerSignature 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 008000027000 1142 br.sptk.many L$1035 ;; } 1150 L$1027: // 071470 { .mii 012000100BC0 1150 add out4 = @ltoffx($LITERAL$), gp // r47 = @ltoffx($LITERAL$), r1 // 071471 012000100B40 1151 add out2 = // r45 = @ltoffx(ErrorSanityCheck), r1 @ltoffx(ErrorSanityCheck), gp 01200000A640 1152 mov ai = 5 // r25 = 5 } { .mmi 012028048B00 1160 mov out1 = 676 ;; // r44 = 676 0080C2F00B80 1161 ld8.mov out3 = [r47], $LITERAL$ 012028050BC0 1162 mov out4 = 680 // r47 = 680 } { .mib 0080C2D00B40 1170 ld8.mov out2 = [r45], ErrorSanityCheck 010802000AC0 1171 mov out0 = rqptr // r43 = r32 00A000001000 1172 br.call.sptk.many rp = ErrorNoticed ;; // br0 = ErrorNoticed } { .mfi 010802A00040 1180 mov gp = r42 // r1 = r42 000008000000 1181 nop.f 0 000008000000 1182 nop.i 0 } 1190 L$1019: // 071472 { .mii 012000004640 1190 mov ai = 2 // r25 = 2 // 071475 012008070B00 1191 mov out1 = 184 // r44 = 184 010802000AC0 1192 mov out0 = rqptr ;; // r43 = r32 } { .mfb 000008000000 11A0 nop.m 0 000008000000 11A1 nop.f 0 00A000001000 11A2 br.call.sptk.many rp = MsgFor ;; // br0 = MsgFor } { .mii 010800C20940 11B0 adds r37 = 16, sp // r37 = 16, r12 // 071477 010802300980 11B1 mov r38 = ServerHostNamePtr // r38 = r35 010800C209C0 11B2 adds r39 = 16, sp // r39 = 16, r12 } { .mmi 010802A00040 11C0 mov gp = r42 ;; // r1 = r42 // 071475 008002500940 11C1 ld1 r37 = [r37] // 071477 012000100C00 11C2 add out5 = @ltoffx(HttpdVersion), // r48 = @ltoffx(HttpdVersion), r1 // 071474 gp } { .mii 012000100BC0 11D0 add out4 = @ltoffx(HttpdName), gp // r47 = @ltoffx(HttpdName), r1 012000010640 11D1 mov ai = 8 ;; // r25 = 8 0000A2500940 11D2 sxt1 r37 = r37 // 071477 } { .mmi 0080C3000C00 11E0 ld8.mov out5 = [r48], HttpdVersion // 071474 0080C2F00BC0 11E1 ld8.mov out4 = [r47], HttpdName 0000B2400C80 11E2 sxt4 out7 = ServerPortNumber ;; // r50 = r36 } { .mii Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 80 ServerSignature 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 01C032500000 11F0 cmp.eq pr0, pr6 = r0, r37 // 071477 010800800B80 11F1 mov out3 = r8 // r46 = r8 // 071474 010800000B40 11F2 mov out2 = r0 // r45 = r0 } { .mmi 010802100AC0 1200 mov out0 = BufferPtr ;; // r43 = r33 010802700986 1201 (pr6) mov r38 = r39 // 071477 0000B2200B00 1202 sxt4 out1 = BufferSize ;; // r44 = r34 // 071474 } { .mfb 010802600C40 1210 mov out6 = r38 // r49 = r38 000008000000 1211 nop.f 0 00A000001000 1212 br.call.sptk.many rp = FaoToBuffer ;; // br0 = FaoToBuffer } { .mib 010802A00040 1220 mov gp = r42 // r1 = r42 00A0308001C0 1221 tbit.z pr7, pr6 = status, 0 // pr7, pr6 = r8, 0 // 071479 00860000A006 1222 (pr6) br.cond.dpnt.many L$1035 ;; } { .mii 012000100BC0 1230 add out4 = @ltoffx($LITERAL$), gp // r47 = @ltoffx($LITERAL$), r1 01200000A640 1231 mov ai = 5 // r25 = 5 010800000B40 1232 mov out2 = r0 // r45 = r0 } { .mmi 010802000AC0 1240 mov out0 = rqptr ;; // r43 = r32 0080C2F00B80 1241 ld8.mov out3 = [r47], $LITERAL$ 012028060BC0 1242 mov out4 = 688 // r47 = 688 } { .mib 000008000000 1250 nop.m 0 0000B0800B00 1251 sxt4 out1 = status // r44 = r8 00A000001000 1252 br.call.sptk.many rp = ErrorNoticed ;; // br0 = ErrorNoticed } { .mfi 010802A00040 1260 mov gp = r42 // r1 = r42 000008000000 1261 nop.f 0 000008000000 1262 nop.i 0 } 1270 L$1035: { .mii 010802100200 1270 mov r8 = BufferPtr // r8 = r33 // 071481 000154052000 1271 mov.i rspfs = r41 ;; 000E00150000 1272 mov rp = r40 // br0 = r40 } { .mfb 010820C00300 1280 adds sp = 512, sp // r12 = 512, r12 000008000000 1281 nop.f 0 000108001100 1282 br.ret.sptk.many rp ;; // br0 } .endp ServerSignature Routine Size: 1616 bytes, Routine Base: $CODE$ + 0C40 .proc HttpLocalTimeString .align 32 .global HttpLocalTimeString Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 81 HttpLocalTimeString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 HttpLocalTimeString: // 071493 { .mii 002C00B26A40 1290 alloc r41 = rspfs, 2, 9, 8, 0 012000060380 1291 mov r14 = 48 010800C00080 1292 mov r2 = sp // r2 = r12 } { .mmi 01C400042200 12A0 cmp4.eq pr8, pr0 = Time64Ptr, r0 ;; // pr8, pr0 = r33, r0 // 071522 010028E183C0 12A1 sub r15 = sp, r14 // r15 = r12, r14 // 071493 000188000A00 12A2 mov r40 = rp ;; // r40 = br0 } { .mii 0080C0F00380 12B0 ld8 r14 = [r15] 010800F00300 12B1 mov sp = r15 // r12 = r15 010800100A80 12B2 mov r42 = gp // r42 = r1 } { .mfb 000008000000 12C0 nop.m 0 000008000000 12C1 nop.f 0 008600010008 12C2 (pr8) br.cond.dpnt.many L$998 ;; // 071522 } { .mmi 0111621F0240 12D0 and r9 = -8, in1 ;; // r9 = -8, r33 // 071523 01C050942000 12D1 cmp.eq pr0, pr10 = in1, r9 // pr0, pr10 = r33, r9 000008000000 12D2 nop.i 0 } { .mmi 00A0C0910440 12E0 ld8 r17 = [r9], 8 ;; 000008000000 12E1 nop.m 0 009E1004228A 12E2 (pr10) dep r10 = in1, r0, 3, 3 ;; // r10 = r33, r0, 3, 3 } { .mmi 0080C09002CA 12F0 (pr10) ld8 r11 = [r9] ;; 000008000000 12F1 nop.m 0 00F20111444A 12F2 (pr10) shr.u r17 = r17, r10 } { .mmi 010128A8028A 1300 (pr10) sub r10 = 64, r10 ;; 000008000000 1301 nop.m 0 00F240A162CA 1302 (pr10) shl r11 = r11, r10 ;; } { .mmi 01007111644A 1310 (pr10) or r17 = r11, r17 ;; 010800F703C0 1311 adds r15 = 56, r15 000008000000 1312 nop.i 0 ;; } { .mfi 00BCC8F23200 1320 st8 [r15] = r17, -56 000008000000 1321 nop.f 0 000008000000 1322 nop.i 0 ;; } { .mfb 000008000000 1330 nop.m 0 000008000000 1331 nop.f 0 008000007000 1332 br.sptk.many L$999 ;; // 071524 } 1340 L$998: Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 82 HttpLocalTimeString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mib 012000002640 1340 mov ai = 1 // r25 = 1 // 071525 010800C70AC0 1341 adds out0 = 56, sp // r43 = 56, r12 00A000001000 1342 br.call.sptk.many rp = SYS$GETTIM ;; // br0 = SYS$GETTIM } { .mfi 010802A00040 1350 mov gp = r42 // r1 = r42 000008000000 1351 nop.f 0 000008000000 1352 nop.i 0 } 1360 L$999: { .mii 012000004640 1360 mov ai = 2 // r25 = 2 // 071527 010800C70B00 1361 adds out1 = 56, sp // r44 = 56, r12 010800C50AC0 1362 adds out0 = 40, sp ;; // r43 = 40, r12 } { .mfb 000008000000 1370 nop.m 0 000008000000 1371 nop.f 0 00A000001000 1372 br.call.sptk.many rp = SYS$NUMTIM ;; // br0 = SYS$NUMTIM } { .mii 012000004640 1380 mov ai = 2 // r25 = 2 // 071529 010800C40B00 1381 adds out1 = 32, sp // r44 = 32, r12 010800C70AC0 1382 adds out0 = 56, sp // r43 = 56, r12 } { .mfb 010802A00040 1390 mov gp = r42 // r1 = r42 // 071527 000008000000 1391 nop.f 0 004000000000 1392 nop.b 0 ;; } { .mfb 000008000000 13A0 nop.m 0 000008000000 13A1 nop.f 0 00A000001000 13A2 br.call.sptk.many rp = LIB$DAY_OF_WEEK ;; // br0 = LIB$DAY_OF_WEEK // 071529 } { .mib 010802A00040 13B0 mov gp = r42 // r1 = r42 00A0308001C0 13B1 tbit.z pr7, pr6 = status, 0 // pr7, pr6 = r8, 0 008600004006 13B2 (pr6) br.cond.dpnt.many L$1000 ;; } { .mfb 000008000000 13C0 nop.m 0 000008000000 13C1 nop.f 0 008000027000 13C2 br.sptk.many L$1004 ;; } 13D0 L$1000: // 071530 { .mii 010800C40880 13D0 adds r34 = 32, sp // r34 = 32, r12 // 071537 012000100240 13D1 add r9 = @ltoffx(MonthName), gp // r9 = @ltoffx(MonthName), r1 010800C54840 13D2 adds in1 = 42, sp // r33 = 42, r12 } { .mmi 0120001009C0 13E0 add r39 = @ltoffx(DayName), gp ;; // r39 = @ltoffx(DayName), r1 008082200880 13E1 ld4 r34 = [r34] 010800C60480 13E2 adds r18 = 48, sp // r18 = 48, r12 // 071538 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 83 HttpLocalTimeString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mii 0080C0900240 13F0 ld8.mov r9 = [r9], MonthName // 071537 010800C642C0 13F1 adds r11 = 50, sp ;; // r11 = 50, r12 // 071538 0000B2200880 13F2 sxt4 r34 = r34 // 071537 } { .mmi 008042100840 1400 ld2 in1 = [in1] // r33 = [r33] 0080C27009C0 1401 ld8.mov r39 = [r39], DayName 010800C580C0 1402 adds r3 = 44, sp ;; // r3 = 44, r12 } { .mmi 008041200480 1410 ld2 r18 = [r18] // 071538 008040B002C0 1411 ld2 r11 = [r11] 010088942240 1412 shladd r9 = in1, 2, r9 ;; // r9 = r33, 2, r9 // 071537 } { .mii 01008A744880 1420 shladd r34 = r34, 2, r39 010800C204C0 1421 adds r19 = 16, sp // r19 = 16, r12 // 071536 012000034900 1422 mov r36 = 26 // 071533 } { .mmi 0120001008C0 1430 add r35 = @gprel(TimeStringDsc), // r35 = @gprel(TimeStringDsc), r1 gp ;; 008080900C00 1431 ld4 out5 = [r9] // r48 = [r9] // 071536 010800C30500 1432 adds r20 = 24, sp // r20 = 24, r12 } { .mii 008082200B80 1440 ld4 out3 = [r34] // r46 = [r34] 010800C50440 1441 adds r17 = 40, sp ;; // r17 = 40, r12 // 071538 010800C5C280 1442 adds r10 = 46, sp // r10 = 46, r12 } { .mii 0080403000C0 1450 ld2 r3 = [r3] // 071537 012000100AC0 1451 add out0 = @gprel(HttpTimeFaoDsc), // r43 = @gprel(HttpTimeFaoDsc), r1 // 071536 gp 012000014640 1452 mov ai = 10 ;; // r25 = 10 } { .mmi 008CC1324000 1460 st8 [r19] = r18 00AC42348100 1461 st2 [r35] = r36, 4 // 071533 0000B3000C00 1462 sxt4 out5 = out5 ;; // r48 = r48 // 071536 } { .mmi 008041100C40 1470 ld2 out6 = [r17] // r49 = [r17] // 071538 008040A00C80 1471 ld2 out7 = [r10] // r50 = [r10] 010800300BC0 1472 mov out4 = r3 ;; // r47 = r3 // 071536 } { .mii 012000000B00 1480 mov out1 = 0 // r44 = 0 0000B2E00B80 1481 sxt4 out3 = out3 // r46 = r46 010802B10B40 1482 adds out2 = 8, out0 // r45 = 8, r43 } { .mmi 008CC1416000 1490 st8 [r20] = r11 ;; 008C82340000 1491 st4 [r35] = TimeString // [r35] = r32 // 071534 000008000000 1492 nop.i 0 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 84 HttpLocalTimeString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mfb 000008000000 14A0 nop.m 0 000008000000 14A1 nop.f 0 00A000001000 14A2 br.call.sptk.many rp = SYS$FAO ;; // br0 = SYS$FAO // 071536 } { .mii 012060002900 14B0 mov r36 = 1537 // 071539 00A0308001C0 14B1 tbit.z pr7, pr6 = status, 0 // pr7, pr6 = r8, 0 010802A00040 14B2 mov gp = r42 ;; // r1 = r42 // 071536 } { .mmi 01C402410200 14C0 cmp4.eq pr8, pr0 = status, r36 ;; // pr8, pr0 = r8, r36 // 071539 01C230000008 14C1 (pr8) cmp.eq.or.andcm pr0, pr6 = r0, r0 000008000000 14C2 nop.i 0 } { .mfb 000008000000 14D0 nop.m 0 000008000000 14D1 nop.f 0 008600004006 14D2 (pr6) br.cond.dpnt.many L$1004 ;; } { .mfi 008C02000000 14E0 st1 [in0] = r0 // [r32] = r0 000008000000 14E1 nop.f 0 000008000000 14E2 nop.i 0 } 14F0 L$1004: { .mii 000008000000 14F0 nop.m 0 0000B0800200 14F1 sxt4 r8 = r8 ;; // 071541 000154052000 14F2 mov.i rspfs = r41 ;; } { .mii 000008000000 1500 nop.m 0 000E00150000 1501 mov rp = r40 // br0 = r40 010800C60300 1502 adds sp = 48, sp // r12 = 48, r12 } { .mfb 000008000000 1510 nop.m 0 000008000000 1511 nop.f 0 000108001100 1512 br.ret.sptk.many rp ;; // br0 } .endp HttpLocalTimeString Routine Size: 656 bytes, Routine Base: $CODE$ + 1290 .proc HttpGmTimeString .align 32 .global HttpGmTimeString HttpGmTimeString: // 071553 { .mii 002C00B26A40 1520 alloc r41 = rspfs, 2, 9, 8, 0 012000060380 1521 mov r14 = 48 010800C00080 1522 mov r2 = sp // r2 = r12 } { .mmi 01C400042200 1530 cmp4.eq pr8, pr0 = Time64Ptr, r0 ;; // pr8, pr0 = r33, r0 // 071584 010028E183C0 1531 sub r15 = sp, r14 // r15 = r12, r14 // 071553 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 85 HttpGmTimeString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000188000A00 1532 mov r40 = rp ;; // r40 = br0 } { .mii 0080C0F00380 1540 ld8 r14 = [r15] 010800F00300 1541 mov sp = r15 // r12 = r15 010800100A80 1542 mov r42 = gp // r42 = r1 } { .mfb 000008000000 1550 nop.m 0 000008000000 1551 nop.f 0 00860000C008 1552 (pr8) br.cond.dpnt.many L$987 ;; // 071584 } { .mmi 0111621F0240 1560 and r9 = -8, in1 ;; // r9 = -8, r33 // 071585 01C050942000 1561 cmp.eq pr0, pr10 = in1, r9 // pr0, pr10 = r33, r9 000008000000 1562 nop.i 0 } { .mmi 00A0C0910440 1570 ld8 r17 = [r9], 8 ;; 000008000000 1571 nop.m 0 009E1004228A 1572 (pr10) dep r10 = in1, r0, 3, 3 ;; // r10 = r33, r0, 3, 3 } { .mmi 0080C09002CA 1580 (pr10) ld8 r11 = [r9] ;; 000008000000 1581 nop.m 0 00F20111444A 1582 (pr10) shr.u r17 = r17, r10 } { .mmi 010128A8028A 1590 (pr10) sub r10 = 64, r10 ;; 000008000000 1591 nop.m 0 00F240A162CA 1592 (pr10) shl r11 = r11, r10 ;; } { .mfb 01007111644A 15A0 (pr10) or r17 = r11, r17 000008000000 15A1 nop.f 0 008000009000 15A2 br.sptk.many L$988 ;; // 071586 } 15B0 L$987: { .mib 012000002640 15B0 mov ai = 1 // r25 = 1 // 071587 010800C70AC0 15B1 adds out0 = 56, sp // r43 = 56, r12 00A000001000 15B2 br.call.sptk.many rp = SYS$GETTIM ;; // br0 = SYS$GETTIM } { .mii 010800C70880 15C0 adds r34 = 56, sp // r34 = 56, r12 010802A00040 15C1 mov gp = r42 // r1 = r42 000008000000 15C2 nop.i 0 ;; } { .mfi 0080C2200440 15D0 ld8 time64 = [r34] // r17 = [r34] 000008000000 15D1 nop.f 0 000008000000 15D2 nop.i 0 } 15E0 L$988: { .mii 0120001008C0 15E0 add r35 = @ltoffx(TimeUtcDelta64), // r35 = @ltoffx(TimeUtcDelta64), r1 // 072004 gp Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 86 HttpGmTimeString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 010800C70900 15E1 adds r36 = 56, sp // r36 = 56, r12 012000004640 15E2 mov ai = 2 ;; // r25 = 2 // 071591 } { .mii 0080C23008C0 15F0 ld8.mov r35 = [r35], TimeUtcDelta64 // 072004 010800C70B00 15F1 adds out1 = 56, sp // r44 = 56, r12 // 071591 010800C50AC0 15F2 adds out0 = 40, sp ;; // r43 = 40, r12 } { .mmi 0080C23008C0 1600 ld8 r35 = TimeUtcDelta64 ;; // r35 = [r35] // 072004 01002A322440 1601 sub r17 = time64, r35 // r17 = r17, r35 000008000000 1602 nop.i 0 ;; } { .mfb 008CC2422000 1610 st8 [r36] = r17 000008000000 1611 nop.f 0 00A000001000 1612 br.call.sptk.many rp = SYS$NUMTIM ;; // br0 = SYS$NUMTIM // 071591 } { .mii 012000004640 1620 mov ai = 2 // r25 = 2 // 071593 010800C40B00 1621 adds out1 = 32, sp // r44 = 32, r12 010800C70AC0 1622 adds out0 = 56, sp // r43 = 56, r12 } { .mfb 010802A00040 1630 mov gp = r42 // r1 = r42 // 071591 000008000000 1631 nop.f 0 004000000000 1632 nop.b 0 ;; } { .mfb 000008000000 1640 nop.m 0 000008000000 1641 nop.f 0 00A000001000 1642 br.call.sptk.many rp = LIB$DAY_OF_WEEK ;; // br0 = LIB$DAY_OF_WEEK // 071593 } { .mib 010802A00040 1650 mov gp = r42 // r1 = r42 00A0308001C0 1651 tbit.z pr7, pr6 = status, 0 // pr7, pr6 = r8, 0 008600004006 1652 (pr6) br.cond.dpnt.many L$989 ;; } { .mfb 000008000000 1660 nop.m 0 000008000000 1661 nop.f 0 008000027000 1662 br.sptk.many L$993 ;; } 1670 L$989: // 071594 { .mii 010800C40940 1670 adds r37 = 32, sp // r37 = 32, r12 // 071601 012000100240 1671 add r9 = @ltoffx(MonthName), gp // r9 = @ltoffx(MonthName), r1 010800C54900 1672 adds r36 = 42, sp // r36 = 42, r12 } { .mmi 0120001008C0 1680 add r35 = @ltoffx(DayName), gp ;; // r35 = @ltoffx(DayName), r1 008082500940 1681 ld4 r37 = [r37] 010800C60480 1682 adds r18 = 48, sp // r18 = 48, r12 // 071602 } { .mii 0080C0900240 1690 ld8.mov r9 = [r9], MonthName // 071601 010800C642C0 1691 adds r11 = 50, sp ;; // r11 = 50, r12 // 071602 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 87 HttpGmTimeString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0000B2500940 1692 sxt4 r37 = r37 // 071601 } { .mmi 008042400900 16A0 ld2 r36 = [r36] 0080C23008C0 16A1 ld8.mov r35 = [r35], DayName 010800C580C0 16A2 adds r3 = 44, sp ;; // r3 = 44, r12 } { .mmi 008041200480 16B0 ld2 r18 = [r18] // 071602 008040B002C0 16B1 ld2 r11 = [r11] 010088948240 16B2 shladd r9 = r36, 2, r9 ;; // 071601 } { .mii 01008A34A8C0 16C0 shladd r35 = r37, 2, r35 010800C204C0 16C1 adds r19 = 16, sp // r19 = 16, r12 // 071600 01200003C9C0 16C2 mov r39 = 30 // 071597 } { .mmi 012000100980 16D0 add r38 = @gprel(TimeStringDsc), // r38 = @gprel(TimeStringDsc), r1 gp ;; 008080900C00 16D1 ld4 out5 = [r9] // r48 = [r9] // 071600 010800C30500 16D2 adds r20 = 24, sp // r20 = 24, r12 } { .mii 008082300B80 16E0 ld4 out3 = [r35] // r46 = [r35] 010800C50440 16E1 adds r17 = 40, sp ;; // r17 = 40, r12 // 071602 010800C5C280 16E2 adds r10 = 46, sp // r10 = 46, r12 } { .mii 0080403000C0 16F0 ld2 r3 = [r3] // 071601 012000100AC0 16F1 add out0 = @gprel(HttpTimeFaoDsc), // r43 = @gprel(HttpTimeFaoDsc), r1 // 071600 gp 012000014640 16F2 mov ai = 10 ;; // r25 = 10 } { .mmi 008CC1324000 1700 st8 [r19] = r18 00AC4264E100 1701 st2 [r38] = r39, 4 // 071597 0000B3000C00 1702 sxt4 out5 = out5 ;; // r48 = r48 // 071600 } { .mmi 008041100C40 1710 ld2 out6 = [r17] // r49 = [r17] // 071602 008040A00C80 1711 ld2 out7 = [r10] // r50 = [r10] 010800300BC0 1712 mov out4 = r3 ;; // r47 = r3 // 071600 } { .mii 012000000B00 1720 mov out1 = 0 // r44 = 0 0000B2E00B80 1721 sxt4 out3 = out3 // r46 = r46 010802B10B40 1722 adds out2 = 8, out0 // r45 = 8, r43 } { .mmi 008CC1416000 1730 st8 [r20] = r11 ;; 008C82640000 1731 st4 [r38] = TimeString // [r38] = r32 // 071598 000008000000 1732 nop.i 0 } { .mfb 000008000000 1740 nop.m 0 000008000000 1741 nop.f 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 88 HttpGmTimeString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 00A000001000 1742 br.call.sptk.many rp = SYS$FAO ;; // br0 = SYS$FAO // 071600 } { .mii 012060002840 1750 mov in1 = 1537 // r33 = 1537 // 071603 00A0308001C0 1751 tbit.z pr7, pr6 = status, 0 // pr7, pr6 = r8, 0 010802A00040 1752 mov gp = r42 ;; // r1 = r42 // 071600 } { .mmi 01C402110200 1760 cmp4.eq pr8, pr0 = status, in1 ;; // pr8, pr0 = r8, r33 // 071603 01C230000008 1761 (pr8) cmp.eq.or.andcm pr0, pr6 = r0, r0 000008000000 1762 nop.i 0 } { .mfb 000008000000 1770 nop.m 0 000008000000 1771 nop.f 0 008600004006 1772 (pr6) br.cond.dpnt.many L$993 ;; } { .mfi 008C02000000 1780 st1 [in0] = r0 // [r32] = r0 000008000000 1781 nop.f 0 000008000000 1782 nop.i 0 } 1790 L$993: { .mii 000008000000 1790 nop.m 0 0000B0800200 1791 sxt4 r8 = r8 ;; // 071605 000154052000 1792 mov.i rspfs = r41 ;; } { .mii 000008000000 17A0 nop.m 0 000E00150000 17A1 mov rp = r40 // br0 = r40 010800C60300 17A2 adds sp = 48, sp // r12 = 48, r12 } { .mfb 000008000000 17B0 nop.m 0 000008000000 17B1 nop.f 0 000108001100 17B2 br.ret.sptk.many rp ;; // br0 } .endp HttpGmTimeString Routine Size: 672 bytes, Routine Base: $CODE$ + 1520 .proc HttpIsoTimeString .align 32 .global HttpIsoTimeString HttpIsoTimeString: // 071618 { .mii 002C00C28A40 17C0 alloc r41 = rspfs, 3, 9, 8, 0 012000080380 17C1 mov r14 = 64 010800C00080 17C2 mov r2 = sp // r2 = r12 } { .mmi 010800100AC0 17D0 mov r43 = gp ;; // r43 = r1 010028E183C0 17D1 sub r15 = sp, r14 // r15 = r12, r14 000188000A00 17D2 mov r40 = rp ;; // r40 = br0 } { .mii Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 89 HttpIsoTimeString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0080C0F00380 17E0 ld8 r14 = [r15] 010800F00300 17E1 mov sp = r15 // r12 = r15 000198000A80 17E2 mov r42 = pr ;; } { .mfb 01C400044200 17F0 cmp4.eq pr8, pr0 = Time64Ptr, r0 // pr8, pr0 = r34, r0 // 071642 000008000000 17F1 nop.f 0 008600010008 17F2 (pr8) br.cond.dpnt.many L$974 ;; } { .mmi 0111622F0240 1800 and r9 = -8, in2 ;; // r9 = -8, r34 // 071643 01C050944000 1801 cmp.eq pr0, pr10 = in2, r9 // pr0, pr10 = r34, r9 000008000000 1802 nop.i 0 } { .mmi 00A0C0910440 1810 ld8 r17 = [r9], 8 ;; 000008000000 1811 nop.m 0 009E1004428A 1812 (pr10) dep r10 = in2, r0, 3, 3 ;; // r10 = r34, r0, 3, 3 } { .mmi 0080C09002CA 1820 (pr10) ld8 r11 = [r9] ;; 000008000000 1821 nop.m 0 00F20111444A 1822 (pr10) shr.u r17 = r17, r10 } { .mmi 010128A8028A 1830 (pr10) sub r10 = 64, r10 ;; 000008000000 1831 nop.m 0 00F240A162CA 1832 (pr10) shl r11 = r11, r10 ;; } { .mmi 01007111644A 1840 (pr10) or r17 = r11, r17 ;; 010800F803C0 1841 adds r15 = 64, r15 000008000000 1842 nop.i 0 ;; } { .mfi 00BCC8F23000 1850 st8 [r15] = r17, -64 000008000000 1851 nop.f 0 000008000000 1852 nop.i 0 ;; } { .mfb 000008000000 1860 nop.m 0 000008000000 1861 nop.f 0 008000007000 1862 br.sptk.many L$975 ;; // 071644 } 1870 L$974: { .mib 012000002640 1870 mov ai = 1 // r25 = 1 // 071645 010800C80B00 1871 adds out0 = 64, sp // r44 = 64, r12 00A000001000 1872 br.call.sptk.many rp = SYS$GETTIM ;; // br0 = SYS$GETTIM } { .mfi 010802B00040 1880 mov gp = r43 // r1 = r43 000008000000 1881 nop.f 0 000008000000 1882 nop.i 0 } 1890 L$975: { .mmi Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 90 HttpIsoTimeString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 01C4320001C0 1890 cmp4.eq pr7, pr6 = r0, LocalTimeZone ;; // pr7, pr6 = r0, r32 // 071647 01C0000010C7 1891 (pr7) cmp.eq.unc pr3, pr0 = r0, r0 01C000001086 1892 (pr6) cmp.eq.unc pr2, pr0 = r0, r0 } { .mfb 000008000000 18A0 nop.m 0 000008000000 18A1 nop.f 0 00860000A002 18A2 (pr2) br.cond.dpnt.many L$976 ;; } { .mii 012000100900 18B0 add r36 = @ltoffx(TimeUtcDelta64), // r36 = @ltoffx(TimeUtcDelta64), r1 // 072004 gp 010800C808C0 18B1 adds r35 = 64, sp // r35 = 64, r12 010800C80940 18B2 adds r37 = 64, sp ;; // r37 = 64, r12 } { .mmi 0080C2400900 18C0 ld8.mov r36 = [r36], TimeUtcDelta64 0080C23008C0 18C1 ld8 r35 = [r35] 000008000000 18C2 nop.i 0 ;; } { .mmi 0080C2400900 18D0 ld8 r36 = TimeUtcDelta64 ;; // r36 = [r36] 01002A4468C0 18D1 sub r35 = r35, r36 000008000000 18D2 nop.i 0 ;; } { .mfi 008CC2546000 18E0 st8 [r37] = r35 000008000000 18E1 nop.f 0 000008000000 18E2 nop.i 0 } 18F0 L$976: // 071647 { .mii 012000004640 18F0 mov ai = 2 // r25 = 2 // 071649 010800C80B40 18F1 adds out1 = 64, sp // r45 = 64, r12 010800C60B00 18F2 adds out0 = 48, sp ;; // r44 = 48, r12 } { .mfb 000008000000 1900 nop.m 0 000008000000 1901 nop.f 0 00A000001000 1902 br.call.sptk.many rp = SYS$NUMTIM ;; // br0 = SYS$NUMTIM } { .mii 010802B00040 1910 mov gp = r43 // r1 = r43 01200003E200 1911 mov r8 = 31 // 071652 010800C78940 1912 adds r37 = 60, sp // r37 = 60, r12 // 071658 } { .mmi 010800C748C0 1920 adds r35 = 58, sp ;; // r35 = 58, r12 0120001000C0 1921 add r3 = @gprel(TimeStringDsc), gp // r3 = @gprel(TimeStringDsc), r1 // 071652 010800C70900 1922 adds r36 = 56, sp // r36 = 56, r12 // 071658 } { .mii 010800C6C800 1930 adds in0 = 54, sp // r32 = 54, r12 010800C68880 1931 adds in2 = 52, sp ;; // r34 = 52, r12 // 071657 010800C649C0 1932 adds r39 = 50, sp // r39 = 50, r12 } { .mmi Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 91 HttpIsoTimeString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 010800C60980 1940 adds r38 = 48, sp // r38 = 48, r12 00AC40310100 1941 st2 [r3] = r8, 4 // 071652 012000100280 1942 add r10 = @gprel(UtcTimeFaoDsc), // r10 = @gprel(UtcTimeFaoDsc), r1 // 071661 gp ;; } { .mmi 008042500940 1950 ld2 r37 = [r37] // 071658 0080423008C0 1951 ld2 r35 = [r35] 000008000000 1952 nop.i 0 ;; } { .mmi 0080424002C0 1960 ld2 r11 = [r36] 008042000CC0 1961 ld2 out7 = [in0] // r51 = [r32] 000008000000 1962 nop.i 0 ;; } { .mmi 008042200C80 1970 ld2 out6 = [in2] // r50 = [r34] // 071657 008042700C40 1971 ld2 out5 = [r39] // r49 = [r39] 000008000000 1972 nop.i 0 ;; } { .mmi 008042600C00 1980 ld2 out4 = [r38] ;; // r48 = [r38] 008C80342000 1981 st4 [r3] = TimeString // [r3] = r33 // 071653 000008000000 1982 nop.i 0 } { .bbb 008600002002 1990 (pr2) br.cond.dpnt.many L$978 // 071655 004000000000 1991 nop.b 0 008600010003 1992 (pr3) br.cond.dpnt.many L$979 ;; } 19A0 L$978: { .mii 010800C20480 19A0 adds r18 = 16, sp // r18 = 16, r12 // 071656 0000B23008C0 19A1 sxt4 r35 = r35 0000B2500940 19A2 sxt4 r37 = r37 } { .mmi 010800C404C0 19B0 adds r19 = 32, sp ;; // r19 = 32, r12 008CC1246000 19B1 st8 [r18] = r35 010800C308C0 19B2 adds r35 = 24, sp // r35 = 24, r12 } { .mii 012000016640 19C0 mov ai = 11 // r25 = 11 0000B3000BC0 19C1 sxt4 out3 = out4 ;; // r47 = r48 0000B3100C00 19C2 sxt4 out4 = out5 // r48 = r49 } { .mii 008CC234A000 19D0 st8 [r35] = r37 0120001008C0 19D1 add r35 = @ltoffx(TimeZoneString), // r35 = @ltoffx(TimeZoneString), r1 // 071659 gp 0000B3200C40 19D2 sxt4 out5 = out6 ;; // r49 = r50 // 071656 } { .mii 0080C23008C0 19E0 ld8.mov r35 = [r35], TimeZoneString // 071659 0000B3300C80 19E1 sxt4 out6 = out7 // r50 = r51 // 071656 0000B0B00CC0 19E2 sxt4 out7 = r11 // r51 = r11 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 92 HttpIsoTimeString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mmi 012000000B40 19F0 mov out1 = 0 ;; // r45 = 0 008CC1346000 19F1 st8 [r19] = r35 010800A10B80 19F2 adds out2 = 8, r10 // r46 = 8, r10 } { .mfb 010800A20B00 1A00 adds out0 = 16, r10 // r44 = 16, r10 000008000000 1A01 nop.f 0 00800000F000 1A02 br.sptk.many L$1125 ;; } 1A10 L$979: // 071660 { .mii 010800C209C0 1A10 adds r39 = 16, sp // r39 = 16, r12 // 071661 0000B23008C0 1A11 sxt4 r35 = r35 010800C30880 1A12 adds in2 = 24, sp // r34 = 24, r12 } { .mmi 010800A10B80 1A20 adds out2 = 8, r10 ;; // r46 = 8, r10 008CC2746000 1A21 st8 [r39] = r35 0000B2500940 1A22 sxt4 r37 = r37 } { .mii 012000014640 1A30 mov ai = 10 // r25 = 10 0000B3000BC0 1A31 sxt4 out3 = out4 ;; // r47 = r48 0000B3100C00 1A32 sxt4 out4 = out5 // r48 = r49 } { .mii 012000000B40 1A40 mov out1 = 0 // r45 = 0 0000B3200C40 1A41 sxt4 out5 = out6 ;; // r49 = r50 0000B3300C80 1A42 sxt4 out6 = out7 // r50 = r51 } { .mib 010800A00B00 1A50 mov out0 = r10 // r44 = r10 0000B0B00CC0 1A51 sxt4 out7 = r11 // r51 = r11 004000000000 1A52 nop.b 0 ;; } { .mfi 008CC224A000 1A60 st8 [in2] = r37 // [r34] = r37 000008000000 1A61 nop.f 0 000008000000 1A62 nop.i 0 } 1A70 L$1125: { .mfb 000008000000 1A70 nop.m 0 000008000000 1A71 nop.f 0 00A000001000 1A72 br.call.sptk.many rp = SYS$FAO ;; // br0 = SYS$FAO } { .mii 012060002800 1A80 mov in0 = 1537 // r32 = 1537 // 071664 00A0108000C0 1A81 tbit.z pr3, pr2 = status, 0 // pr3, pr2 = r8, 0 010802B00040 1A82 mov gp = r43 ;; // r1 = r43 // 071661 } { .mmi 01C402010180 1A90 cmp4.eq pr6, pr0 = status, in0 ;; // pr6, pr0 = r8, r32 // 071664 01C210000006 1A91 (pr6) cmp.eq.or.andcm pr0, pr2 = r0, r0 000008000000 1A92 nop.i 0 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 93 HttpIsoTimeString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mfb 000008000000 1AA0 nop.m 0 000008000000 1AA1 nop.f 0 008600004002 1AA2 (pr2) br.cond.dpnt.many L$982 ;; } { .mfi 008C02100000 1AB0 st1 [in1] = r0 // [r33] = r0 000008000000 1AB1 nop.f 0 000008000000 1AB2 nop.i 0 } 1AC0 L$982: { .mii 000008000000 1AC0 nop.m 0 0016000547C0 1AC1 mov pr = r42, -65474 // 071666 0000B0800200 1AC2 sxt4 r8 = r8 ;; } { .mii 000008000000 1AD0 nop.m 0 000154052000 1AD1 mov.i rspfs = r41 ;; 000E00150000 1AD2 mov rp = r40 // br0 = r40 } { .mfb 010800C80300 1AE0 adds sp = 64, sp // r12 = 64, r12 000008000000 1AE1 nop.f 0 000108001100 1AE2 br.ret.sptk.many rp ;; // br0 } .endp HttpIsoTimeString Routine Size: 816 bytes, Routine Base: $CODE$ + 17C0 .proc HttpGetTime .align 32 .global HttpGetTime HttpGetTime: // 071681 { .mii 002C0040C8C0 1AF0 alloc r35 = rspfs, 2, 2, 2, 0 010802100940 1AF1 mov out1 = Time64Ptr // r37 = r33 // 071693 010802000900 1AF2 mov out0 = TimeString ;; // r36 = r32 } { .mib 000008000000 1B00 nop.m 0 000188000880 1B01 mov r34 = rp // r34 = br0 // 071681 00A000001000 1B02 br.call.sptk.many rp = HttpGmTime ;; // br0 = HttpGmTime // 071693 } { .mib 000008000000 1B10 nop.m 0 00A0308001C0 1B11 tbit.z pr7, pr6 = status, 0 // pr7, pr6 = r8, 0 008600004006 1B12 (pr6) br.cond.dpnt.many L$968 ;; } { .mib 010802100940 1B20 mov out1 = Time64Ptr // r37 = r33 // 071694 010802000900 1B21 mov out0 = TimeString // r36 = r32 00A000001000 1B22 br.call.sptk.many rp = HttpIsoTime ;; // br0 = HttpIsoTime } 1B30 L$968: { .mib 000008000000 1B30 nop.m 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 94 HttpGetTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0000B0800200 1B31 sxt4 r8 = r8 // 071695 004000000000 1B32 nop.b 0 } { .mii 000008000000 1B40 nop.m 0 000154046000 1B41 mov.i rspfs = r35 ;; 000E00144000 1B42 mov rp = r34 // br0 = r34 } { .mfb 000008000000 1B50 nop.m 0 000008000000 1B51 nop.f 0 000108001100 1B52 br.ret.sptk.many rp ;; // br0 } .endp HttpGetTime Routine Size: 112 bytes, Routine Base: $CODE$ + 1AF0 .proc HttpGmTime .align 32 .global HttpGmTime HttpGmTime: // 071705 { .mii 002C00816980 1B60 alloc r38 = rspfs, 2, 6, 3, 0 012000020380 1B61 mov r14 = 16 010800C00080 1B62 mov r2 = sp // r2 = r12 } { .mmi 010802000A00 1B70 mov TimeString = in0 ;; // r40 = r32 010028E183C0 1B71 sub r15 = sp, r14 // r15 = r12, r14 000188000940 1B72 mov r37 = rp // r37 = br0 } { .mlx 0119F80FE740 1B80 adds r29 = -1, r0 01FFFC000000 1B81 movl in0 = -281474976710656 ;; // r32 = -281474976710656 // 071717 01A0000010 } { .mii 0080C0F00380 1B90 ld8 r14 = [r15] // 071705 010800F00300 1B91 mov sp = r15 // r12 = r15 010800F203C0 1B92 adds r15 = 16, r15 // 071717 } { .mmi 0119F80FE5C0 1BA0 adds r23 = -1, r0 ;; // 071705 00ACC0F00200 1BA1 st8 [r15] = r0, 8 // 071717 0108001009C0 1BA2 mov r39 = gp ;; // r39 = r1 // 071705 } { .mmi 0080C0F000C0 1BB0 ld8 r3 = [r15] ;; // 071717 0100603400C0 1BB1 and r3 = in0, r3 // r3 = r32, r3 010802800800 1BB2 mov tptr = TimeString ;; // r32 = r40 // 071725 } { .mmi 00BCC8F07A00 1BC0 st8 [r15] = r3, -24 ;; // 071717 008002800240 1BC1 ld1 r9 = [out0] // r9 = [r40] // 071727 000008000000 1BC2 nop.i 0 ;; } { .mii Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 95 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 1BD0 nop.m 0 0000A0900240 1BD1 sxt1 r9 = r9 ;; 01C0009001C0 1BD2 cmp.eq pr7, pr0 = r0, r9 } { .mfb 000008000000 1BE0 nop.m 0 000008000000 1BE1 nop.f 0 008600020007 1BE2 (pr7) br.cond.dpnt.many L$850 ;; } 1BF0 L$851: { .mmi 0080020000C0 1BF0 ld1 r3 = [in0] ;; // r3 = [r32] 01C8003581C0 1BF1 cmp.eq pr7, pr0 = 44, r3 000008000000 1BF2 nop.i 0 } { .mfb 000008000000 1C00 nop.m 0 000008000000 1C01 nop.f 0 00860001C007 1C02 (pr7) br.cond.dpnt.many L$850 ;; } { .mmi 010802002800 1C10 adds in0 = 1, in0 ;; // r32 = 1, r32 008002000200 1C11 ld1 r8 = [in0] // r8 = [r32] 000008000000 1C12 nop.i 0 ;; } { .mii 000008000000 1C20 nop.m 0 0000A0800200 1C21 sxt1 r8 = r8 ;; 01C0008001C0 1C22 cmp.eq pr7, pr0 = r0, r8 } { .mfb 000008000000 1C30 nop.m 0 000008000000 1C31 nop.f 0 008600016007 1C32 (pr7) br.cond.dpnt.many L$850 ;; } { .mmi 008002000240 1C40 ld1 r9 = [in0] ;; // r9 = [r32] 01C8009581C0 1C41 cmp.eq pr7, pr0 = 44, r9 000008000000 1C42 nop.i 0 } { .mfb 000008000000 1C50 nop.m 0 000008000000 1C51 nop.f 0 008600012007 1C52 (pr7) br.cond.dpnt.many L$850 ;; } { .mmi 010802002800 1C60 adds in0 = 1, in0 ;; // r32 = 1, r32 008002000A00 1C61 ld1 out0 = [in0] // r40 = [r32] 000008000000 1C62 nop.i 0 ;; } { .mii 000008000000 1C70 nop.m 0 0000A2800A00 1C71 sxt1 out0 = out0 ;; // r40 = r40 01C0028001C0 1C72 cmp.eq pr7, pr0 = r0, out0 // pr7, pr0 = r0, r40 } { .mfb 000008000000 1C80 nop.m 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 96 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 1C81 nop.f 0 00860000C007 1C82 (pr7) br.cond.dpnt.many L$850 ;; } { .mii 0080020000C0 1C90 ld1 r3 = [in0] // r3 = [r32] 010842000200 1C91 adds r8 = 1024, in0 ;; // r8 = 1024, r32 01C8003581C0 1C92 cmp.eq pr7, pr0 = 44, r3 } { .mfb 00CB00800000 1CA0 lfetch [r8] 000008000000 1CA1 nop.f 0 008600008007 1CA2 (pr7) br.cond.dpnt.many L$850 ;; } { .mmi 010802002800 1CB0 adds in0 = 1, in0 ;; // r32 = 1, r32 008002000240 1CB1 ld1 r9 = [in0] // r9 = [r32] 000008000000 1CB2 nop.i 0 ;; } { .mii 000008000000 1CC0 nop.m 0 0000A0900240 1CC1 sxt1 r9 = r9 ;; 01C030900000 1CC2 cmp.eq pr0, pr6 = r0, r9 } { .mfb 000008000000 1CD0 nop.m 0 000008000000 1CD1 nop.f 0 0095FFFE4006 1CD2 (pr6) br.cond.dptk.many L$851 ;; } 1CE0 L$850: { .mii 008002000A00 1CE0 ld1 out0 = [in0] // r40 = [r32] // 071728 010802002200 1CE1 adds r8 = 1, tptr ;; // r8 = 1, r32 0000A2800A00 1CE2 sxt1 out0 = out0 ;; // r40 = r40 } { .mmi 01C032800000 1CF0 cmp.eq pr0, pr6 = r0, out0 ;; // pr0, pr6 = r0, r40 010800800806 1CF1 (pr6) mov tptr = r8 // r32 = r8 000008000000 1CF2 nop.i 0 ;; } { .mmi 0080020000C0 1D00 ld1 r3 = [in0] ;; // r3 = [r32] // 071730 000008000000 1D01 nop.m 0 0000A03000C0 1D02 sxt1 r3 = r3 ;; } { .mfb 01C000300200 1D10 cmp.eq pr8, pr0 = r0, r3 000008000000 1D11 nop.f 0 00860000C008 1D12 (pr8) br.cond.dpnt.many L$864 ;; } 1D20 L$865: { .mmi 008002000240 1D20 ld1 r9 = [in0] ;; // r9 = [r32] 01C800912240 1D21 cmp.eq pr9, pr0 = 9, r9 01C8309401C0 1D22 cmp.eq pr7, pr6 = 32, r9 ;; } { .mfb 01C230000009 1D30 (pr9) cmp.eq.or.andcm pr0, pr6 = r0, r0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 97 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 1D31 nop.f 0 008600008006 1D32 (pr6) br.cond.dpnt.many L$864 ;; } { .mmi 010802002800 1D40 adds in0 = 1, in0 ;; // r32 = 1, r32 008002000A00 1D41 ld1 out0 = [in0] // r40 = [r32] 000008000000 1D42 nop.i 0 ;; } { .mii 000008000000 1D50 nop.m 0 0000A2800A00 1D51 sxt1 out0 = out0 ;; // r40 = r40 01C042800000 1D52 cmp.eq pr0, pr8 = r0, out0 // pr0, pr8 = r0, r40 } { .mfb 000008000000 1D60 nop.m 0 000008000000 1D61 nop.f 0 0095FFFF8008 1D62 (pr8) br.cond.dptk.many L$865 ;; } 1D70 L$864: { .mmi 008002000A00 1D70 ld1 out0 = [in0] ;; // r40 = [r32] // 071731 000008000000 1D71 nop.m 0 0000A28000C0 1D72 sxt1 r3 = out0 ;; // r3 = r40 } { .mfb 01C030300000 1D80 cmp.eq pr0, pr6 = r0, r3 000008000000 1D81 nop.f 0 008600004006 1D82 (pr6) br.cond.dpnt.many L$867 ;; } { .mfb 012018008200 1D90 mov r8 = 388 000008000000 1D91 nop.f 0 0080001D1000 1D92 br.sptk.many L$869 ;; } 1DA0 L$867: { .mmi 012000100880 1DA0 add r34 = // r34 = @ltoffx(DECC$$GL___CTYPEA), r1 // 071734 @ltoffx(DECC$$GL___CTYPEA), gp ;; 0080C2200880 1DA1 ld8.mov r34 = [r34], DECC$$GL___CTYPEA 000008000000 1DA2 nop.i 0 ;; } { .mmi 008082200240 1DB0 ld4 r9 = [r34] ;; 01C400900240 1DB1 cmp4.eq pr9, pr0 = r0, r9 000008000000 1DB2 nop.i 0 } { .mfb 000008000000 1DC0 nop.m 0 000008000000 1DC1 nop.f 0 00860000C009 1DC2 (pr9) br.cond.dpnt.many L$871 ;; } { .mib 012000100A00 1DD0 add out0 = // r40 = @ltoffx(DECC$$GA___CTYPET), r1 @ltoffx(DECC$$GA___CTYPET), gp 0000B0300200 1DD1 sxt4 r8 = r3 004000000000 1DD2 nop.b 0 ;; } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 98 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mmi 0080C2800A00 1DE0 ld8.mov out0 = [r40], DECC$$GA___CTYPET ;; 008082800A00 1DE1 ld4 out0 = DECC$$GA___CTYPET // r40 = [r40] 000008000000 1DE2 nop.i 0 ;; } { .mii 000008000000 1DF0 nop.m 0 0000B2800A00 1DF1 sxt4 out0 = out0 ;; // r40 = r40 01008A8100C0 1DF2 shladd r3 = r8, 2, out0 ;; // r3 = r8, 2, r40 } { .mmi 0080803000C0 1E00 ld4 r3 = [r3] ;; 0101603080C0 1E01 and r3 = 4, r3 000008000000 1E02 nop.i 0 ;; } { .mbb 01C430300000 1E10 cmp4.eq pr0, pr6 = r0, r3 008600006006 1E11 (pr6) br.cond.dpnt.many L$872 00800000D000 1E12 br.sptk.many L$873 ;; } 1E20 L$871: { .mib 012000002640 1E20 mov ai = 1 // r25 = 1 0000B0300A00 1E21 sxt4 out0 = r3 // r40 = r3 00A000001000 1E22 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C4008001C0 1E30 cmp4.eq pr7, pr0 = r0, r8 010802700040 1E31 mov gp = r39 // r1 = r39 008600008007 1E32 (pr7) br.cond.dpnt.many L$873 ;; } 1E40 L$872: { .mib 012000002640 1E40 mov ai = 1 // r25 = 1 010802000A00 1E41 mov out0 = tptr // r40 = r32 00A000001000 1E42 br.call.sptk.many rp = DECC$ATOI ;; // br0 = DECC$ATOI } { .mii 010800C288C0 1E50 adds r35 = 20, sp // r35 = 20, r12 010802700040 1E51 mov gp = r39 // r1 = r39 000008000000 1E52 nop.i 0 ;; } { .mfi 008C42310000 1E60 st2 [r35] = r8 000008000000 1E61 nop.f 0 000008000000 1E62 nop.i 0 ;; } 1E70 L$873: // 071735 { .mmi 0080020000C0 1E70 ld1 r3 = [in0] ;; // r3 = [r32] 000008000000 1E71 nop.m 0 0000A03000C0 1E72 sxt1 r3 = r3 ;; } { .mfb 01C0003001C0 1E80 cmp.eq pr7, pr0 = r0, r3 000008000000 1E81 nop.f 0 00860001E007 1E82 (pr7) br.cond.dpnt.many L$875 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 99 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mii 008002000240 1E90 ld1 r9 = [in0] // r9 = [r32] 0120001008C0 1E91 add r35 = // r35 = @ltoffx(DECC$$GA___CTYPET), r1 @ltoffx(DECC$$GA___CTYPET), gp ;; 0000A0900240 1E92 sxt1 r9 = r9 } { .mfi 0080C23008C0 1EA0 ld8.mov r35 = [r35], DECC$$GA___CTYPET 000008000000 1EA1 nop.f 0 000008000000 1EA2 nop.i 0 ;; } 1EB0 L$876: { .mii 008082200280 1EB0 ld4 r10 = [r34] 0108009002C0 1EB1 mov r11 = r9 000008000000 1EB2 nop.i 0 } { .mmi 008082300440 1EC0 ld4 r17 = [r35] ;; 01C400A00240 1EC1 cmp4.eq pr9, pr0 = r0, r10 000008000000 1EC2 nop.i 0 } { .mfb 000008000000 1ED0 nop.m 0 000008000000 1ED1 nop.f 0 00860000A009 1ED2 (pr9) br.cond.dpnt.many L$878 ;; } { .mii 000008000000 1EE0 nop.m 0 0000B0900240 1EE1 sxt4 r9 = r9 0000B1100440 1EE2 sxt4 r17 = r17 ;; } { .mmi 010089112240 1EF0 shladd r9 = r9, 2, r17 ;; 008080900240 1EF1 ld4 r9 = [r9] 000008000000 1EF2 nop.i 0 ;; } { .mmi 010160908240 1F00 and r9 = 4, r9 ;; 01C450900000 1F01 cmp4.eq pr0, pr10 = r0, r9 000008000000 1F02 nop.i 0 } { .bbb 00860000600A 1F10 (pr10) br.cond.dpnt.many L$879 004000000000 1F11 nop.b 0 00800000D000 1F12 br.sptk.many L$875 ;; } 1F20 L$878: { .mib 012000002640 1F20 mov ai = 1 // r25 = 1 0000B0B00A00 1F21 sxt4 out0 = r11 // r40 = r11 00A000001000 1F22 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C4008001C0 1F30 cmp4.eq pr7, pr0 = r0, r8 010802700040 1F31 mov gp = r39 // r1 = r39 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 100 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 008600008007 1F32 (pr7) br.cond.dpnt.many L$875 ;; } 1F40 L$879: { .mmi 010802002800 1F40 adds in0 = 1, in0 ;; // r32 = 1, r32 0080020000C0 1F41 ld1 r3 = [in0] // r3 = [r32] 000008000000 1F42 nop.i 0 ;; } { .mii 000008000000 1F50 nop.m 0 0000A03000C0 1F51 sxt1 r3 = r3 ;; 010800300240 1F52 mov r9 = r3 } { .mfb 01C040300000 1F60 cmp.eq pr0, pr8 = r0, r3 000008000000 1F61 nop.f 0 0095FFFEA008 1F62 (pr8) br.cond.dptk.many L$876 ;; } 1F70 L$875: // 071736 { .mmi 008002000280 1F70 ld1 r10 = [in0] ;; // r10 = [r32] 000008000000 1F71 nop.m 0 0000A0A00280 1F72 sxt1 r10 = r10 ;; } { .mfb 01C000A002C0 1F80 cmp.eq pr11, pr0 = r0, r10 000008000000 1F81 nop.f 0 00860000E00B 1F82 (pr11) br.cond.dpnt.many L$881 ;; } 1F90 L$882: { .mmi 0080020002C0 1F90 ld1 r11 = [in0] ;; // r11 = [r32] 01C800B403C0 1F91 cmp.eq pr15, pr0 = 32, r11 01C860B5A340 1F92 cmp.eq pr13, pr12 = 45, r11 } { .mmi 01C800B121C0 1FA0 cmp.eq pr7, pr0 = 9, r11 ;; 01C26000034F 1FA1 (pr15) cmp.eq.or.andcm pr13, pr12 = r0, r0 000008000000 1FA2 nop.i 0 ;; } { .mfb 01C260000007 1FB0 (pr7) cmp.eq.or.andcm pr0, pr12 = r0, r0 000008000000 1FB1 nop.f 0 00860000800C 1FB2 (pr12) br.cond.dpnt.many L$881 ;; } { .mmi 010802002800 1FC0 adds in0 = 1, in0 ;; // r32 = 1, r32 008002000440 1FC1 ld1 r17 = [in0] // r17 = [r32] 000008000000 1FC2 nop.i 0 ;; } { .mii 000008000000 1FD0 nop.m 0 0000A1100440 1FD1 sxt1 r17 = r17 ;; 01C041100000 1FD2 cmp.eq pr0, pr8 = r0, r17 } { .mfb 000008000000 1FE0 nop.m 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 101 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 1FE1 nop.f 0 0095FFFF6008 1FE2 (pr8) br.cond.dptk.many L$882 ;; } 1FF0 L$881: { .mmi 008002000480 1FF0 ld1 r18 = [in0] ;; // r18 = [r32] // 071737 000008000000 1FF1 nop.m 0 0000A1200480 1FF2 sxt1 r18 = r18 ;; } { .mfb 01C051200000 2000 cmp.eq pr0, pr10 = r0, r18 000008000000 2001 nop.f 0 00860000400A 2002 (pr10) br.cond.dpnt.many L$884 ;; } { .mfb 012018008200 2010 mov r8 = 388 000008000000 2011 nop.f 0 008000181000 2012 br.sptk.many L$869 ;; } 2020 L$884: { .mii 010800C24500 2020 adds r20 = 18, sp // r20 = 18, r12 // 071740 0120000024C0 2021 mov r19 = 1 010800C24540 2022 adds r21 = 18, sp ;; // r21 = 18, r12 } { .mmi 008C41426000 2030 st2 [r20] = r19 ;; 008041500540 2031 ld2 r21 = [r21] 000008000000 2032 nop.i 0 ;; } { .mfb 018801518180 2040 cmp.lt pr6, pr0 = 12, r21 000008000000 2041 nop.f 0 008600014006 2042 (pr6) br.cond.dpnt.many L$889 ;; } { .mmi 0120001008C0 2050 add r35 = @ltoffx(MonthName), gp ;; // r35 = @ltoffx(MonthName), r1 // 071741 0080C23008C0 2051 ld8.mov r35 = [r35], MonthName 000008000000 2052 nop.i 0 ;; } 2060 L$890: // 071740 { .mii 012000006640 2060 mov ai = 3 // r25 = 3 // 071741 0000B1500540 2061 sxt4 r21 = r21 010802000A00 2062 mov out0 = tptr ;; // r40 = r32 } { .mmi 01008A32AA80 2070 shladd out2 = r21, 2, r35 ;; // r42 = r21, 2, r35 008082A00A40 2071 ld4 out1 = [out2] // r41 = [r42] 012000006A80 2072 mov out2 = 3 ;; // r42 = 3 } { .mib 000008000000 2080 nop.m 0 0000B2900A40 2081 sxt4 out1 = out1 // r41 = r41 00A000001000 2082 br.call.sptk.many rp = strsame ;; // br0 = strsame } { .mib Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 102 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 01C430800000 2090 cmp4.eq pr0, pr6 = r0, r8 010802700040 2091 mov gp = r39 // r1 = r39 00860000A006 2092 (pr6) br.cond.dpnt.many L$889 ;; } { .mii 010800C240C0 20A0 adds r3 = 18, sp // r3 = 18, r12 // 071740 010800C24240 20A1 adds r9 = 18, sp // r9 = 18, r12 010800C24280 20A2 adds r10 = 18, sp ;; // r10 = 18, r12 } { .mmi 0080403000C0 20B0 ld2 r3 = [r3] ;; 0108003020C0 20B1 adds r3 = 1, r3 000008000000 20B2 nop.i 0 ;; } { .mmi 008C40906000 20C0 st2 [r9] = r3 ;; 008040A00540 20C1 ld2 r21 = [r10] 000008000000 20C2 nop.i 0 ;; } { .mfb 018841518000 20D0 cmp.lt pr0, pr8 = 12, r21 000008000000 20D1 nop.f 0 0095FFFF2008 20D2 (pr8) br.cond.dptk.many L$890 ;; } 20E0 L$889: // 071741 { .mmi 010800C242C0 20E0 adds r11 = 18, sp ;; // r11 = 18, r12 // 071742 008040B002C0 20E1 ld2 r11 = [r11] 000008000000 20E2 nop.i 0 ;; } { .mfb 018850B18000 20F0 cmp.lt pr0, pr10 = 12, r11 000008000000 20F1 nop.f 0 00860000400A 20F2 (pr10) br.cond.dpnt.many L$896 ;; } { .mfb 012018008200 2100 mov r8 = 388 000008000000 2101 nop.f 0 008000163000 2102 br.sptk.many L$869 ;; } 2110 L$896: // 071743 { .mmi 0120001008C0 2110 add r35 = // r35 = @ltoffx(DECC$$GA___CTYPET), r1 @ltoffx(DECC$$GA___CTYPET), gp ;; 0080C23008C0 2111 ld8.mov r35 = [r35], DECC$$GA___CTYPET 000008000000 2112 nop.i 0 ;; } 2120 L$898: { .mmi 008002000A00 2120 ld1 out0 = [in0] // r40 = [r32] 008082200440 2121 ld4 r17 = [r34] 000008000000 2122 nop.i 0 ;; } { .mib 01C401100340 2130 cmp4.eq pr13, pr0 = r0, r17 0000A28004C0 2131 sxt1 r19 = out0 // r19 = r40 004000000000 2132 nop.b 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 103 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mfb 008082300500 2140 ld4 r20 = [r35] 000008000000 2141 nop.f 0 00860001E00D 2142 (pr13) br.cond.dpnt.many L$900 ;; } { .mii 000008000000 2150 nop.m 0 0000B1400500 2151 sxt4 r20 = r20 ;; 010089426500 2152 shladd r20 = r19, 2, r20 ;; } { .mmi 008081400500 2160 ld4 r20 = [r20] ;; 000008000000 2161 nop.m 0 00A401420500 2162 extr.u r20 = r20, 8, 1 ;; } { .mib 000008000000 2170 nop.m 0 00A0714003C0 2171 tbit.z pr15, pr14 = r20, 0 00860001C00E 2172 (pr14) br.cond.dpnt.many L$901 ;; } 2180 L$902: // 071744 { .mmi 0080020000C0 2180 ld1 r3 = [in0] ;; // r3 = [r32] 000008000000 2181 nop.m 0 0000A03000C0 2182 sxt1 r3 = r3 ;; } { .mfb 01C000300240 2190 cmp.eq pr9, pr0 = r0, r3 000008000000 2191 nop.f 0 00860000E009 2192 (pr9) br.cond.dpnt.many L$904 ;; } 21A0 L$905: { .mmi 008002000240 21A0 ld1 r9 = [in0] ;; // r9 = [r32] 01C800940340 21A1 cmp.eq pr13, pr0 = 32, r9 01C85095A2C0 21A2 cmp.eq pr11, pr10 = 45, r9 } { .mmi 01C8009123C0 21B0 cmp.eq pr15, pr0 = 9, r9 ;; 01C2500002CD 21B1 (pr13) cmp.eq.or.andcm pr11, pr10 = r0, r0 000008000000 21B2 nop.i 0 ;; } { .mfb 01C25000000F 21C0 (pr15) cmp.eq.or.andcm pr0, pr10 = r0, r0 000008000000 21C1 nop.f 0 00860000800A 21C2 (pr10) br.cond.dpnt.many L$904 ;; } { .mmi 010802002800 21D0 adds in0 = 1, in0 ;; // r32 = 1, r32 008002000280 21D1 ld1 r10 = [in0] // r10 = [r32] 000008000000 21D2 nop.i 0 ;; } { .mii 000008000000 21E0 nop.m 0 0000A0A00280 21E1 sxt1 r10 = r10 ;; 01C030A00000 21E2 cmp.eq pr0, pr6 = r0, r10 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 104 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mfb 000008000000 21F0 nop.m 0 000008000000 21F1 nop.f 0 0095FFFF6006 21F2 (pr6) br.cond.dptk.many L$905 ;; } 2200 L$904: { .mmi 008002000A00 2200 ld1 out0 = [in0] ;; // r40 = [r32] // 071745 000008000000 2201 nop.m 0 0000A2800440 2202 sxt1 r17 = out0 ;; // r17 = r40 } { .mfb 01C041100000 2210 cmp.eq pr0, pr8 = r0, r17 000008000000 2211 nop.f 0 00860000C008 2212 (pr8) br.cond.dpnt.many L$907 ;; } { .mfb 012018008200 2220 mov r8 = 388 000008000000 2221 nop.f 0 00800013F000 2222 br.sptk.many L$869 ;; } 2230 L$900: // 071743 { .mib 012000002640 2230 mov ai = 1 // r25 = 1 0000B1300A00 2231 sxt4 out0 = r19 // r40 = r19 00A000001000 2232 br.call.sptk.many rp = DECC$ISALPHA ;; // br0 = DECC$ISALPHA } { .mib 01C4008001C0 2240 cmp4.eq pr7, pr0 = r0, r8 010802700040 2241 mov gp = r39 // r1 = r39 0095FFFE8007 2242 (pr7) br.cond.dptk.many L$902 ;; } 2250 L$901: { .mfi 010802002800 2250 adds in0 = 1, in0 // r32 = 1, r32 000008000000 2251 nop.f 0 000008000000 2252 nop.i 0 ;; } { .mfb 000008000000 2260 nop.m 0 000008000000 2261 nop.f 0 0091FFFD9000 2262 br.sptk.many L$898 ;; } 2270 L$907: // 071745 { .mmi 008082200480 2270 ld4 r18 = [r34] // 071748 0080823004C0 2271 ld4 r19 = [r35] 000008000000 2272 nop.i 0 ;; } { .mfb 01C401200380 2280 cmp4.eq pr14, pr0 = r0, r18 000008000000 2281 nop.f 0 00860000A00E 2282 (pr14) br.cond.dpnt.many L$910 ;; } { .mii 000008000000 2290 nop.m 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 105 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0000B1100500 2291 sxt4 r20 = r17 0000B13004C0 2292 sxt4 r19 = r19 ;; } { .mmi 010089328440 22A0 shladd r17 = r20, 2, r19 ;; 008081100440 22A1 ld4 r17 = [r17] 000008000000 22A2 nop.i 0 ;; } { .mmi 010161108440 22B0 and r17 = 4, r17 ;; 01C469100000 22B1 cmp4.eq pr0, pr13 = r0, r17 000008000000 22B2 nop.i 0 } { .bbb 00860000600D 22C0 (pr13) br.cond.dpnt.many L$911 004000000000 22C1 nop.b 0 008000017000 22C2 br.sptk.many L$912 ;; } 22D0 L$910: { .mib 012000002640 22D0 mov ai = 1 // r25 = 1 0000B1100A00 22D1 sxt4 out0 = r17 // r40 = r17 00A000001000 22D2 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C4008001C0 22E0 cmp4.eq pr7, pr0 = r0, r8 010802700040 22E1 mov gp = r39 // r1 = r39 008600012007 22E2 (pr7) br.cond.dpnt.many L$912 ;; } 22F0 L$911: { .mib 012000002640 22F0 mov ai = 1 // r25 = 1 // 071750 010802000A00 22F1 mov out0 = tptr // r40 = r32 00A000001000 22F2 br.call.sptk.many rp = DECC$ATOI ;; // br0 = DECC$ATOI } { .mii 010800C200C0 2300 adds r3 = 16, sp // r3 = 16, r12 0000B0800200 2301 sxt4 r8 = r8 010802700040 2302 mov gp = r39 ;; // r1 = r39 } { .mii 000008000000 2310 nop.m 0 000088800200 2311 zxt2 r8 = r8 ;; 0188008C61C0 2312 cmp.lt pr7, pr0 = 99, r8 // 071751 } { .mfb 008C40310000 2320 st2 [r3] = r8 // 071750 000008000000 2321 nop.f 0 00860000A007 2322 (pr7) br.cond.dpnt.many L$912 ;; // 071751 } { .mii 01200008C240 2330 mov r9 = 70 // 071754 0120700D8440 2331 mov r17 = 1900 // 071757 0120780A02C0 2332 mov r11 = 2000 } { .mmi 010800C20480 2340 adds r18 = 16, sp ;; // r18 = 16, r12 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 106 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 018000910200 2341 cmp.lt pr8, pr0 = r8, r9 // 071754 000008000000 2342 nop.i 0 ;; } { .mmi 010800B00448 2350 (pr8) mov r17 = r11 ;; // 071757 010001110200 2351 add r8 = r8, r17 000008000000 2352 nop.i 0 ;; } { .mfi 008C41210000 2360 st2 [r18] = r8 000008000000 2361 nop.f 0 000008000000 2362 nop.i 0 ;; } 2370 L$912: // 071760 { .mmi 0080020004C0 2370 ld1 r19 = [in0] ;; // r19 = [r32] 000008000000 2371 nop.m 0 0000A13004C0 2372 sxt1 r19 = r19 ;; } { .mfb 01C001300280 2380 cmp.eq pr10, pr0 = r0, r19 000008000000 2381 nop.f 0 00860001C00A 2382 (pr10) br.cond.dpnt.many L$917 ;; } { .mmi 008002000500 2390 ld1 r20 = [in0] ;; // r20 = [r32] 000008000000 2391 nop.m 0 0000A1400500 2392 sxt1 r20 = r20 ;; } 23A0 L$918: { .mii 008082200540 23A0 ld4 r21 = [r34] 010801400580 23A1 mov r22 = r20 000008000000 23A2 nop.i 0 } { .mmi 0080823005C0 23B0 ld4 r23 = [r35] ;; 01C401500300 23B1 cmp4.eq pr12, pr0 = r0, r21 000008000000 23B2 nop.i 0 } { .mfb 000008000000 23C0 nop.m 0 000008000000 23C1 nop.f 0 00860000A00C 23C2 (pr12) br.cond.dpnt.many L$920 ;; } { .mii 000008000000 23D0 nop.m 0 0000B1400500 23D1 sxt4 r20 = r20 0000B17005C0 23D2 sxt4 r23 = r23 ;; } { .mmi 010089728500 23E0 shladd r20 = r20, 2, r23 ;; 008081400500 23E1 ld4 r20 = [r20] 000008000000 23E2 nop.i 0 ;; } { .mmi 010161408500 23F0 and r20 = 4, r20 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 107 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 01C469400000 23F1 cmp4.eq pr0, pr13 = r0, r20 000008000000 23F2 nop.i 0 } { .bbb 00860000600D 2400 (pr13) br.cond.dpnt.many L$921 004000000000 2401 nop.b 0 00800000D000 2402 br.sptk.many L$917 ;; } 2410 L$920: { .mib 012000002640 2410 mov ai = 1 // r25 = 1 0000B1600A00 2411 sxt4 out0 = r22 // r40 = r22 00A000001000 2412 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C4008001C0 2420 cmp4.eq pr7, pr0 = r0, r8 010802700040 2421 mov gp = r39 // r1 = r39 008600008007 2422 (pr7) br.cond.dpnt.many L$917 ;; } 2430 L$921: { .mmi 010802002800 2430 adds in0 = 1, in0 ;; // r32 = 1, r32 0080020000C0 2431 ld1 r3 = [in0] // r3 = [r32] 000008000000 2432 nop.i 0 ;; } { .mii 000008000000 2440 nop.m 0 0000A03000C0 2441 sxt1 r3 = r3 ;; 010800300500 2442 mov r20 = r3 } { .mfb 01C040300000 2450 cmp.eq pr0, pr8 = r0, r3 000008000000 2451 nop.f 0 0095FFFEA008 2452 (pr8) br.cond.dptk.many L$918 ;; } 2460 L$917: // 071761 { .mmi 008002000240 2460 ld1 r9 = [in0] ;; // r9 = [r32] 000008000000 2461 nop.m 0 0000A0900240 2462 sxt1 r9 = r9 ;; } { .mfb 01C0009002C0 2470 cmp.eq pr11, pr0 = r0, r9 000008000000 2471 nop.f 0 00860000C00B 2472 (pr11) br.cond.dpnt.many L$923 ;; } 2480 L$924: { .mmi 008002000280 2480 ld1 r10 = [in0] ;; // r10 = [r32] 01C800A123C0 2481 cmp.eq pr15, pr0 = 9, r10 01C860A40340 2482 cmp.eq pr13, pr12 = 32, r10 ;; } { .mfb 01C26000000F 2490 (pr15) cmp.eq.or.andcm pr0, pr12 = r0, r0 000008000000 2491 nop.f 0 00860000800C 2492 (pr12) br.cond.dpnt.many L$923 ;; } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 108 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mmi 010802002800 24A0 adds in0 = 1, in0 ;; // r32 = 1, r32 0080020002C0 24A1 ld1 r11 = [in0] // r11 = [r32] 000008000000 24A2 nop.i 0 ;; } { .mii 000008000000 24B0 nop.m 0 0000A0B002C0 24B1 sxt1 r11 = r11 ;; 01C030B00000 24B2 cmp.eq pr0, pr6 = r0, r11 } { .mfb 000008000000 24C0 nop.m 0 000008000000 24C1 nop.f 0 0095FFFF8006 24C2 (pr6) br.cond.dptk.many L$924 ;; } 24D0 L$923: { .mmi 008002000A00 24D0 ld1 out0 = [in0] ;; // r40 = [r32] // 071762 000008000000 24D1 nop.m 0 0000A2800480 24D2 sxt1 r18 = out0 ;; // r18 = r40 } { .mfb 01C041200000 24E0 cmp.eq pr0, pr8 = r0, r18 000008000000 24E1 nop.f 0 008600004008 24E2 (pr8) br.cond.dpnt.many L$926 ;; } { .mfb 012018008200 24F0 mov r8 = 388 000008000000 24F1 nop.f 0 0080000E5000 24F2 br.sptk.many L$869 ;; } 2500 L$926: { .mmi 0080822004C0 2500 ld4 r19 = [r34] // 071765 008082300540 2501 ld4 r21 = [r35] 000008000000 2502 nop.i 0 ;; } { .mfb 01C4013002C0 2510 cmp4.eq pr11, pr0 = r0, r19 000008000000 2511 nop.f 0 00860000A00B 2512 (pr11) br.cond.dpnt.many L$929 ;; } { .mii 000008000000 2520 nop.m 0 0000B1200580 2521 sxt4 r22 = r18 0000B1500540 2522 sxt4 r21 = r21 ;; } { .mmi 01008952C480 2530 shladd r18 = r22, 2, r21 ;; 008081200480 2531 ld4 r18 = [r18] 000008000000 2532 nop.i 0 ;; } { .mmi 010161208480 2540 and r18 = 4, r18 ;; 01C471200000 2541 cmp4.eq pr0, pr14 = r0, r18 000008000000 2542 nop.i 0 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 109 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .bbb 00860000600E 2550 (pr14) br.cond.dpnt.many L$930 004000000000 2551 nop.b 0 00800000D000 2552 br.sptk.many L$931 ;; } 2560 L$929: { .mib 012000002640 2560 mov ai = 1 // r25 = 1 0000B1200A00 2561 sxt4 out0 = r18 // r40 = r18 00A000001000 2562 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C4008001C0 2570 cmp4.eq pr7, pr0 = r0, r8 010802700040 2571 mov gp = r39 // r1 = r39 008600008007 2572 (pr7) br.cond.dpnt.many L$931 ;; } 2580 L$930: { .mib 012000002640 2580 mov ai = 1 // r25 = 1 010802000A00 2581 mov out0 = tptr // r40 = r32 00A000001000 2582 br.call.sptk.many rp = DECC$ATOI ;; // br0 = DECC$ATOI } { .mii 010800C2C900 2590 adds r36 = 22, sp // r36 = 22, r12 010802700040 2591 mov gp = r39 // r1 = r39 000008000000 2592 nop.i 0 ;; } { .mfi 008C42410000 25A0 st2 [r36] = r8 000008000000 25A1 nop.f 0 000008000000 25A2 nop.i 0 ;; } 25B0 L$931: // 071766 { .mmi 0080020000C0 25B0 ld1 r3 = [in0] ;; // r3 = [r32] 000008000000 25B1 nop.m 0 0000A03000C0 25B2 sxt1 r3 = r3 ;; } { .mfb 01C0003001C0 25C0 cmp.eq pr7, pr0 = r0, r3 000008000000 25C1 nop.f 0 00860001C007 25C2 (pr7) br.cond.dpnt.many L$933 ;; } { .mmi 008002000240 25D0 ld1 r9 = [in0] ;; // r9 = [r32] 000008000000 25D1 nop.m 0 0000A0900240 25D2 sxt1 r9 = r9 ;; } 25E0 L$934: { .mii 008082200280 25E0 ld4 r10 = [r34] 0108009002C0 25E1 mov r11 = r9 000008000000 25E2 nop.i 0 } { .mmi 008082300440 25F0 ld4 r17 = [r35] ;; 01C400A00240 25F1 cmp4.eq pr9, pr0 = r0, r10 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 110 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 25F2 nop.i 0 } { .mfb 000008000000 2600 nop.m 0 000008000000 2601 nop.f 0 00860000A009 2602 (pr9) br.cond.dpnt.many L$936 ;; } { .mii 000008000000 2610 nop.m 0 0000B0900240 2611 sxt4 r9 = r9 0000B1100440 2612 sxt4 r17 = r17 ;; } { .mmi 010089112240 2620 shladd r9 = r9, 2, r17 ;; 008080900240 2621 ld4 r9 = [r9] 000008000000 2622 nop.i 0 ;; } { .mmi 010160908240 2630 and r9 = 4, r9 ;; 01C450900000 2631 cmp4.eq pr0, pr10 = r0, r9 000008000000 2632 nop.i 0 } { .bbb 00860000600A 2640 (pr10) br.cond.dpnt.many L$937 004000000000 2641 nop.b 0 00800000D000 2642 br.sptk.many L$933 ;; } 2650 L$936: { .mib 012000002640 2650 mov ai = 1 // r25 = 1 0000B0B00A00 2651 sxt4 out0 = r11 // r40 = r11 00A000001000 2652 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C4008001C0 2660 cmp4.eq pr7, pr0 = r0, r8 010802700040 2661 mov gp = r39 // r1 = r39 008600008007 2662 (pr7) br.cond.dpnt.many L$933 ;; } 2670 L$937: { .mmi 010802002800 2670 adds in0 = 1, in0 ;; // r32 = 1, r32 008002000900 2671 ld1 r36 = [in0] // r36 = [r32] 000008000000 2672 nop.i 0 ;; } { .mii 000008000000 2680 nop.m 0 0000A2400240 2681 sxt1 r9 = r36 ;; 01C040900000 2682 cmp.eq pr0, pr8 = r0, r9 } { .mfb 000008000000 2690 nop.m 0 000008000000 2691 nop.f 0 0095FFFEA008 2692 (pr8) br.cond.dptk.many L$934 ;; } 26A0 L$933: { .mii 0080020000C0 26A0 ld1 r3 = [in0] // r3 = [r32] // 071767 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 111 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 010802002280 26A1 adds r10 = 1, tptr // r10 = 1, r32 000008000000 26A2 nop.i 0 } { .mmi 0080822002C0 26B0 ld4 r11 = [r34] ;; // 071768 01C8003742C0 26B1 cmp.eq pr11, pr0 = 58, r3 // 071767 01C400B00340 26B2 cmp4.eq pr13, pr0 = r0, r11 // 071768 } { .mmi 0080823004C0 26C0 ld4 r19 = [r35] ;; 010800A0080B 26C1 (pr11) mov tptr = r10 // r32 = r10 // 071767 000008000000 26C2 nop.i 0 ;; } { .mmi 008002000A00 26D0 ld1 out0 = [in0] ;; // r40 = [r32] // 071768 000008000000 26D1 nop.m 0 0000A2800480 26D2 sxt1 r18 = out0 // r18 = r40 } { .mfb 000008000000 26E0 nop.m 0 000008000000 26E1 nop.f 0 00860000800D 26E2 (pr13) br.cond.dpnt.many L$939 ;; } { .mii 000008000000 26F0 nop.m 0 0000B13004C0 26F1 sxt4 r19 = r19 ;; 010089324480 26F2 shladd r18 = r18, 2, r19 ;; } { .mmi 008081200480 2700 ld4 r18 = [r18] ;; 010161208480 2701 and r18 = 4, r18 000008000000 2702 nop.i 0 ;; } { .mbb 01C471200000 2710 cmp4.eq pr0, pr14 = r0, r18 00860000600E 2711 (pr14) br.cond.dpnt.many L$940 00800000D000 2712 br.sptk.many L$941 ;; } 2720 L$939: { .mib 012000002640 2720 mov ai = 1 // r25 = 1 0000B1200A00 2721 sxt4 out0 = r18 // r40 = r18 00A000001000 2722 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C4008001C0 2730 cmp4.eq pr7, pr0 = r0, r8 010802700040 2731 mov gp = r39 // r1 = r39 008600008007 2732 (pr7) br.cond.dpnt.many L$941 ;; } 2740 L$940: { .mib 012000002640 2740 mov ai = 1 // r25 = 1 010802000A00 2741 mov out0 = tptr // r40 = r32 00A000001000 2742 br.call.sptk.many rp = DECC$ATOI ;; // br0 = DECC$ATOI } { .mii 010800C30900 2750 adds r36 = 24, sp // r36 = 24, r12 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 112 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 010802700040 2751 mov gp = r39 // r1 = r39 000008000000 2752 nop.i 0 ;; } { .mfi 008C42410000 2760 st2 [r36] = r8 000008000000 2761 nop.f 0 000008000000 2762 nop.i 0 ;; } 2770 L$941: // 071769 { .mmi 0080020000C0 2770 ld1 r3 = [in0] ;; // r3 = [r32] 000008000000 2771 nop.m 0 0000A03000C0 2772 sxt1 r3 = r3 ;; } { .mfb 01C0003001C0 2780 cmp.eq pr7, pr0 = r0, r3 000008000000 2781 nop.f 0 00860001C007 2782 (pr7) br.cond.dpnt.many L$943 ;; } { .mmi 008002000240 2790 ld1 r9 = [in0] ;; // r9 = [r32] 000008000000 2791 nop.m 0 0000A0900240 2792 sxt1 r9 = r9 ;; } 27A0 L$944: { .mii 008082200280 27A0 ld4 r10 = [r34] 0108009002C0 27A1 mov r11 = r9 000008000000 27A2 nop.i 0 } { .mmi 008082300440 27B0 ld4 r17 = [r35] ;; 01C400A00240 27B1 cmp4.eq pr9, pr0 = r0, r10 000008000000 27B2 nop.i 0 } { .mfb 000008000000 27C0 nop.m 0 000008000000 27C1 nop.f 0 00860000A009 27C2 (pr9) br.cond.dpnt.many L$946 ;; } { .mii 000008000000 27D0 nop.m 0 0000B0900240 27D1 sxt4 r9 = r9 0000B1100440 27D2 sxt4 r17 = r17 ;; } { .mmi 010089112240 27E0 shladd r9 = r9, 2, r17 ;; 008080900240 27E1 ld4 r9 = [r9] 000008000000 27E2 nop.i 0 ;; } { .mmi 010160908240 27F0 and r9 = 4, r9 ;; 01C450900000 27F1 cmp4.eq pr0, pr10 = r0, r9 000008000000 27F2 nop.i 0 } { .bbb 00860000600A 2800 (pr10) br.cond.dpnt.many L$947 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 113 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 004000000000 2801 nop.b 0 00800000D000 2802 br.sptk.many L$943 ;; } 2810 L$946: { .mib 012000002640 2810 mov ai = 1 // r25 = 1 0000B0B00A00 2811 sxt4 out0 = r11 // r40 = r11 00A000001000 2812 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C4008001C0 2820 cmp4.eq pr7, pr0 = r0, r8 010802700040 2821 mov gp = r39 // r1 = r39 008600008007 2822 (pr7) br.cond.dpnt.many L$943 ;; } 2830 L$947: { .mmi 010802002800 2830 adds in0 = 1, in0 ;; // r32 = 1, r32 008002000900 2831 ld1 r36 = [in0] // r36 = [r32] 000008000000 2832 nop.i 0 ;; } { .mii 000008000000 2840 nop.m 0 0000A2400240 2841 sxt1 r9 = r36 ;; 01C040900000 2842 cmp.eq pr0, pr8 = r0, r9 } { .mfb 000008000000 2850 nop.m 0 000008000000 2851 nop.f 0 0095FFFEA008 2852 (pr8) br.cond.dptk.many L$944 ;; } 2860 L$943: { .mii 0080020000C0 2860 ld1 r3 = [in0] // r3 = [r32] // 071770 010802002280 2861 adds r10 = 1, tptr // r10 = 1, r32 000008000000 2862 nop.i 0 } { .mmi 0080822002C0 2870 ld4 r11 = [r34] ;; // 071771 01C8003742C0 2871 cmp.eq pr11, pr0 = 58, r3 // 071770 01C400B00340 2872 cmp4.eq pr13, pr0 = r0, r11 // 071771 } { .mmi 0080823004C0 2880 ld4 r19 = [r35] ;; 010800A0080B 2881 (pr11) mov tptr = r10 // r32 = r10 // 071770 000008000000 2882 nop.i 0 ;; } { .mmi 008002000A00 2890 ld1 out0 = [in0] ;; // r40 = [r32] // 071771 000008000000 2891 nop.m 0 0000A2800480 2892 sxt1 r18 = out0 // r18 = r40 } { .mfb 000008000000 28A0 nop.m 0 000008000000 28A1 nop.f 0 00860000800D 28A2 (pr13) br.cond.dpnt.many L$949 ;; } { .mii Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 114 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 28B0 nop.m 0 0000B13004C0 28B1 sxt4 r19 = r19 ;; 010089324480 28B2 shladd r18 = r18, 2, r19 ;; } { .mmi 008081200480 28C0 ld4 r18 = [r18] ;; 010161208480 28C1 and r18 = 4, r18 000008000000 28C2 nop.i 0 ;; } { .mbb 01C471200000 28D0 cmp4.eq pr0, pr14 = r0, r18 00860000600E 28D1 (pr14) br.cond.dpnt.many L$950 00800000D000 28D2 br.sptk.many L$951 ;; } 28E0 L$949: { .mib 012000002640 28E0 mov ai = 1 // r25 = 1 0000B1200A00 28E1 sxt4 out0 = r18 // r40 = r18 00A000001000 28E2 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C4008001C0 28F0 cmp4.eq pr7, pr0 = r0, r8 010802700040 28F1 mov gp = r39 // r1 = r39 008600008007 28F2 (pr7) br.cond.dpnt.many L$951 ;; } 2900 L$950: { .mib 012000002640 2900 mov ai = 1 // r25 = 1 010802000A00 2901 mov out0 = tptr // r40 = r32 00A000001000 2902 br.call.sptk.many rp = DECC$ATOI ;; // br0 = DECC$ATOI } { .mii 010800C34900 2910 adds r36 = 26, sp // r36 = 26, r12 010802700040 2911 mov gp = r39 // r1 = r39 000008000000 2912 nop.i 0 ;; } { .mfi 008C42410000 2920 st2 [r36] = r8 000008000000 2921 nop.f 0 000008000000 2922 nop.i 0 ;; } 2930 L$951: // 071772 { .mmi 0080020000C0 2930 ld1 r3 = [in0] ;; // r3 = [r32] 000008000000 2931 nop.m 0 0000A03000C0 2932 sxt1 r3 = r3 ;; } { .mfb 01C0003001C0 2940 cmp.eq pr7, pr0 = r0, r3 000008000000 2941 nop.f 0 00860001C007 2942 (pr7) br.cond.dpnt.many L$953 ;; } { .mmi 008002000240 2950 ld1 r9 = [in0] ;; // r9 = [r32] 000008000000 2951 nop.m 0 0000A0900240 2952 sxt1 r9 = r9 ;; } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 115 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 2960 L$954: { .mii 008082200280 2960 ld4 r10 = [r34] 0108009002C0 2961 mov r11 = r9 000008000000 2962 nop.i 0 } { .mmi 008082300440 2970 ld4 r17 = [r35] ;; 01C400A00240 2971 cmp4.eq pr9, pr0 = r0, r10 000008000000 2972 nop.i 0 } { .mfb 000008000000 2980 nop.m 0 000008000000 2981 nop.f 0 00860000A009 2982 (pr9) br.cond.dpnt.many L$956 ;; } { .mii 000008000000 2990 nop.m 0 0000B0900240 2991 sxt4 r9 = r9 0000B1100440 2992 sxt4 r17 = r17 ;; } { .mmi 010089112240 29A0 shladd r9 = r9, 2, r17 ;; 008080900240 29A1 ld4 r9 = [r9] 000008000000 29A2 nop.i 0 ;; } { .mmi 010160908240 29B0 and r9 = 4, r9 ;; 01C450900000 29B1 cmp4.eq pr0, pr10 = r0, r9 000008000000 29B2 nop.i 0 } { .bbb 00860000600A 29C0 (pr10) br.cond.dpnt.many L$957 004000000000 29C1 nop.b 0 00800000D000 29C2 br.sptk.many L$953 ;; } 29D0 L$956: { .mib 012000002640 29D0 mov ai = 1 // r25 = 1 0000B0B00A00 29D1 sxt4 out0 = r11 // r40 = r11 00A000001000 29D2 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C4008001C0 29E0 cmp4.eq pr7, pr0 = r0, r8 010802700040 29E1 mov gp = r39 // r1 = r39 008600008007 29E2 (pr7) br.cond.dpnt.many L$953 ;; } 29F0 L$957: { .mmi 010802002800 29F0 adds in0 = 1, in0 ;; // r32 = 1, r32 008002000900 29F1 ld1 r36 = [in0] // r36 = [r32] 000008000000 29F2 nop.i 0 ;; } { .mii 000008000000 2A00 nop.m 0 0000A2400240 2A01 sxt1 r9 = r36 ;; 01C040900000 2A02 cmp.eq pr0, pr8 = r0, r9 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 116 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mfb 000008000000 2A10 nop.m 0 000008000000 2A11 nop.f 0 0095FFFEA008 2A12 (pr8) br.cond.dptk.many L$954 ;; } 2A20 L$953: { .mii 0080020000C0 2A20 ld1 r3 = [in0] // r3 = [r32] // 071773 010802002280 2A21 adds r10 = 1, tptr ;; // r10 = 1, r32 01C8003742C0 2A22 cmp.eq pr11, pr0 = 58, r3 ;; } { .mmi 010800A0080B 2A30 (pr11) mov tptr = r10 ;; // r32 = r10 0080020002C0 2A31 ld1 r11 = [in0] // r11 = [r32] // 071774 000008000000 2A32 nop.i 0 ;; } { .mii 000008000000 2A40 nop.m 0 0000A0B002C0 2A41 sxt1 r11 = r11 ;; 01C060B00000 2A42 cmp.eq pr0, pr12 = r0, r11 } { .mfb 000008000000 2A50 nop.m 0 000008000000 2A51 nop.f 0 00860000400C 2A52 (pr12) br.cond.dpnt.many L$960 ;; } { .mfb 012018008200 2A60 mov r8 = 388 000008000000 2A61 nop.f 0 008000037000 2A62 br.sptk.many L$869 ;; } 2A70 L$960: // 071777 { .mmi 008002000440 2A70 ld1 r17 = [in0] ;; // r17 = [r32] 01C8011121C0 2A71 cmp.eq pr7, pr0 = 9, r17 01C8711403C0 2A72 cmp.eq pr15, pr14 = 32, r17 ;; } { .mfb 01C270000007 2A80 (pr7) cmp.eq.or.andcm pr0, pr14 = r0, r0 000008000000 2A81 nop.f 0 00860000800E 2A82 (pr14) br.cond.dpnt.many L$961 ;; } { .mmi 010802002800 2A90 adds in0 = 1, in0 ;; // r32 = 1, r32 008002000480 2A91 ld1 r18 = [in0] // r18 = [r32] 000008000000 2A92 nop.i 0 ;; } { .mii 000008000000 2AA0 nop.m 0 0000A1200480 2AA1 sxt1 r18 = r18 ;; 01C041200000 2AA2 cmp.eq pr0, pr8 = r0, r18 } { .mfb 000008000000 2AB0 nop.m 0 000008000000 2AB1 nop.f 0 0095FFFF8008 2AB2 (pr8) br.cond.dptk.many L$960 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 117 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } 2AC0 L$961: { .mii 012000100600 2AC0 add r24 = @ltoff($LITERAL$+2008), // r24 = @ltoff($LITERAL$+2008), r1 // 071778 gp 0111620F8500 2AC1 and r20 = -4, in0 // r20 = -4, r32 000008000000 2AC2 nop.i 0 } { .mlx 000008000000 2AD0 nop.m 0 000000000003 2AD1 movl r30 = 16777215 ;; 019FFFDFCF } { .mii 0080C1800600 2AE0 ld8 r24 = $LITERAL$ // r24 = [r24] 01C059440280 2AE1 cmp.eq pr10, pr11 = in0, r20 ;; // pr10, pr11 = r32, r20 0111618F8680 2AE2 and r26 = -4, r24 } { .mmi 0080814005CA 2AF0 (pr10) ld4 r23 = [r20] ;; 01C069A30300 2AF1 cmp.eq pr12, pr13 = r24, r26 009E0804054B 2AF2 (pr11) dep r21 = in0, r0, 3, 2 ;; // r21 = r32, r0, 3, 2 } { .mib 008081A0074C 2B00 (pr12) ld4 r29 = [r26] 009E080306CD 2B01 (pr13) dep r27 = r24, r0, 3, 2 004000000000 2B02 nop.b 0 } { .mmi 00A0814085CB 2B10 (pr11) ld4 r23 = [r20], 4 ;; 00A081A0874D 2B11 (pr13) ld4 r29 = [r26], 4 00F20172A5CB 2B12 (pr11) shr.u r23 = r23, r21 } { .mmi 01012954054B 2B20 (pr11) sub r21 = 32, r21 ;; 00808140058B 2B21 (pr11) ld4 r22 = [r20] 000008000000 2B22 nop.i 0 ;; } { .mii 008081A0070D 2B30 (pr13) ld4 r28 = [r26] 00F201D3674D 2B31 (pr13) shr.u r29 = r29, r27 010129B406CD 2B32 (pr13) sub r27 = 32, r27 ;; } { .mii 000008000000 2B40 nop.m 0 00F24152C58B 2B41 (pr11) shl r22 = r22, r21 ;; 00F241B3870D 2B42 (pr13) shl r28 = r28, r27 ;; } { .mmi 01007172C5CB 2B50 (pr11) or r23 = r22, r23 ;; 000008000000 2B51 nop.m 0 0000917005CB 2B52 (pr11) zxt4 r23 = r23 ;; } { .mii 010071D3874D 2B60 (pr13) or r29 = r28, r29 01006173C5C0 2B61 and r23 = r30, r23 ;; 000091D0074D 2B62 (pr13) zxt4 r29 = r29 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 118 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mmi 010061D3C740 2B70 and r29 = r30, r29 ;; 01C401D2E1C0 2B71 cmp4.eq pr7, pr0 = r23, r29 000008000000 2B72 nop.i 0 } { .mfb 000008000000 2B80 nop.m 0 000008000000 2B81 nop.f 0 008600004007 2B82 (pr7) br.cond.dpnt.many L$964 ;; } { .mfb 012018008200 2B90 mov r8 = 388 000008000000 2B91 nop.f 0 008000011000 2B92 br.sptk.many L$869 ;; } 2BA0 L$964: { .mii 012000004640 2BA0 mov ai = 2 // r25 = 2 // 071784 010802100A40 2BA1 mov out1 = Time64Ptr // r41 = r33 010800C20A00 2BA2 adds out0 = 16, sp // r40 = 16, r12 } { .mfb 000008000000 2BB0 nop.m 0 000008000000 2BB1 nop.f 0 00A000001000 2BB2 br.call.sptk.many rp = LIB$CVT_VECTIM ;; // br0 = LIB$CVT_VECTIM } { .mib 010802700040 2BC0 mov gp = r39 // r1 = r39 00A0308001C0 2BC1 tbit.z pr7, pr6 = status, 0 // pr7, pr6 = r8, 0 // 071785 008600004006 2BC2 (pr6) br.cond.dpnt.many L$965 ;; } { .mib 000008000000 2BD0 nop.m 0 0000B0800200 2BD1 sxt4 r8 = r8 008000009000 2BD2 br.sptk.many L$869 ;; } 2BE0 L$965: // 072013 { .mmi 012000100880 2BE0 add r34 = @ltoffx(TimeUtcDelta64), // r34 = @ltoffx(TimeUtcDelta64), r1 // 072020 gp 0080C2100900 2BE1 ld8 r36 = [in1] // r36 = [r33] 000008000000 2BE2 nop.i 0 ;; } { .mmi 0080C2200880 2BF0 ld8.mov r34 = [r34], TimeUtcDelta64 ;; 0080C2200880 2BF1 ld8 r34 = TimeUtcDelta64 // r34 = [r34] 000008000000 2BF2 nop.i 0 ;; } { .mmi 010002248200 2C00 add r8 = r36, r34 ;; 008CC2110000 2C01 st8 [in1] = r8 // [r33] = r8 012000002200 2C02 mov r8 = 1 ;; // 071789 } 2C10 L$869: { .mii 000008000000 2C10 nop.m 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 119 HttpGmTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 00015404C000 2C11 mov.i rspfs = r38 ;; 000E0014A000 2C12 mov rp = r37 // br0 = r37 } { .mfb 010800C20300 2C20 adds sp = 16, sp // r12 = 16, r12 000008000000 2C21 nop.f 0 000108001100 2C22 br.ret.sptk.many rp ;; // br0 } .endp HttpGmTime Routine Size: 4304 bytes, Routine Base: $CODE$ + 1B60 .proc HttpIsoTime .align 32 .global HttpIsoTime HttpIsoTime: // 071799 { .mii 002C00A1AA00 2C30 alloc r40 = rspfs, 2, 8, 3, 0 012000100880 2C31 add r34 = // r34 = @ltoffx(DECC$$GL___CTYPEA), r1 // 071821 @ltoffx(DECC$$GL___CTYPEA), gp 012000080380 2C32 mov r14 = 64 // 071799 } { .mmi 010802000940 2C40 mov tptr = TimeString ;; // r37 = r32 // 071818 0080C2200880 2C41 ld8.mov r34 = [r34], DECC$$GL___CTYPEA // 071821 010028E183C0 2C42 sub r15 = sp, r14 // r15 = r12, r14 // 071799 } { .mii 010800000900 2C50 mov offset = r0 // r36 = r0 // 071816 0108000008C0 2C51 mov zoffset = r0 ;; // r35 = r0 0001880009C0 2C52 mov r39 = rp // r39 = br0 // 071799 } { .mii 0080C0F00380 2C60 ld8 r14 = [r15] 010800F00300 2C61 mov sp = r15 // r12 = r15 010800F603C0 2C62 adds r15 = 48, r15 ;; // 071816 } { .mmi 008CC2100000 2C70 st8 [in1] = r0 // [r33] = r0 // 071815 008C80F00000 2C71 st4 [r15] = r0 // 071816 0119F8FF8400 2C72 adds r16 = -4, r15 ;; } { .mmi 0080822000C0 2C80 ld4 r3 = [r34] // 071821 008002000A80 2C81 ld1 out0 = [in0] // r42 = [r32] 0119F8FF83C0 2C82 adds r15 = -4, r15 ;; // 071816 } { .mii 010801008400 2C90 adds r16 = 4, r16 01C4003001C0 2C91 cmp4.eq pr7, pr0 = r0, r3 // 071821 0000A2A000C0 2C92 sxt1 r3 = out0 // r3 = r42 } { .mmi 00BC88F01F00 2CA0 st4 [r15] = r0, -4 ;; // 071816 008C80F00000 2CA1 st4 [r15] = r0 010800F00080 2CA2 adds r2 = 0, r15 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 120 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mii 0119F8FB03C0 2CB0 adds r15 = -40, r15 010800100A40 2CB1 mov r41 = gp // r41 = r1 // 071799 000008000000 2CB2 nop.i 0 ;; } { .mfb 000008000000 2CC0 nop.m 0 000008000000 2CC1 nop.f 0 00860000E007 2CC2 (pr7) br.cond.dpnt.many L$716 ;; // 071821 } { .mmi 012000100200 2CD0 add r8 = // r8 = @ltoffx(DECC$$GA___CTYPET), r1 @ltoffx(DECC$$GA___CTYPET), gp ;; 0080C0800200 2CD1 ld8.mov r8 = [r8], DECC$$GA___CTYPET 000008000000 2CD2 nop.i 0 ;; } { .mmi 008080800200 2CE0 ld4 r8 = DECC$$GA___CTYPET ;; // r8 = [r8] 000008000000 2CE1 nop.m 0 0000B0800200 2CE2 sxt4 r8 = r8 ;; } { .mmi 0100888060C0 2CF0 shladd r3 = r3, 2, r8 ;; 0080803000C0 2CF1 ld4 r3 = [r3] 000008000000 2CF2 nop.i 0 ;; } { .mmi 0101603080C0 2D00 and r3 = 4, r3 ;; 01C430300000 2D01 cmp4.eq pr0, pr6 = r0, r3 000008000000 2D02 nop.i 0 } { .mfb 000008000000 2D10 nop.m 0 000008000000 2D11 nop.f 0 00860000A006 2D12 (pr6) br.cond.dpnt.many L$717 ;; } { .mfb 012018008200 2D20 mov r8 = 388 000008000000 2D21 nop.f 0 008000201000 2D22 br.sptk.many L$719 ;; } 2D30 L$716: { .mib 012000002640 2D30 mov ai = 1 // r25 = 1 0000B0300A80 2D31 sxt4 out0 = r3 // r42 = r3 00A000001000 2D32 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C430800000 2D40 cmp4.eq pr0, pr6 = r0, r8 010802900040 2D41 mov gp = r41 // r1 = r41 008600004006 2D42 (pr6) br.cond.dpnt.many L$717 ;; } { .mfb 012018008200 2D50 mov r8 = 388 000008000000 2D51 nop.f 0 0080001FB000 2D52 br.sptk.many L$719 ;; } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 121 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 2D60 L$717: { .mii 0120001000C0 2D60 add r3 = @ltoff($LITERAL$+2000), // r3 = @ltoff($LITERAL$+2000), r1 // 071822 gp 012000006640 2D61 mov ai = 3 // r25 = 3 010800C68B00 2D62 adds out2 = 52, sp // r44 = 52, r12 } { .mmi 010802000A80 2D70 mov out0 = TimeString ;; // r42 = r32 0080C03000C0 2D71 ld8 r3 = $LITERAL$ // r3 = [r3] 000008000000 2D72 nop.i 0 ;; } { .mfb 010800300AC0 2D80 mov out1 = r3 // r43 = r3 000008000000 2D81 nop.f 0 00A000001000 2D82 br.call.sptk.many rp = DECC$TXSSCANF ;; // br0 = DECC$TXSSCANF } { .mib 01CC008021C0 2D90 cmp4.eq pr7, pr0 = 1, r8 010802900040 2D91 mov gp = r41 // r1 = r41 008600004007 2D92 (pr7) br.cond.dpnt.many L$723 ;; } { .mfb 012018008200 2DA0 mov r8 = 388 000008000000 2DA1 nop.f 0 0080001F1000 2DA2 br.sptk.many L$719 ;; } 2DB0 L$723: // 071823 { .mmi 012000100800 2DB0 add in0 = // r32 = @ltoffx(DECC$$GA___CTYPET), r1 @ltoffx(DECC$$GA___CTYPET), gp ;; 0080C2000800 2DB1 ld8.mov in0 = [r32], DECC$$GA___CTYPET 000008000000 2DB2 nop.i 0 ;; } 2DC0 L$724: { .mmi 008002500A80 2DC0 ld1 out0 = [r37] // r42 = [r37] 0080822000C0 2DC1 ld4 r3 = [r34] 000008000000 2DC2 nop.i 0 ;; } { .mib 01C400300240 2DD0 cmp4.eq pr9, pr0 = r0, r3 0000A2A00280 2DD1 sxt1 r10 = out0 // r10 = r42 004000000000 2DD2 nop.b 0 } { .mfb 0080820002C0 2DE0 ld4 r11 = [in0] // r11 = [r32] 000008000000 2DE1 nop.f 0 00860001A009 2DE2 (pr9) br.cond.dpnt.many L$726 ;; } { .mii 000008000000 2DF0 nop.m 0 0000B0B002C0 2DF1 sxt4 r11 = r11 ;; 010088B142C0 2DF2 shladd r11 = r10, 2, r11 ;; } { .mmi 008080B002C0 2E00 ld4 r11 = [r11] ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 122 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 010160B082C0 2E01 and r11 = 4, r11 000008000000 2E02 nop.i 0 ;; } { .mfb 01C450B00000 2E10 cmp4.eq pr0, pr10 = r0, r11 000008000000 2E11 nop.f 0 00860001800A 2E12 (pr10) br.cond.dpnt.many L$727 ;; } 2E20 L$728: { .mii 0080025000C0 2E20 ld1 r3 = [r37] // 071824 010802502240 2E21 adds r9 = 1, tptr // r9 = 1, r37 000008000000 2E22 nop.i 0 } { .mmi 008082200280 2E30 ld4 r10 = [r34] ;; // 071825 01C80035A240 2E31 cmp.eq pr9, pr0 = 45, r3 // 071824 01C400A002C0 2E32 cmp4.eq pr11, pr0 = r0, r10 // 071825 } { .mmi 008082000480 2E40 ld4 r18 = [in0] ;; // r18 = [r32] 010800900949 2E41 (pr9) mov tptr = r9 // r37 = r9 // 071824 000008000000 2E42 nop.i 0 ;; } { .mmi 008002500A80 2E50 ld1 out0 = [r37] ;; // r42 = [r37] // 071825 000008000000 2E51 nop.m 0 0000A2A00440 2E52 sxt1 r17 = out0 // r17 = r42 } { .mfb 000008000000 2E60 nop.m 0 000008000000 2E61 nop.f 0 00860001200B 2E62 (pr11) br.cond.dpnt.many L$730 ;; } { .mii 000008000000 2E70 nop.m 0 0000B1200480 2E71 sxt4 r18 = r18 ;; 010089222440 2E72 shladd r17 = r17, 2, r18 ;; } { .mmi 008081100440 2E80 ld4 r17 = [r17] ;; 010161108440 2E81 and r17 = 4, r17 000008000000 2E82 nop.i 0 ;; } { .mfb 01C461100000 2E90 cmp4.eq pr0, pr12 = r0, r17 000008000000 2E91 nop.f 0 00860001200C 2E92 (pr12) br.cond.dpnt.many L$731 ;; } { .mfb 012018008200 2EA0 mov r8 = 388 000008000000 2EA1 nop.f 0 0080001D1000 2EA2 br.sptk.many L$719 ;; } 2EB0 L$726: // 071823 { .mib 012000002640 2EB0 mov ai = 1 // r25 = 1 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 123 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0000B0A00A80 2EB1 sxt4 out0 = r10 // r42 = r10 00A000001000 2EB2 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C4008001C0 2EC0 cmp4.eq pr7, pr0 = r0, r8 010802900040 2EC1 mov gp = r41 // r1 = r41 0095FFFEC007 2EC2 (pr7) br.cond.dptk.many L$728 ;; } 2ED0 L$727: { .mfi 010802502940 2ED0 adds r37 = 1, r37 000008000000 2ED1 nop.f 0 000008000000 2ED2 nop.i 0 ;; } { .mfb 000008000000 2EE0 nop.m 0 000008000000 2EE1 nop.f 0 0091FFFDD000 2EE2 br.sptk.many L$724 ;; } 2EF0 L$730: // 071825 { .mib 012000002640 2EF0 mov ai = 1 // r25 = 1 0000B1100A80 2EF1 sxt4 out0 = r17 // r42 = r17 00A000001000 2EF2 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C430800000 2F00 cmp4.eq pr0, pr6 = r0, r8 010802900040 2F01 mov gp = r41 // r1 = r41 008600004006 2F02 (pr6) br.cond.dpnt.many L$731 ;; } { .mfb 012018008200 2F10 mov r8 = 388 000008000000 2F11 nop.f 0 0080001C3000 2F12 br.sptk.many L$719 ;; } 2F20 L$731: { .mii 0120001000C0 2F20 add r3 = @ltoff($LITERAL$+1992), // r3 = @ltoff($LITERAL$+1992), r1 // 071826 gp 012000006640 2F21 mov ai = 3 // r25 = 3 010800C70B00 2F22 adds out2 = 56, sp // r44 = 56, r12 } { .mmi 010802500A80 2F30 mov out0 = tptr ;; // r42 = r37 0080C03000C0 2F31 ld8 r3 = $LITERAL$ // r3 = [r3] 000008000000 2F32 nop.i 0 ;; } { .mfb 010800300AC0 2F40 mov out1 = r3 // r43 = r3 000008000000 2F41 nop.f 0 00A000001000 2F42 br.call.sptk.many rp = DECC$TXSSCANF ;; // br0 = DECC$TXSSCANF } { .mib 01CC008021C0 2F50 cmp4.eq pr7, pr0 = 1, r8 010802900040 2F51 mov gp = r41 // r1 = r41 00860000A007 2F52 (pr7) br.cond.dpnt.many L$737 ;; } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 124 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mfb 012018008200 2F60 mov r8 = 388 000008000000 2F61 nop.f 0 0080001B9000 2F62 br.sptk.many L$719 ;; } 2F70 L$739: // 071827 { .mib 012000002640 2F70 mov ai = 1 // r25 = 1 0000B0A00A80 2F71 sxt4 out0 = r10 // r42 = r10 00A000001000 2F72 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C4008001C0 2F80 cmp4.eq pr7, pr0 = r0, r8 010802900040 2F81 mov gp = r41 // r1 = r41 008600010007 2F82 (pr7) br.cond.dpnt.many L$741 ;; } 2F90 L$740: { .mmi 010802502940 2F90 adds r37 = 1, r37 ;; 000008000000 2F91 nop.m 0 000008000000 2F92 nop.i 0 } 2FA0 L$737: { .mmi 008002500A80 2FA0 ld1 out0 = [r37] ;; // r42 = [r37] 0080822000C0 2FA1 ld4 r3 = [r34] 0000A2A00A80 2FA2 sxt1 out0 = out0 ;; // r42 = r42 } { .mib 010802A00280 2FB0 mov r10 = out0 // r10 = r42 01C440300240 2FB1 cmp4.eq pr9, pr8 = r0, r3 0095FFFF8009 2FB2 (pr9) br.cond.dptk.many L$739 ;; } { .mmi 0080820002C0 2FC0 ld4 r11 = [in0] ;; // r11 = [r32] 000008000000 2FC1 nop.m 0 0000B0B002C0 2FC2 sxt4 r11 = r11 ;; } { .mmi 010088B542C0 2FD0 shladd r11 = out0, 2, r11 ;; // r11 = r42, 2, r11 008080B002C0 2FD1 ld4 r11 = [r11] 000008000000 2FD2 nop.i 0 ;; } { .mmi 010160B082C0 2FE0 and r11 = 4, r11 ;; 01C450B00000 2FE1 cmp4.eq pr0, pr10 = r0, r11 000008000000 2FE2 nop.i 0 } { .mfb 000008000000 2FF0 nop.m 0 000008000000 2FF1 nop.f 0 0095FFFF400A 2FF2 (pr10) br.cond.dptk.many L$740 ;; } 3000 L$741: { .mii 0080025000C0 3000 ld1 r3 = [r37] // 071828 010802502240 3001 adds r9 = 1, tptr // r9 = 1, r37 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 125 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 3002 nop.i 0 } { .mmi 008082200280 3010 ld4 r10 = [r34] ;; // 071829 01C80035A240 3011 cmp.eq pr9, pr0 = 45, r3 // 071828 01C400A002C0 3012 cmp4.eq pr11, pr0 = r0, r10 // 071829 } { .mmi 008082000480 3020 ld4 r18 = [in0] ;; // r18 = [r32] 010800900949 3021 (pr9) mov tptr = r9 // r37 = r9 // 071828 000008000000 3022 nop.i 0 ;; } { .mmi 008002500A80 3030 ld1 out0 = [r37] ;; // r42 = [r37] // 071829 000008000000 3031 nop.m 0 0000A2A00440 3032 sxt1 r17 = out0 // r17 = r42 } { .mfb 000008000000 3040 nop.m 0 000008000000 3041 nop.f 0 00860000A00B 3042 (pr11) br.cond.dpnt.many L$743 ;; } { .mii 000008000000 3050 nop.m 0 0000B1200480 3051 sxt4 r18 = r18 ;; 010089222440 3052 shladd r17 = r17, 2, r18 ;; } { .mmi 008081100440 3060 ld4 r17 = [r17] ;; 010161108440 3061 and r17 = 4, r17 000008000000 3062 nop.i 0 ;; } { .mfb 01C461100000 3070 cmp4.eq pr0, pr12 = r0, r17 000008000000 3071 nop.f 0 00860000A00C 3072 (pr12) br.cond.dpnt.many L$744 ;; } { .mfb 012018008200 3080 mov r8 = 388 000008000000 3081 nop.f 0 008000195000 3082 br.sptk.many L$719 ;; } 3090 L$743: { .mib 012000002640 3090 mov ai = 1 // r25 = 1 0000B1100A80 3091 sxt4 out0 = r17 // r42 = r17 00A000001000 3092 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C430800000 30A0 cmp4.eq pr0, pr6 = r0, r8 010802900040 30A1 mov gp = r41 // r1 = r41 008600004006 30A2 (pr6) br.cond.dpnt.many L$744 ;; } { .mfb 012018008200 30B0 mov r8 = 388 000008000000 30B1 nop.f 0 00800018F000 30B2 br.sptk.many L$719 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 126 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } 30C0 L$744: { .mii 0120001000C0 30C0 add r3 = @ltoff($LITERAL$+1992), // r3 = @ltoff($LITERAL$+1992), r1 // 071830 gp 012000006640 30C1 mov ai = 3 // r25 = 3 010800C78B00 30C2 adds out2 = 60, sp // r44 = 60, r12 } { .mmi 010802500A80 30D0 mov out0 = tptr ;; // r42 = r37 0080C03000C0 30D1 ld8 r3 = $LITERAL$ // r3 = [r3] 000008000000 30D2 nop.i 0 ;; } { .mfb 010800300AC0 30E0 mov out1 = r3 // r43 = r3 000008000000 30E1 nop.f 0 00A000001000 30E2 br.call.sptk.many rp = DECC$TXSSCANF ;; // br0 = DECC$TXSSCANF } { .mib 01CC008021C0 30F0 cmp4.eq pr7, pr0 = 1, r8 010802900040 30F1 mov gp = r41 // r1 = r41 00860000A007 30F2 (pr7) br.cond.dpnt.many L$750 ;; } { .mfb 012018008200 3100 mov r8 = 388 000008000000 3101 nop.f 0 008000185000 3102 br.sptk.many L$719 ;; } 3110 L$752: // 071831 { .mib 012000002640 3110 mov ai = 1 // r25 = 1 0000B0A00A80 3111 sxt4 out0 = r10 // r42 = r10 00A000001000 3112 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C4008001C0 3120 cmp4.eq pr7, pr0 = r0, r8 010802900040 3121 mov gp = r41 // r1 = r41 008600010007 3122 (pr7) br.cond.dpnt.many L$754 ;; } 3130 L$753: { .mmi 010802502940 3130 adds r37 = 1, r37 ;; 000008000000 3131 nop.m 0 000008000000 3132 nop.i 0 } 3140 L$750: { .mmi 008002500A80 3140 ld1 out0 = [r37] ;; // r42 = [r37] 0080822000C0 3141 ld4 r3 = [r34] 0000A2A00A80 3142 sxt1 out0 = out0 ;; // r42 = r42 } { .mib 010802A00280 3150 mov r10 = out0 // r10 = r42 01C440300240 3151 cmp4.eq pr9, pr8 = r0, r3 0095FFFF8009 3152 (pr9) br.cond.dptk.many L$752 ;; } { .mmi Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 127 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0080820002C0 3160 ld4 r11 = [in0] ;; // r11 = [r32] 000008000000 3161 nop.m 0 0000B0B002C0 3162 sxt4 r11 = r11 ;; } { .mmi 010088B542C0 3170 shladd r11 = out0, 2, r11 ;; // r11 = r42, 2, r11 008080B002C0 3171 ld4 r11 = [r11] 000008000000 3172 nop.i 0 ;; } { .mmi 010160B082C0 3180 and r11 = 4, r11 ;; 01C450B00000 3181 cmp4.eq pr0, pr10 = r0, r11 000008000000 3182 nop.i 0 } { .mfb 000008000000 3190 nop.m 0 000008000000 3191 nop.f 0 0095FFFF400A 3192 (pr10) br.cond.dptk.many L$753 ;; } 31A0 L$754: { .mii 0080025000C0 31A0 ld1 r3 = [r37] // 071834 010802502240 31A1 adds r9 = 1, tptr // r9 = 1, r37 000008000000 31A2 nop.i 0 } { .mmi 008082200280 31B0 ld4 r10 = [r34] ;; // 071835 01C8003A8240 31B1 cmp.eq pr9, pr0 = 84, r3 // 071834 01C400A002C0 31B2 cmp4.eq pr11, pr0 = r0, r10 // 071835 } { .mmi 008082000480 31C0 ld4 r18 = [in0] ;; // r18 = [r32] 010800900949 31C1 (pr9) mov tptr = r9 // r37 = r9 // 071834 000008000000 31C2 nop.i 0 ;; } { .mmi 008002500A80 31D0 ld1 out0 = [r37] ;; // r42 = [r37] // 071835 000008000000 31D1 nop.m 0 0000A2A00440 31D2 sxt1 r17 = out0 // r17 = r42 } { .mfb 000008000000 31E0 nop.m 0 000008000000 31E1 nop.f 0 00860000A00B 31E2 (pr11) br.cond.dpnt.many L$756 ;; } { .mii 000008000000 31F0 nop.m 0 0000B1200480 31F1 sxt4 r18 = r18 ;; 010089222440 31F2 shladd r17 = r17, 2, r18 ;; } { .mmi 008081100440 3200 ld4 r17 = [r17] ;; 010161108440 3201 and r17 = 4, r17 000008000000 3202 nop.i 0 ;; } { .mfb 01C461100000 3210 cmp4.eq pr0, pr12 = r0, r17 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 128 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 3211 nop.f 0 00860000A00C 3212 (pr12) br.cond.dpnt.many L$757 ;; } { .mfb 012018008200 3220 mov r8 = 388 000008000000 3221 nop.f 0 008000161000 3222 br.sptk.many L$719 ;; } 3230 L$756: { .mib 012000002640 3230 mov ai = 1 // r25 = 1 0000B1100A80 3231 sxt4 out0 = r17 // r42 = r17 00A000001000 3232 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C430800000 3240 cmp4.eq pr0, pr6 = r0, r8 010802900040 3241 mov gp = r41 // r1 = r41 008600004006 3242 (pr6) br.cond.dpnt.many L$757 ;; } { .mfb 012018008200 3250 mov r8 = 388 000008000000 3251 nop.f 0 00800015B000 3252 br.sptk.many L$719 ;; } 3260 L$757: { .mii 0120001000C0 3260 add r3 = @ltoff($LITERAL$+1992), // r3 = @ltoff($LITERAL$+1992), r1 // 071836 gp 012000006640 3261 mov ai = 3 // r25 = 3 010800C80B00 3262 adds out2 = 64, sp // r44 = 64, r12 } { .mmi 010802500A80 3270 mov out0 = tptr ;; // r42 = r37 0080C03000C0 3271 ld8 r3 = $LITERAL$ // r3 = [r3] 000008000000 3272 nop.i 0 ;; } { .mfb 010800300AC0 3280 mov out1 = r3 // r43 = r3 000008000000 3281 nop.f 0 00A000001000 3282 br.call.sptk.many rp = DECC$TXSSCANF ;; // br0 = DECC$TXSSCANF } { .mib 01CC008021C0 3290 cmp4.eq pr7, pr0 = 1, r8 010802900040 3291 mov gp = r41 // r1 = r41 00860000A007 3292 (pr7) br.cond.dpnt.many L$763 ;; } { .mfb 012018008200 32A0 mov r8 = 388 000008000000 32A1 nop.f 0 008000151000 32A2 br.sptk.many L$719 ;; } 32B0 L$765: // 071837 { .mib 012000002640 32B0 mov ai = 1 // r25 = 1 0000B0A00A80 32B1 sxt4 out0 = r10 // r42 = r10 00A000001000 32B2 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 129 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mib 01C4008001C0 32C0 cmp4.eq pr7, pr0 = r0, r8 010802900040 32C1 mov gp = r41 // r1 = r41 008600010007 32C2 (pr7) br.cond.dpnt.many L$767 ;; } 32D0 L$766: { .mmi 010802502940 32D0 adds r37 = 1, r37 ;; 000008000000 32D1 nop.m 0 000008000000 32D2 nop.i 0 } 32E0 L$763: { .mmi 008002500A80 32E0 ld1 out0 = [r37] ;; // r42 = [r37] 0080822000C0 32E1 ld4 r3 = [r34] 0000A2A00A80 32E2 sxt1 out0 = out0 ;; // r42 = r42 } { .mib 010802A00280 32F0 mov r10 = out0 // r10 = r42 01C440300240 32F1 cmp4.eq pr9, pr8 = r0, r3 0095FFFF8009 32F2 (pr9) br.cond.dptk.many L$765 ;; } { .mmi 0080820002C0 3300 ld4 r11 = [in0] ;; // r11 = [r32] 000008000000 3301 nop.m 0 0000B0B002C0 3302 sxt4 r11 = r11 ;; } { .mmi 010088B542C0 3310 shladd r11 = out0, 2, r11 ;; // r11 = r42, 2, r11 008080B002C0 3311 ld4 r11 = [r11] 000008000000 3312 nop.i 0 ;; } { .mmi 010160B082C0 3320 and r11 = 4, r11 ;; 01C450B00000 3321 cmp4.eq pr0, pr10 = r0, r11 000008000000 3322 nop.i 0 } { .mfb 000008000000 3330 nop.m 0 000008000000 3331 nop.f 0 0095FFFF400A 3332 (pr10) br.cond.dptk.many L$766 ;; } 3340 L$767: { .mii 0080025000C0 3340 ld1 r3 = [r37] // 071838 010802502240 3341 adds r9 = 1, tptr // r9 = 1, r37 000008000000 3342 nop.i 0 } { .mmi 008082200280 3350 ld4 r10 = [r34] ;; // 071839 01C800374240 3351 cmp.eq pr9, pr0 = 58, r3 // 071838 01C400A002C0 3352 cmp4.eq pr11, pr0 = r0, r10 // 071839 } { .mmi 008082000480 3360 ld4 r18 = [in0] ;; // r18 = [r32] 010800900949 3361 (pr9) mov tptr = r9 // r37 = r9 // 071838 000008000000 3362 nop.i 0 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 130 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mmi 008002500A80 3370 ld1 out0 = [r37] ;; // r42 = [r37] // 071839 000008000000 3371 nop.m 0 0000A2A00440 3372 sxt1 r17 = out0 // r17 = r42 } { .mfb 000008000000 3380 nop.m 0 000008000000 3381 nop.f 0 00860000A00B 3382 (pr11) br.cond.dpnt.many L$769 ;; } { .mii 000008000000 3390 nop.m 0 0000B1200480 3391 sxt4 r18 = r18 ;; 010089222440 3392 shladd r17 = r17, 2, r18 ;; } { .mmi 008081100440 33A0 ld4 r17 = [r17] ;; 010161108440 33A1 and r17 = 4, r17 000008000000 33A2 nop.i 0 ;; } { .mfb 01C461100000 33B0 cmp4.eq pr0, pr12 = r0, r17 000008000000 33B1 nop.f 0 00860000A00C 33B2 (pr12) br.cond.dpnt.many L$770 ;; } { .mfb 012018008200 33C0 mov r8 = 388 000008000000 33C1 nop.f 0 00800012D000 33C2 br.sptk.many L$719 ;; } 33D0 L$769: { .mib 012000002640 33D0 mov ai = 1 // r25 = 1 0000B1100A80 33D1 sxt4 out0 = r17 // r42 = r17 00A000001000 33D2 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C430800000 33E0 cmp4.eq pr0, pr6 = r0, r8 010802900040 33E1 mov gp = r41 // r1 = r41 008600004006 33E2 (pr6) br.cond.dpnt.many L$770 ;; } { .mfb 012018008200 33F0 mov r8 = 388 000008000000 33F1 nop.f 0 008000127000 33F2 br.sptk.many L$719 ;; } 3400 L$770: { .mii 0120001000C0 3400 add r3 = @ltoff($LITERAL$+1992), // r3 = @ltoff($LITERAL$+1992), r1 // 071840 gp 012000006640 3401 mov ai = 3 // r25 = 3 010800C88B00 3402 adds out2 = 68, sp // r44 = 68, r12 } { .mmi 010802500A80 3410 mov out0 = tptr ;; // r42 = r37 0080C03000C0 3411 ld8 r3 = $LITERAL$ // r3 = [r3] Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 131 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 3412 nop.i 0 ;; } { .mfb 010800300AC0 3420 mov out1 = r3 // r43 = r3 000008000000 3421 nop.f 0 00A000001000 3422 br.call.sptk.many rp = DECC$TXSSCANF ;; // br0 = DECC$TXSSCANF } { .mib 01CC008021C0 3430 cmp4.eq pr7, pr0 = 1, r8 010802900040 3431 mov gp = r41 // r1 = r41 00860000A007 3432 (pr7) br.cond.dpnt.many L$776 ;; } { .mfb 012018008200 3440 mov r8 = 388 000008000000 3441 nop.f 0 00800011D000 3442 br.sptk.many L$719 ;; } 3450 L$778: // 071841 { .mib 012000002640 3450 mov ai = 1 // r25 = 1 0000B0A00A80 3451 sxt4 out0 = r10 // r42 = r10 00A000001000 3452 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C4008001C0 3460 cmp4.eq pr7, pr0 = r0, r8 010802900040 3461 mov gp = r41 // r1 = r41 008600010007 3462 (pr7) br.cond.dpnt.many L$780 ;; } 3470 L$779: { .mmi 010802502940 3470 adds r37 = 1, r37 ;; 000008000000 3471 nop.m 0 000008000000 3472 nop.i 0 } 3480 L$776: { .mmi 008002500A80 3480 ld1 out0 = [r37] ;; // r42 = [r37] 0080822000C0 3481 ld4 r3 = [r34] 0000A2A00A80 3482 sxt1 out0 = out0 ;; // r42 = r42 } { .mib 010802A00280 3490 mov r10 = out0 // r10 = r42 01C440300240 3491 cmp4.eq pr9, pr8 = r0, r3 0095FFFF8009 3492 (pr9) br.cond.dptk.many L$778 ;; } { .mmi 0080820002C0 34A0 ld4 r11 = [in0] ;; // r11 = [r32] 000008000000 34A1 nop.m 0 0000B0B002C0 34A2 sxt4 r11 = r11 ;; } { .mmi 010088B542C0 34B0 shladd r11 = out0, 2, r11 ;; // r11 = r42, 2, r11 008080B002C0 34B1 ld4 r11 = [r11] 000008000000 34B2 nop.i 0 ;; } { .mmi 010160B082C0 34C0 and r11 = 4, r11 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 132 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 01C450B00000 34C1 cmp4.eq pr0, pr10 = r0, r11 000008000000 34C2 nop.i 0 } { .mfb 000008000000 34D0 nop.m 0 000008000000 34D1 nop.f 0 0095FFFF400A 34D2 (pr10) br.cond.dptk.many L$779 ;; } 34E0 L$780: { .mii 0080025000C0 34E0 ld1 r3 = [r37] // 071842 010802502240 34E1 adds r9 = 1, tptr // r9 = 1, r37 000008000000 34E2 nop.i 0 } { .mmi 008082200280 34F0 ld4 r10 = [r34] ;; // 071843 01C800374240 34F1 cmp.eq pr9, pr0 = 58, r3 // 071842 01C400A002C0 34F2 cmp4.eq pr11, pr0 = r0, r10 // 071843 } { .mmi 008082000480 3500 ld4 r18 = [in0] ;; // r18 = [r32] 010800900949 3501 (pr9) mov tptr = r9 // r37 = r9 // 071842 000008000000 3502 nop.i 0 ;; } { .mmi 008002500A80 3510 ld1 out0 = [r37] ;; // r42 = [r37] // 071843 000008000000 3511 nop.m 0 0000A2A00440 3512 sxt1 r17 = out0 // r17 = r42 } { .mfb 000008000000 3520 nop.m 0 000008000000 3521 nop.f 0 00860000A00B 3522 (pr11) br.cond.dpnt.many L$782 ;; } { .mii 000008000000 3530 nop.m 0 0000B1200480 3531 sxt4 r18 = r18 ;; 010089222440 3532 shladd r17 = r17, 2, r18 ;; } { .mmi 008081100440 3540 ld4 r17 = [r17] ;; 010161108440 3541 and r17 = 4, r17 000008000000 3542 nop.i 0 ;; } { .mfb 01C461100000 3550 cmp4.eq pr0, pr12 = r0, r17 000008000000 3551 nop.f 0 00860000A00C 3552 (pr12) br.cond.dpnt.many L$783 ;; } { .mfb 012018008200 3560 mov r8 = 388 000008000000 3561 nop.f 0 0080000F9000 3562 br.sptk.many L$719 ;; } 3570 L$782: { .mib 012000002640 3570 mov ai = 1 // r25 = 1 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 133 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0000B1100A80 3571 sxt4 out0 = r17 // r42 = r17 00A000001000 3572 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C430800000 3580 cmp4.eq pr0, pr6 = r0, r8 010802900040 3581 mov gp = r41 // r1 = r41 008600004006 3582 (pr6) br.cond.dpnt.many L$783 ;; } { .mfb 012018008200 3590 mov r8 = 388 000008000000 3591 nop.f 0 0080000F3000 3592 br.sptk.many L$719 ;; } 35A0 L$783: { .mii 0120001000C0 35A0 add r3 = @ltoff($LITERAL$+1992), // r3 = @ltoff($LITERAL$+1992), r1 // 071844 gp 012000006640 35A1 mov ai = 3 // r25 = 3 010800C90B00 35A2 adds out2 = 72, sp // r44 = 72, r12 } { .mmi 010802500A80 35B0 mov out0 = tptr ;; // r42 = r37 0080C03000C0 35B1 ld8 r3 = $LITERAL$ // r3 = [r3] 000008000000 35B2 nop.i 0 ;; } { .mfb 010800300AC0 35C0 mov out1 = r3 // r43 = r3 000008000000 35C1 nop.f 0 00A000001000 35C2 br.call.sptk.many rp = DECC$TXSSCANF ;; // br0 = DECC$TXSSCANF } { .mib 01CC008021C0 35D0 cmp4.eq pr7, pr0 = 1, r8 010802900040 35D1 mov gp = r41 // r1 = r41 00860000A007 35D2 (pr7) br.cond.dpnt.many L$789 ;; } { .mfb 012018008200 35E0 mov r8 = 388 000008000000 35E1 nop.f 0 0080000E9000 35E2 br.sptk.many L$719 ;; } 35F0 L$791: // 071845 { .mib 012000002640 35F0 mov ai = 1 // r25 = 1 0000B0A00A80 35F1 sxt4 out0 = r10 // r42 = r10 00A000001000 35F2 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C4008001C0 3600 cmp4.eq pr7, pr0 = r0, r8 010802900040 3601 mov gp = r41 // r1 = r41 008600010007 3602 (pr7) br.cond.dpnt.many L$793 ;; } 3610 L$792: { .mmi 010802502940 3610 adds r37 = 1, r37 ;; 000008000000 3611 nop.m 0 000008000000 3612 nop.i 0 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 134 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 3620 L$789: { .mmi 008002500A80 3620 ld1 out0 = [r37] ;; // r42 = [r37] 0080822000C0 3621 ld4 r3 = [r34] 0000A2A00A80 3622 sxt1 out0 = out0 ;; // r42 = r42 } { .mib 010802A00280 3630 mov r10 = out0 // r10 = r42 01C440300240 3631 cmp4.eq pr9, pr8 = r0, r3 0095FFFF8009 3632 (pr9) br.cond.dptk.many L$791 ;; } { .mmi 0080820002C0 3640 ld4 r11 = [in0] ;; // r11 = [r32] 000008000000 3641 nop.m 0 0000B0B002C0 3642 sxt4 r11 = r11 ;; } { .mmi 010088B542C0 3650 shladd r11 = out0, 2, r11 ;; // r11 = r42, 2, r11 008080B002C0 3651 ld4 r11 = [r11] 000008000000 3652 nop.i 0 ;; } { .mmi 010160B082C0 3660 and r11 = 4, r11 ;; 01C450B00000 3661 cmp4.eq pr0, pr10 = r0, r11 000008000000 3662 nop.i 0 } { .mfb 000008000000 3670 nop.m 0 000008000000 3671 nop.f 0 0095FFFF400A 3672 (pr10) br.cond.dptk.many L$792 ;; } 3680 L$793: { .mmi 0080025000C0 3680 ld1 r3 = [r37] // 071848 008082200240 3681 ld4 r9 = [r34] // 071851 000008000000 3682 nop.i 0 ;; } { .mmb 01C84035C000 3690 cmp.eq pr0, pr8 = 46, r3 // 071848 008082000440 3691 ld4 r17 = [in0] // r17 = [r32] // 071851 008600032008 3692 (pr8) br.cond.dpnt.many L$796 ;; // 071848 } { .mii 010802502940 36A0 adds r37 = 1, r37 // 071851 01C4009002C0 36A1 cmp4.eq pr11, pr0 = r0, r9 000008000000 36A2 nop.i 0 ;; } { .mmi 008002500A80 36B0 ld1 out0 = [r37] ;; // r42 = [r37] 000008000000 36B1 nop.m 0 0000A2A002C0 36B2 sxt1 r11 = out0 // r11 = r42 } { .mfb 000008000000 36C0 nop.m 0 000008000000 36C1 nop.f 0 00860000A00B 36C2 (pr11) br.cond.dpnt.many L$799 ;; } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 135 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mii 000008000000 36D0 nop.m 0 0000B1100440 36D1 sxt4 r17 = r17 ;; 0100891162C0 36D2 shladd r11 = r11, 2, r17 ;; } { .mmi 008080B002C0 36E0 ld4 r11 = [r11] ;; 010160B082C0 36E1 and r11 = 4, r11 000008000000 36E2 nop.i 0 ;; } { .mfb 01C460B00000 36F0 cmp4.eq pr0, pr12 = r0, r11 000008000000 36F1 nop.f 0 00860000A00C 36F2 (pr12) br.cond.dpnt.many L$800 ;; } { .mfb 012018008200 3700 mov r8 = 388 000008000000 3701 nop.f 0 0080000C5000 3702 br.sptk.many L$719 ;; } 3710 L$799: { .mib 012000002640 3710 mov ai = 1 // r25 = 1 0000B0B00A80 3711 sxt4 out0 = r11 // r42 = r11 00A000001000 3712 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C430800000 3720 cmp4.eq pr0, pr6 = r0, r8 010802900040 3721 mov gp = r41 // r1 = r41 008600004006 3722 (pr6) br.cond.dpnt.many L$800 ;; } { .mfb 012018008200 3730 mov r8 = 388 000008000000 3731 nop.f 0 0080000BF000 3732 br.sptk.many L$719 ;; } 3740 L$800: { .mii 0120001000C0 3740 add r3 = @ltoff($LITERAL$+1984), // r3 = @ltoff($LITERAL$+1984), r1 // 071852 gp 012000006640 3741 mov ai = 3 // r25 = 3 010800C60B00 3742 adds out2 = 48, sp // r44 = 48, r12 } { .mmi 010802500A80 3750 mov out0 = tptr ;; // r42 = r37 0080C03000C0 3751 ld8 r3 = $LITERAL$ // r3 = [r3] 000008000000 3752 nop.i 0 ;; } { .mfb 010800300AC0 3760 mov out1 = r3 // r43 = r3 000008000000 3761 nop.f 0 00A000001000 3762 br.call.sptk.many rp = DECC$TXSSCANF ;; // br0 = DECC$TXSSCANF } { .mib 01CC008021C0 3770 cmp4.eq pr7, pr0 = 1, r8 010802900040 3771 mov gp = r41 // r1 = r41 00860000A007 3772 (pr7) br.cond.dpnt.many L$806 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 136 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mfb 012018008200 3780 mov r8 = 388 000008000000 3781 nop.f 0 0080000B5000 3782 br.sptk.many L$719 ;; } 3790 L$808: // 071853 { .mib 012000002640 3790 mov ai = 1 // r25 = 1 0000B0A00A80 3791 sxt4 out0 = r10 // r42 = r10 00A000001000 3792 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C4008001C0 37A0 cmp4.eq pr7, pr0 = r0, r8 010802900040 37A1 mov gp = r41 // r1 = r41 008600010007 37A2 (pr7) br.cond.dpnt.many L$796 ;; } 37B0 L$809: { .mmi 010802502940 37B0 adds r37 = 1, r37 ;; 000008000000 37B1 nop.m 0 000008000000 37B2 nop.i 0 } 37C0 L$806: { .mmi 008002500A80 37C0 ld1 out0 = [r37] ;; // r42 = [r37] 0080822000C0 37C1 ld4 r3 = [r34] 0000A2A00A80 37C2 sxt1 out0 = out0 ;; // r42 = r42 } { .mib 010802A00280 37D0 mov r10 = out0 // r10 = r42 01C440300240 37D1 cmp4.eq pr9, pr8 = r0, r3 0095FFFF8009 37D2 (pr9) br.cond.dptk.many L$808 ;; } { .mmi 0080820002C0 37E0 ld4 r11 = [in0] ;; // r11 = [r32] 000008000000 37E1 nop.m 0 0000B0B002C0 37E2 sxt4 r11 = r11 ;; } { .mmi 010088B542C0 37F0 shladd r11 = out0, 2, r11 ;; // r11 = r42, 2, r11 008080B002C0 37F1 ld4 r11 = [r11] 000008000000 37F2 nop.i 0 ;; } { .mmi 010160B082C0 3800 and r11 = 4, r11 ;; 01C450B00000 3801 cmp4.eq pr0, pr10 = r0, r11 000008000000 3802 nop.i 0 } { .mfb 000008000000 3810 nop.m 0 000008000000 3811 nop.f 0 0095FFFF400A 3812 (pr10) br.cond.dptk.many L$809 ;; } 3820 L$796: // 071854 { .mii 0080025000C0 3820 ld1 r3 = [r37] // 071857 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 137 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 010802502240 3821 adds r9 = 1, tptr ;; // r9 = 1, r37 01C8003B4240 3822 cmp.eq pr9, pr0 = 90, r3 ;; } { .mmi 010800900949 3830 (pr9) mov tptr = r9 ;; // r37 = r9 008002500280 3831 ld1 r10 = [r37] // 071858 000008000000 3832 nop.i 0 ;; } { .mbb 01C850A56000 3840 cmp.eq pr0, pr10 = 43, r10 00860000200A 3841 (pr10) br.cond.dpnt.many L$812 008000005000 3842 br.sptk.many L$1128 ;; } 3850 L$812: // 071860 { .mfb 01C860A5A000 3850 cmp.eq pr0, pr12 = 45, r10 // 071861 000008000000 3851 nop.f 0 00860000400C 3852 (pr12) br.cond.dpnt.many L$814 ;; } 3860 L$1128: // 071862 { .mmi 00A002502900 3860 ld1 offset = [r37], 1 ;; // r36 = [r37], 1 000008000000 3861 nop.m 0 0000A2400900 3862 sxt1 offset = offset // r36 = r36 } 3870 L$814: { .mmi 008002500A80 3870 ld1 out0 = [r37] ;; // r42 = [r37] // 071863 008082200480 3871 ld4 r18 = [r34] 0000A2A00500 3872 sxt1 r20 = out0 // r20 = r42 } { .mmi 008082000540 3880 ld4 r21 = [in0] ;; // r21 = [r32] 01C4012003C0 3881 cmp4.eq pr15, pr0 = r0, r18 000008000000 3882 nop.i 0 } { .mfb 000008000000 3890 nop.m 0 000008000000 3891 nop.f 0 00860000800F 3892 (pr15) br.cond.dpnt.many L$819 ;; } { .mii 000008000000 38A0 nop.m 0 0000B1500540 38A1 sxt4 r21 = r21 ;; 010089528500 38A2 shladd r20 = r20, 2, r21 ;; } { .mmi 008081400500 38B0 ld4 r20 = [r20] ;; 010161408500 38B1 and r20 = 4, r20 000008000000 38B2 nop.i 0 ;; } { .mbb 01C431400000 38C0 cmp4.eq pr0, pr6 = r0, r20 008600006006 38C1 (pr6) br.cond.dpnt.many L$820 008000059000 38C2 br.sptk.many L$821 ;; } 38D0 L$819: Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 138 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mib 012000002640 38D0 mov ai = 1 // r25 = 1 0000B1400A80 38D1 sxt4 out0 = r20 // r42 = r20 00A000001000 38D2 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C4008001C0 38E0 cmp4.eq pr7, pr0 = r0, r8 010802900040 38E1 mov gp = r41 // r1 = r41 008600054007 38E2 (pr7) br.cond.dpnt.many L$821 ;; } 38F0 L$820: { .mii 0120001000C0 38F0 add r3 = @ltoff($LITERAL$+1992), // r3 = @ltoff($LITERAL$+1992), r1 // 071865 gp 012000006640 38F1 mov ai = 3 // r25 = 3 010800C58B00 38F2 adds out2 = 44, sp // r44 = 44, r12 } { .mmi 010802500A80 3900 mov out0 = tptr ;; // r42 = r37 0080C03000C0 3901 ld8 r3 = $LITERAL$ // r3 = [r3] 000008000000 3902 nop.i 0 ;; } { .mfb 010800300AC0 3910 mov out1 = r3 // r43 = r3 000008000000 3911 nop.f 0 00A000001000 3912 br.call.sptk.many rp = DECC$TXSSCANF ;; // br0 = DECC$TXSSCANF } { .mib 01CC008021C0 3920 cmp4.eq pr7, pr0 = 1, r8 010802900040 3921 mov gp = r41 // r1 = r41 008600004007 3922 (pr7) br.cond.dpnt.many L$825 ;; } { .mfb 012018008200 3930 mov r8 = 388 000008000000 3931 nop.f 0 00800007F000 3932 br.sptk.many L$719 ;; } 3940 L$825: { .mmi 008002500A80 3940 ld1 out0 = [r37] // r42 = [r37] // 071866 0080822008C0 3941 ld4 r35 = [r34] 010802502980 3942 adds r38 = 1, tptr ;; // r38 = 1, r37 } { .mib 01C402300240 3950 cmp4.eq pr9, pr0 = r0, r35 0000A2A00240 3951 sxt1 r9 = out0 // r9 = r42 004000000000 3952 nop.b 0 } { .mfb 008082000280 3960 ld4 r10 = [in0] // r10 = [r32] 000008000000 3961 nop.f 0 00860000A009 3962 (pr9) br.cond.dpnt.many L$827 ;; } { .mii 000008000000 3970 nop.m 0 0000B0A00280 3971 sxt4 r10 = r10 ;; 010088A12240 3972 shladd r9 = r9, 2, r10 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 139 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mmi 008080900240 3980 ld4 r9 = [r9] ;; 010160908240 3981 and r9 = 4, r9 000008000000 3982 nop.i 0 ;; } { .mmi 01C450900000 3990 cmp4.eq pr0, pr10 = r0, r9 ;; 01080260094A 3991 (pr10) mov tptr = r38 // r37 = r38 000008000000 3992 nop.i 0 } { .mfb 000008000000 39A0 nop.m 0 000008000000 39A1 nop.f 0 008000007000 39A2 br.sptk.many L$828 ;; } 39B0 L$827: { .mib 012000002640 39B0 mov ai = 1 // r25 = 1 0000B0900A80 39B1 sxt4 out0 = r9 // r42 = r9 00A000001000 39B2 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mii 01C430800000 39C0 cmp4.eq pr0, pr6 = r0, r8 010802900040 39C1 mov gp = r41 ;; // r1 = r41 010802600946 39C2 (pr6) mov tptr = r38 // r37 = r38 } 39D0 L$828: { .mmi 008082200880 39D0 ld4 r34 = [r34] // 071867 008082000800 39D1 ld4 in0 = [in0] // r32 = [r32] 000008000000 39D2 nop.i 0 ;; } { .mii 008002500A80 39E0 ld1 out0 = [r37] // r42 = [r37] 01C402200240 39E1 cmp4.eq pr9, pr0 = r0, r34 0108025028C0 39E2 adds r35 = 1, tptr ;; // r35 = 1, r37 } { .mib 000008000000 39F0 nop.m 0 0000A2A00240 39F1 sxt1 r9 = out0 // r9 = r42 00860000A009 39F2 (pr9) br.cond.dpnt.many L$830 ;; } { .mii 000008000000 3A00 nop.m 0 0000B2000800 3A01 sxt4 in0 = in0 ;; // r32 = r32 01008A012240 3A02 shladd r9 = r9, 2, in0 ;; // r9 = r9, 2, r32 } { .mmi 008080900240 3A10 ld4 r9 = [r9] ;; 010160908240 3A11 and r9 = 4, r9 000008000000 3A12 nop.i 0 ;; } { .mmi 01C450900000 3A20 cmp4.eq pr0, pr10 = r0, r9 ;; 01080230094A 3A21 (pr10) mov tptr = r35 // r37 = r35 000008000000 3A22 nop.i 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 140 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mfb 000008000000 3A30 nop.m 0 000008000000 3A31 nop.f 0 008000007000 3A32 br.sptk.many L$831 ;; } 3A40 L$830: { .mib 012000002640 3A40 mov ai = 1 // r25 = 1 0000B0900A80 3A41 sxt4 out0 = r9 // r42 = r9 00A000001000 3A42 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mii 01C430800000 3A50 cmp4.eq pr0, pr6 = r0, r8 010802900040 3A51 mov gp = r41 ;; // r1 = r41 010802300946 3A52 (pr6) mov tptr = r35 // r37 = r35 } 3A60 L$831: { .mii 012000100800 3A60 add in0 = @ltoff($LITERAL$+1992), // r32 = @ltoff($LITERAL$+1992), r1 // 071869 gp 012000006640 3A61 mov ai = 3 // r25 = 3 010800C50B00 3A62 adds out2 = 40, sp ;; // r44 = 40, r12 } { .mii 008002500980 3A70 ld1 r38 = [r37] // 071868 010802502880 3A71 adds r34 = 1, tptr // r34 = 1, r37 000008000000 3A72 nop.i 0 } { .mmi 0080C2000AC0 3A80 ld8 out1 = $LITERAL$ ;; // r43 = [r32] // 071869 01C802674240 3A81 cmp.eq pr9, pr0 = 58, r38 // 071868 000008000000 3A82 nop.i 0 ;; } { .mmi 010802200949 3A90 (pr9) mov tptr = r34 ;; // r37 = r34 010802500A80 3A91 mov out0 = tptr // r42 = r37 // 071869 000008000000 3A92 nop.i 0 } { .mfb 000008000000 3AA0 nop.m 0 000008000000 3AA1 nop.f 0 00A000001000 3AA2 br.call.sptk.many rp = DECC$TXSSCANF ;; // br0 = DECC$TXSSCANF } { .mib 01CC008021C0 3AB0 cmp4.eq pr7, pr0 = 1, r8 010802900040 3AB1 mov gp = r41 // r1 = r41 008600004007 3AB2 (pr7) br.cond.dpnt.many L$835 ;; } { .mfb 012018008200 3AC0 mov r8 = 388 000008000000 3AC1 nop.f 0 00800004D000 3AC2 br.sptk.many L$719 ;; } 3AD0 L$835: { .mii 010800C588C0 3AD0 adds r35 = 44, sp // r35 = 44, r12 // 071870 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 141 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 010800C50880 3AD1 adds r34 = 40, sp // r34 = 40, r12 000008000000 3AD2 nop.i 0 ;; } { .mmi 0080823008C0 3AE0 ld4 r35 = [r35] 008082200880 3AE1 ld4 r34 = [r34] 000008000000 3AE2 nop.i 0 ;; } { .mii 01008A3468C0 3AF0 shladd r35 = r35, 2, r35 010082244880 3AF1 shladd r34 = r34, 1, r34 ;; 01008A3468C0 3AF2 shladd r35 = r35, 2, r35 } { .mmi 01008A244880 3B00 shladd r34 = r34, 2, r34 ;; 0100923468C0 3B01 shladd r35 = r35, 3, r35 000008000000 3B02 nop.i 0 ;; } { .mmi 01008A246880 3B10 shladd r34 = r35, 2, r34 ;; 000008000000 3B11 nop.m 0 0000B2200880 3B12 sxt4 r34 = r34 ;; } { .mmi 010088044880 3B20 shladd r34 = r34, 2, r0 ;; 01008A244880 3B21 shladd r34 = r34, 2, r34 000008000000 3B22 nop.i 0 ;; } { .mmi 01008A244880 3B30 shladd r34 = r34, 2, r34 ;; 01008A244880 3B31 shladd r34 = r34, 2, r34 000008000000 3B32 nop.i 0 ;; } { .mmi 01008A244880 3B40 shladd r34 = r34, 2, r34 ;; 01008A244880 3B41 shladd r34 = r34, 2, r34 000008000000 3B42 nop.i 0 ;; } { .mmi 01008A244880 3B50 shladd r34 = r34, 2, r34 ;; 01008A244880 3B51 shladd r34 = r34, 2, r34 000008000000 3B52 nop.i 0 ;; } { .mii 000008000000 3B60 nop.m 0 00A7C3844880 3B61 shl r34 = r34, 7 ;; 01002A200880 3B62 sub r34 = r0, r34 ;; } { .mib 000008000000 3B70 nop.m 0 0000B22008C0 3B71 sxt4 zoffset = r34 // r35 = r34 004000000000 3B72 nop.b 0 } 3B80 L$821: // 071871 { .mii 010800C68800 3B80 adds in0 = 52, sp // r32 = 52, r12 // 071873 010800C700C0 3B81 adds r3 = 56, sp ;; // r3 = 56, r12 // 071874 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 142 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 010800C782C0 3B82 adds r11 = 60, sp // r11 = 60, r12 // 071875 } { .mii 010800C80440 3B90 adds r17 = 64, sp // r17 = 64, r12 // 071876 010800C88480 3B91 adds r18 = 68, sp // r18 = 68, r12 // 071877 010800C904C0 3B92 adds r19 = 72, sp ;; // r19 = 72, r12 // 071878 } { .mmi 010800C60500 3BA0 adds r20 = 48, sp // r20 = 48, r12 // 071879 008082000800 3BA1 ld4 in0 = [in0] // r32 = [r32] // 071873 010800C20240 3BA2 adds r9 = 16, sp ;; // r9 = 16, r12 } { .mmi 0080803000C0 3BB0 ld4 r3 = [r3] // 071874 008080B002C0 3BB1 ld4 r11 = [r11] // 071875 010800C24280 3BB2 adds r10 = 18, sp ;; // r10 = 18, r12 // 071874 } { .mmi 008081100440 3BC0 ld4 r17 = [r17] // 071876 008081200480 3BC1 ld4 r18 = [r18] // 071877 010800C28540 3BC2 adds r21 = 20, sp ;; // r21 = 20, r12 // 071875 } { .mmi 0080813004C0 3BD0 ld4 r19 = [r19] // 071878 008081400500 3BD1 ld4 r20 = [r20] // 071879 010800C2C580 3BD2 adds r22 = 22, sp ;; // r22 = 22, r12 // 071876 } { .mii 010800C305C0 3BE0 adds r23 = 24, sp // r23 = 24, r12 // 071877 010800C34600 3BE1 adds r24 = 26, sp // r24 = 26, r12 // 071878 010800C38640 3BE2 adds ai = 28, sp // r25 = 28, r12 // 071879 } { .mmi 008C40940000 3BF0 st2 [r9] = in0 ;; // [r9] = r32 // 071873 008C40A06000 3BF1 st2 [r10] = r3 // 071874 010800C40AC0 3BF2 adds out1 = 32, sp // r43 = 32, r12 // 071880 } { .mii 008C41516000 3C00 st2 [r21] = r11 // 071875 010800C20A80 3C01 adds out0 = 16, sp // r42 = 16, r12 // 071880 000008000000 3C02 nop.i 0 ;; } { .mmi 008C41622000 3C10 st2 [r22] = r17 // 071876 008C41724000 3C11 st2 [r23] = r18 // 071877 000008000000 3C12 nop.i 0 ;; } { .mmi 008C41826000 3C20 st2 [r24] = r19 // 071878 008C41928000 3C21 st2 [ai] = r20 // [r25] = r20 // 071879 012000004640 3C22 mov ai = 2 // r25 = 2 // 071880 } { .mfb 000008000000 3C30 nop.m 0 000008000000 3C31 nop.f 0 00A000001000 3C32 br.call.sptk.many rp = LIB$CVT_VECTIM ;; // br0 = LIB$CVT_VECTIM } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 143 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mib 010802900040 3C40 mov gp = r41 // r1 = r41 00A0308001C0 3C41 tbit.z pr7, pr6 = status, 0 // pr7, pr6 = r8, 0 // 071881 008600004006 3C42 (pr6) br.cond.dpnt.many L$836 ;; } { .mfb 000008000000 3C50 nop.m 0 000008000000 3C51 nop.f 0 008000019000 3C52 br.sptk.many L$1126 ;; } 3C60 L$836: { .mmi 0120080FE980 3C60 mov r38 = 255 ;; // 071883 010062648900 3C61 and r36 = offset, r38 // r36 = r36, r38 000008000000 3C62 nop.i 0 ;; } { .mfb 01C842456000 3C70 cmp.eq pr0, pr8 = 43, r36 000008000000 3C71 nop.f 0 008600008008 3C72 (pr8) br.cond.dpnt.many L$840 ;; } { .mii 010800C40940 3C80 adds r37 = 32, sp // r37 = 32, r12 // 071884 0000B23008C0 3C81 sxt4 r35 = zoffset // r35 = r35 010800C40880 3C82 adds r34 = 32, sp ;; // r34 = 32, r12 } { .mmi 0080C2500940 3C90 ld8 r37 = [r37] ;; 01002A34A8C0 3C91 sub r35 = r37, r35 000008000000 3C92 nop.i 0 ;; } { .mfb 008CC2246000 3CA0 st8 [r34] = r35 000008000000 3CA1 nop.f 0 00800000B000 3CA2 br.sptk.many L$842 ;; // 071885 } 3CB0 L$840: { .mfb 01C85245A000 3CB0 cmp.eq pr0, pr10 = 45, r36 // 071886 000008000000 3CB1 nop.f 0 00860000800A 3CB2 (pr10) br.cond.dpnt.many L$842 ;; } { .mii 010800C40800 3CC0 adds in0 = 32, sp // r32 = 32, r12 // 071887 0000B23008C0 3CC1 sxt4 r35 = zoffset // r35 = r35 010800C400C0 3CC2 adds r3 = 32, sp ;; // r3 = 32, r12 } { .mmi 0080C2000800 3CD0 ld8 in0 = [in0] ;; // r32 = [r32] 010002340800 3CD1 add in0 = in0, r35 // r32 = r32, r35 000008000000 3CD2 nop.i 0 ;; } { .mfi 008CC0340000 3CE0 st8 [r3] = in0 // [r3] = r32 000008000000 3CE1 nop.f 0 000008000000 3CE2 nop.i 0 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 144 HttpIsoTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 3CF0 L$842: { .mmi 010800C40240 3CF0 adds r9 = 32, sp ;; // r9 = 32, r12 // 071889 0080C0900240 3CF1 ld8 r9 = [r9] 000008000000 3CF2 nop.i 0 ;; } { .mfi 008CC2112000 3D00 st8 [in1] = r9 // [r33] = r9 000008000000 3D01 nop.f 0 000008000000 3D02 nop.i 0 } 3D10 L$1126: // 071891 { .mib 000008000000 3D10 nop.m 0 0000B0800200 3D11 sxt4 r8 = r8 004000000000 3D12 nop.b 0 ;; } 3D20 L$719: { .mii 000008000000 3D20 nop.m 0 000154050000 3D21 mov.i rspfs = r40 ;; 000E0014E000 3D22 mov rp = r39 // br0 = r39 } { .mfb 010800C80300 3D30 adds sp = 64, sp // r12 = 64, r12 000008000000 3D31 nop.f 0 000108001100 3D32 br.ret.sptk.many rp ;; // br0 } .endp HttpIsoTime Routine Size: 4368 bytes, Routine Base: $CODE$ + 2C30 .proc TimeSetHttpdUTC .align 32 .global TimeSetHttpdUTC TimeSetHttpdUTC: // 071902 { .mii 002C00D24AC0 3D40 alloc r43 = rspfs, 0, 13, 5, 0 012000100200 3D41 add r8 = @ltoff($LITERAL$+1968), // r8 = @ltoff($LITERAL$+1968), r1 // 071914 gp 012000060380 3D42 mov r14 = 48 // 071902 } { .mmi 012000100240 3D50 add r9 = @ltoff($LITERAL$+1968), // r9 = @ltoff($LITERAL$+1968), r1 // 071914 gp ;; 0080C0800200 3D51 ld8 r8 = $LITERAL$ // r8 = [r8] 010028E183C0 3D52 sub r15 = sp, r14 // r15 = r12, r14 // 071902 } { .mii 0080C0900240 3D60 ld8 r9 = $LITERAL$ // r9 = [r9] // 071914 0119F80FEA40 3D61 adds r41 = -1, r0 ;; // 071902 000188000A80 3D62 mov r42 = rp // r42 = br0 } { .mii 0080C0F00380 3D70 ld8 r14 = [r15] 010800F00300 3D71 mov sp = r15 // r12 = r15 010800100B00 3D72 mov r44 = gp ;; // r44 = r1 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 145 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mmi 008000800200 3D80 ld1 r8 = [r8] ;; // 073301 000008000000 3D81 nop.m 0 0000A0800200 3D82 sxt1 r8 = r8 ;; } { .mfb 01C000800200 3D90 cmp.eq pr8, pr0 = r0, r8 000008000000 3D91 nop.f 0 008600020008 3D92 (pr8) br.cond.dpnt.many L$642 ;; } 3DA0 L$643: { .mmi 010800902240 3DA0 adds r9 = 1, r9 ;; 008000900280 3DA1 ld1 r10 = [r9] 000008000000 3DA2 nop.i 0 ;; } { .mii 000008000000 3DB0 nop.m 0 0000A0A00280 3DB1 sxt1 r10 = r10 ;; 01C000A00280 3DB2 cmp.eq pr10, pr0 = r0, r10 } { .mfb 000008000000 3DC0 nop.m 0 000008000000 3DC1 nop.f 0 00860001A00A 3DC2 (pr10) br.cond.dpnt.many L$642 ;; } { .mmi 010800902240 3DD0 adds r9 = 1, r9 ;; 0080009002C0 3DD1 ld1 r11 = [r9] 000008000000 3DD2 nop.i 0 ;; } { .mii 000008000000 3DE0 nop.m 0 0000A0B002C0 3DE1 sxt1 r11 = r11 ;; 01C000B00300 3DE2 cmp.eq pr12, pr0 = r0, r11 } { .mfb 000008000000 3DF0 nop.m 0 000008000000 3DF1 nop.f 0 00860001400C 3DF2 (pr12) br.cond.dpnt.many L$642 ;; } { .mmi 010800902240 3E00 adds r9 = 1, r9 ;; 008000900440 3E01 ld1 r17 = [r9] 000008000000 3E02 nop.i 0 ;; } { .mii 000008000000 3E10 nop.m 0 0000A1100440 3E11 sxt1 r17 = r17 ;; 01C001100380 3E12 cmp.eq pr14, pr0 = r0, r17 } { .mfb 000008000000 3E20 nop.m 0 000008000000 3E21 nop.f 0 00860000E00E 3E22 (pr14) br.cond.dpnt.many L$642 ;; } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 146 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mmi 010800902240 3E30 adds r9 = 1, r9 ;; 008000900480 3E31 ld1 r18 = [r9] 000008000000 3E32 nop.i 0 ;; } { .mii 000008000000 3E40 nop.m 0 0000A1200480 3E41 sxt1 r18 = r18 ;; 01C001200180 3E42 cmp.eq pr6, pr0 = r0, r18 } { .mfb 000008000000 3E50 nop.m 0 000008000000 3E51 nop.f 0 008600008006 3E52 (pr6) br.cond.dpnt.many L$642 ;; } { .mmi 010800902240 3E60 adds r9 = 1, r9 ;; 0080009004C0 3E61 ld1 r19 = [r9] 010840900500 3E62 adds r20 = 1024, r9 ;; } { .mii 00CB01400000 3E70 lfetch [r20] 0000A13004C0 3E71 sxt1 r19 = r19 ;; 01C039300000 3E72 cmp.eq pr0, pr7 = r0, r19 } { .mfb 000008000000 3E80 nop.m 0 000008000000 3E81 nop.f 0 0095FFFE4007 3E82 (pr7) br.cond.dptk.many L$643 ;; } 3E90 L$642: { .mii 012000100880 3E90 add r34 = @ltoffx(LogValue), gp // r34 = @ltoffx(LogValue), r1 // 073305 012000100800 3E91 add r32 = @ltoff($LITERAL$+1968), // r32 = @ltoff($LITERAL$+1968), r1 // 071914 gp 012010000B80 3E92 mov out1 = 256 ;; // r46 = 256 // 073305 } { .mmi 0080C2200880 3EA0 ld8.mov r34 = [r34], LogValue 0080C2000800 3EA1 ld8 r32 = $LITERAL$ // r32 = [r32] // 071914 000008000000 3EA2 nop.i 0 ;; } { .mib 010802200B40 3EB0 mov out0 = r34 // r45 = r34 // 073305 01002A012840 3EB1 sub r33 = cptr, r32 // r33 = r9, r32 // 073302 00A000001000 3EB2 br.call.sptk.many rp = OTS$ZERO ;; // br0 = OTS$ZERO // 073305 } { .mii 010802C00040 3EC0 mov gp = r44 // r1 = r44 01200000A640 3EC1 mov ai = 5 // r25 = 5 // 073307 012000000C00 3EC2 mov out3 = 0 // r48 = 0 } { .mmi 012000000B40 3ED0 mov out0 = 0 ;; // r45 = 0 0120001009C0 3ED1 add r39 = @ltoffx(LnmItems), gp // r39 = @ltoffx(LnmItems), r1 0120001008C0 3ED2 add r35 = @gprel(LogNameDsc), gp // r35 = @gprel(LogNameDsc), r1 // 073302 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 147 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mmi 012000100980 3EE0 add r38 = @gprel(LnmTableDsc), gp ;; // r38 = @gprel(LnmTableDsc), r1 // 073307 0080C27009C0 3EE1 ld8.mov r39 = [r39], LnmItems 010802610BC0 3EE2 adds out2 = 8, r38 // r47 = 8, r38 } { .mmi 010802600B80 3EF0 mov out1 = r38 ;; // r46 = r38 00AC42342100 3EF1 st2 [r35] = r33, 4 // 073302 010802700C40 3EF2 mov out4 = r39 ;; // r49 = r39 // 073307 } { .mfb 00BC8A341F00 3F00 st4 [r35] = r32, -4 // 073303 000008000000 3F01 nop.f 0 00A000001000 3F02 br.call.sptk.many rp = SYS$TRNLNM ;; // br0 = SYS$TRNLNM // 073307 } { .mii 010802C00040 3F10 mov gp = r44 // r1 = r44 012040000800 3F11 mov r32 = 1024 // 073308 00A0308001C0 3F12 tbit.z pr7, pr6 = r8, 0 ;; } { .mmi 012000100840 3F20 add r33 = @gprel(LnmAttributes), // r33 = @gprel(LnmAttributes), r1 gp ;; 008082100900 3F21 ld4 r36 = [r33] 000008000000 3F22 nop.i 0 ;; } { .mmi 010062048800 3F30 and r32 = r36, r32 ;; 01C402000240 3F31 cmp4.eq pr9, pr0 = r0, r32 000008000000 3F32 nop.i 0 ;; } { .mmi 01C2300001C9 3F40 (pr9) cmp.eq.or.andcm pr7, pr6 = r0, r0 ;; 010800000B47 3F41 (pr7) mov out0 = r0 // r45 = r0 000008000000 3F42 nop.i 0 ;; } { .mmi 010802200B46 3F50 (pr6) mov out0 = r34 ;; // r45 = r34 010802D00940 3F51 mov cptr = out0 // r37 = r45 // 071914 01C45005A000 3F52 cmp4.eq pr0, pr10 = out0, r0 // pr0, pr10 = r45, r0 } { .mfb 000008000000 3F60 nop.m 0 000008000000 3F61 nop.f 0 00860007C00A 3F62 (pr10) br.cond.dpnt.many L$650 ;; } { .mii 0120001000C0 3F70 add r3 = @ltoff($LITERAL$+1952), // r3 = @ltoff($LITERAL$+1952), r1 // 071915 gp 012000100240 3F71 add r9 = @ltoff($LITERAL$+1952), // r9 = @ltoff($LITERAL$+1952), r1 gp 000008000000 3F72 nop.i 0 ;; } { .mmi 0080C03000C0 3F80 ld8 r3 = $LITERAL$ // r3 = [r3] 0080C0900240 3F81 ld8 r9 = $LITERAL$ // r9 = [r9] 000008000000 3F82 nop.i 0 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 148 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mmi 0080003000C0 3F90 ld1 r3 = [r3] ;; // 073301 000008000000 3F91 nop.m 0 0000A03000C0 3F92 sxt1 r3 = r3 ;; } { .mfb 01C000300340 3FA0 cmp.eq pr13, pr0 = r0, r3 000008000000 3FA1 nop.f 0 00860002000D 3FA2 (pr13) br.cond.dpnt.many L$653 ;; } 3FB0 L$654: { .mmi 010800902240 3FB0 adds r9 = 1, r9 ;; 008000900280 3FB1 ld1 r10 = [r9] 000008000000 3FB2 nop.i 0 ;; } { .mii 000008000000 3FC0 nop.m 0 0000A0A00280 3FC1 sxt1 r10 = r10 ;; 01C000A003C0 3FC2 cmp.eq pr15, pr0 = r0, r10 } { .mfb 000008000000 3FD0 nop.m 0 000008000000 3FD1 nop.f 0 00860001A00F 3FD2 (pr15) br.cond.dpnt.many L$653 ;; } { .mmi 010800902240 3FE0 adds r9 = 1, r9 ;; 0080009002C0 3FE1 ld1 r11 = [r9] 000008000000 3FE2 nop.i 0 ;; } { .mii 000008000000 3FF0 nop.m 0 0000A0B002C0 3FF1 sxt1 r11 = r11 ;; 01C000B00240 3FF2 cmp.eq pr9, pr0 = r0, r11 } { .mfb 000008000000 4000 nop.m 0 000008000000 4001 nop.f 0 008600014009 4002 (pr9) br.cond.dpnt.many L$653 ;; } { .mmi 010800902240 4010 adds r9 = 1, r9 ;; 008000900440 4011 ld1 r17 = [r9] 000008000000 4012 nop.i 0 ;; } { .mii 000008000000 4020 nop.m 0 0000A1100440 4021 sxt1 r17 = r17 ;; 01C0011001C0 4022 cmp.eq pr7, pr0 = r0, r17 } { .mfb 000008000000 4030 nop.m 0 000008000000 4031 nop.f 0 00860000E007 4032 (pr7) br.cond.dpnt.many L$653 ;; } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 149 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mmi 010800902240 4040 adds r9 = 1, r9 ;; 008000900480 4041 ld1 r18 = [r9] 000008000000 4042 nop.i 0 ;; } { .mii 000008000000 4050 nop.m 0 0000A1200480 4051 sxt1 r18 = r18 ;; 01C0012002C0 4052 cmp.eq pr11, pr0 = r0, r18 } { .mfb 000008000000 4060 nop.m 0 000008000000 4061 nop.f 0 00860000800B 4062 (pr11) br.cond.dpnt.many L$653 ;; } { .mmi 010800902240 4070 adds r9 = 1, r9 ;; 0080009004C0 4071 ld1 r19 = [r9] 010840900500 4072 adds r20 = 1024, r9 ;; } { .mii 00CB01400000 4080 lfetch [r20] 0000A13004C0 4081 sxt1 r19 = r19 ;; 01C061300000 4082 cmp.eq pr0, pr12 = r0, r19 } { .mfb 000008000000 4090 nop.m 0 000008000000 4091 nop.f 0 0095FFFE400C 4092 (pr12) br.cond.dptk.many L$654 ;; } 40A0 L$653: { .mii 012000100900 40A0 add r36 = @ltoff($LITERAL$+1952), // r36 = @ltoff($LITERAL$+1952), r1 // 071915 gp 012010000B80 40A1 mov out1 = 256 // r46 = 256 // 073305 010802200B40 40A2 mov out0 = r34 ;; // r45 = r34 } { .mmi 0080C2400900 40B0 ld8 r36 = $LITERAL$ ;; // r36 = [r36] // 071915 01002A412800 40B1 sub r32 = cptr, r36 // r32 = r9, r36 // 073302 000008000000 40B2 nop.i 0 } { .mfb 000008000000 40C0 nop.m 0 000008000000 40C1 nop.f 0 00A000001000 40C2 br.call.sptk.many rp = OTS$ZERO ;; // br0 = OTS$ZERO // 073305 } { .mmi 010802610BC0 40D0 adds out2 = 8, r38 // r47 = 8, r38 // 073307 00AC42340100 40D1 st2 [r35] = r32, 4 // 073302 01200000A640 40D2 mov ai = 5 ;; // r25 = 5 // 073307 } { .mii 010802700C40 40E0 mov out4 = r39 // r49 = r39 012000000C00 40E1 mov out3 = 0 // r48 = 0 010802600B80 40E2 mov out1 = r38 // r46 = r38 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 150 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mmi 012000000B40 40F0 mov out0 = 0 ;; // r45 = 0 00BC8A349F00 40F1 st4 [r35] = r36, -4 // 073303 010802C00040 40F2 mov gp = r44 ;; // r1 = r44 // 073305 } { .mfb 000008000000 4100 nop.m 0 000008000000 4101 nop.f 0 00A000001000 4102 br.call.sptk.many rp = SYS$TRNLNM ;; // br0 = SYS$TRNLNM // 073307 } { .mii 008082100800 4110 ld4 r32 = [r33] // 073308 012040000940 4111 mov r37 = 1024 00A0308001C0 4112 tbit.z pr7, pr6 = r8, 0 ;; } { .mii 010062540800 4120 and r32 = r32, r37 010802C00040 4121 mov gp = r44 ;; // r1 = r44 // 073307 01C402000240 4122 cmp4.eq pr9, pr0 = r0, r32 ;; // 073308 } { .mmi 01C2300001C9 4130 (pr9) cmp.eq.or.andcm pr7, pr6 = r0, r0 ;; 010800000907 4131 (pr7) mov r36 = r0 000008000000 4132 nop.i 0 ;; } { .mmi 010802200906 4140 (pr6) mov r36 = r34 ;; 010802400940 4141 mov cptr = r36 // r37 = r36 // 071915 01C450048000 4142 cmp4.eq pr0, pr10 = r36, r0 } { .mfb 000008000000 4150 nop.m 0 000008000000 4151 nop.f 0 00860003E00A 4152 (pr10) br.cond.dpnt.many L$650 ;; } { .mii 0120001000C0 4160 add r3 = @ltoff($LITERAL$+1936), // r3 = @ltoff($LITERAL$+1936), r1 // 071916 gp 012000100240 4161 add r9 = @ltoff($LITERAL$+1936), // r9 = @ltoff($LITERAL$+1936), r1 gp 000008000000 4162 nop.i 0 ;; } { .mmi 0080C03000C0 4170 ld8 r3 = $LITERAL$ // r3 = [r3] 0080C0900240 4171 ld8 r9 = $LITERAL$ // r9 = [r9] 000008000000 4172 nop.i 0 ;; } { .mmi 0080003000C0 4180 ld1 r3 = [r3] ;; // 073301 000008000000 4181 nop.m 0 0000A03000C0 4182 sxt1 r3 = r3 ;; } { .mfb 01C000300340 4190 cmp.eq pr13, pr0 = r0, r3 000008000000 4191 nop.f 0 00860002000D 4192 (pr13) br.cond.dpnt.many L$663 ;; } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 151 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 41A0 L$664: { .mmi 010800902240 41A0 adds r9 = 1, r9 ;; 008000900280 41A1 ld1 r10 = [r9] 000008000000 41A2 nop.i 0 ;; } { .mii 000008000000 41B0 nop.m 0 0000A0A00280 41B1 sxt1 r10 = r10 ;; 01C000A003C0 41B2 cmp.eq pr15, pr0 = r0, r10 } { .mfb 000008000000 41C0 nop.m 0 000008000000 41C1 nop.f 0 00860001A00F 41C2 (pr15) br.cond.dpnt.many L$663 ;; } { .mmi 010800902240 41D0 adds r9 = 1, r9 ;; 0080009002C0 41D1 ld1 r11 = [r9] 000008000000 41D2 nop.i 0 ;; } { .mii 000008000000 41E0 nop.m 0 0000A0B002C0 41E1 sxt1 r11 = r11 ;; 01C000B00240 41E2 cmp.eq pr9, pr0 = r0, r11 } { .mfb 000008000000 41F0 nop.m 0 000008000000 41F1 nop.f 0 008600014009 41F2 (pr9) br.cond.dpnt.many L$663 ;; } { .mmi 010800902240 4200 adds r9 = 1, r9 ;; 008000900440 4201 ld1 r17 = [r9] 000008000000 4202 nop.i 0 ;; } { .mii 000008000000 4210 nop.m 0 0000A1100440 4211 sxt1 r17 = r17 ;; 01C0011001C0 4212 cmp.eq pr7, pr0 = r0, r17 } { .mfb 000008000000 4220 nop.m 0 000008000000 4221 nop.f 0 00860000E007 4222 (pr7) br.cond.dpnt.many L$663 ;; } { .mmi 010800902240 4230 adds r9 = 1, r9 ;; 008000900480 4231 ld1 r18 = [r9] 000008000000 4232 nop.i 0 ;; } { .mii 000008000000 4240 nop.m 0 0000A1200480 4241 sxt1 r18 = r18 ;; 01C0012002C0 4242 cmp.eq pr11, pr0 = r0, r18 } { .mfb Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 152 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 4250 nop.m 0 000008000000 4251 nop.f 0 00860000800B 4252 (pr11) br.cond.dpnt.many L$663 ;; } { .mmi 010800902240 4260 adds r9 = 1, r9 ;; 0080009004C0 4261 ld1 r19 = [r9] 010840900500 4262 adds r20 = 1024, r9 ;; } { .mii 00CB01400000 4270 lfetch [r20] 0000A13004C0 4271 sxt1 r19 = r19 ;; 01C061300000 4272 cmp.eq pr0, pr12 = r0, r19 } { .mfb 000008000000 4280 nop.m 0 000008000000 4281 nop.f 0 0095FFFE400C 4282 (pr12) br.cond.dptk.many L$664 ;; } 4290 L$663: { .mii 012000100800 4290 add r32 = @ltoff($LITERAL$+1936), // r32 = @ltoff($LITERAL$+1936), r1 // 071916 gp 012010000B80 4291 mov out1 = 256 // r46 = 256 // 073305 010802200B40 4292 mov out0 = r34 ;; // r45 = r34 } { .mmi 0080C2000800 42A0 ld8 r32 = $LITERAL$ ;; // r32 = [r32] // 071916 01002A012900 42A1 sub r36 = cptr, r32 // r36 = r9, r32 // 073302 000008000000 42A2 nop.i 0 } { .mfb 000008000000 42B0 nop.m 0 000008000000 42B1 nop.f 0 00A000001000 42B2 br.call.sptk.many rp = OTS$ZERO ;; // br0 = OTS$ZERO // 073305 } { .mmi 010802610BC0 42C0 adds out2 = 8, r38 // r47 = 8, r38 // 073307 00AC42348100 42C1 st2 [r35] = r36, 4 // 073302 01200000A640 42C2 mov ai = 5 ;; // r25 = 5 // 073307 } { .mii 010802700C40 42D0 mov out4 = r39 // r49 = r39 012000000C00 42D1 mov out3 = 0 // r48 = 0 010802600B80 42D2 mov out1 = r38 // r46 = r38 } { .mmi 012000000B40 42E0 mov out0 = 0 ;; // r45 = 0 00BC8A341F00 42E1 st4 [r35] = r32, -4 // 073303 010802C00040 42E2 mov gp = r44 ;; // r1 = r44 // 073305 } { .mfb 000008000000 42F0 nop.m 0 000008000000 42F1 nop.f 0 00A000001000 42F2 br.call.sptk.many rp = SYS$TRNLNM ;; // br0 = SYS$TRNLNM // 073307 } { .mii Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 153 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 008082100900 4300 ld4 r36 = [r33] // 073308 012040000940 4301 mov r37 = 1024 00A0308001C0 4302 tbit.z pr7, pr6 = r8, 0 ;; } { .mii 010062548900 4310 and r36 = r36, r37 010802C00040 4311 mov gp = r44 ;; // r1 = r44 // 073307 01C402400240 4312 cmp4.eq pr9, pr0 = r0, r36 ;; // 073308 } { .mmi 01C2300001C9 4320 (pr9) cmp.eq.or.andcm pr7, pr6 = r0, r0 ;; 010800000807 4321 (pr7) mov r32 = r0 000008000000 4322 nop.i 0 ;; } { .mmi 010802200806 4330 (pr6) mov r32 = r34 ;; 010802000940 4331 mov cptr = r32 // r37 = r32 // 071916 000008000000 4332 nop.i 0 ;; } 4340 L$650: { .mfb 01C40004A2C0 4340 cmp4.eq pr11, pr0 = cptr, r0 // pr11, pr0 = r37, r0 // 071918 000008000000 4341 nop.f 0 00860006800B 4342 (pr11) br.cond.dpnt.many L$672 ;; } { .mii 0080025000C0 4350 ld1 r3 = [r37] // 071921 0108025022C0 4351 adds r11 = 1, cptr // r11 = 1, r37 012000002640 4352 mov ai = 1 ;; // r25 = 1 // 071922 } { .mii 010800B00280 4360 mov r10 = r11 // 071921 01C86035A000 4361 cmp.eq pr0, pr12 = 45, r3 01C868356000 4362 cmp.eq pr0, pr13 = 43, r3 } { .mmi 010802500900 4370 mov sptr = cptr ;; // r36 = r37 // 071920 01080250028C 4371 (pr12) mov r10 = cptr // r10 = r37 // 071921 000008000000 4372 nop.i 0 ;; } { .mmi 010800A002CD 4380 (pr13) mov r11 = r10 ;; 010800B00B40 4381 mov out0 = r11 // r45 = r11 // 071922 010800B00940 4382 mov cptr = r11 // r37 = r11 // 071921 } { .mfb 000008000000 4390 nop.m 0 000008000000 4391 nop.f 0 00A000001000 4392 br.call.sptk.many rp = DECC$ATOI ;; // br0 = DECC$ATOI // 071922 } { .mii 010802C00040 43A0 mov gp = r44 // r1 = r44 010800800800 43A1 mov hh = r8 ;; // r32 = r8 012000100A40 43A2 add r41 = // r41 = @ltoffx(DECC$$GL___CTYPEA), r1 // 071923 @ltoffx(DECC$$GL___CTYPEA), gp } { .mmi Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 154 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 012000100A00 43B0 add r40 = // r40 = @ltoffx(DECC$$GA___CTYPET), r1 // 071924 @ltoffx(DECC$$GA___CTYPET), gp ;; 0080C2900A40 43B1 ld8.mov r41 = [r41], DECC$$GL___CTYPEA // 071923 000008000000 43B2 nop.i 0 } { .mfi 0080C2800A00 43C0 ld8.mov r40 = [r40], DECC$$GA___CTYPET // 071924 000008000000 43C1 nop.f 0 000008000000 43C2 nop.i 0 ;; } 43D0 L$673: // 071923 { .mmi 008002500B40 43D0 ld1 out0 = [r37] // r45 = [r37] 0080829000C0 43D1 ld4 r3 = [r41] 000008000000 43D2 nop.i 0 ;; } { .mib 01C4003001C0 43E0 cmp4.eq pr7, pr0 = r0, r3 0000A2D00280 43E1 sxt1 r10 = out0 // r10 = r45 004000000000 43E2 nop.b 0 } { .mfb 0080828002C0 43F0 ld4 r11 = [r40] 000008000000 43F1 nop.f 0 008600018007 43F2 (pr7) br.cond.dpnt.many L$675 ;; } { .mii 000008000000 4400 nop.m 0 0000B0B002C0 4401 sxt4 r11 = r11 ;; 010088B142C0 4402 shladd r11 = r10, 2, r11 ;; } { .mmi 008080B002C0 4410 ld4 r11 = [r11] ;; 010160B082C0 4411 and r11 = 4, r11 000008000000 4412 nop.i 0 ;; } { .mfb 01C440B00000 4420 cmp4.eq pr0, pr8 = r0, r11 000008000000 4421 nop.f 0 008600016008 4422 (pr8) br.cond.dpnt.many L$676 ;; } 4430 L$678: // 071924 { .mmi 008002500B40 4430 ld1 out0 = [r37] // r45 = [r37] 0080829000C0 4431 ld4 r3 = [r41] 000008000000 4432 nop.i 0 ;; } { .mib 01C400300240 4440 cmp4.eq pr9, pr0 = r0, r3 0000A2D00280 4441 sxt1 r10 = out0 // r10 = r45 004000000000 4442 nop.b 0 } { .mfb 0080828002C0 4450 ld4 r11 = [r40] 000008000000 4451 nop.f 0 008600014009 4452 (pr9) br.cond.dpnt.many L$680 ;; } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 155 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mii 000008000000 4460 nop.m 0 0000B0B002C0 4461 sxt4 r11 = r11 ;; 010088B142C0 4462 shladd r11 = r10, 2, r11 ;; } { .mmi 008080B002C0 4470 ld4 r11 = [r11] ;; 010160B082C0 4471 and r11 = 4, r11 000008000000 4472 nop.i 0 ;; } { .mbb 01C450B00000 4480 cmp4.eq pr0, pr10 = r0, r11 00860001600A 4481 (pr10) br.cond.dpnt.many L$681 004000000000 4482 nop.b 0 ;; } { .mfi 010802502940 4490 adds r37 = 1, r37 000008000000 4491 nop.f 0 000008000000 4492 nop.i 0 ;; } { .mfb 000008000000 44A0 nop.m 0 000008000000 44A1 nop.f 0 0091FFFF3000 44A2 br.sptk.many L$678 ;; } 44B0 L$675: // 071923 { .mib 012000002640 44B0 mov ai = 1 // r25 = 1 0000B0A00B40 44B1 sxt4 out0 = r10 // r45 = r10 00A000001000 44B2 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C4008001C0 44C0 cmp4.eq pr7, pr0 = r0, r8 010802C00040 44C1 mov gp = r44 // r1 = r44 0095FFFEE007 44C2 (pr7) br.cond.dptk.many L$678 ;; } 44D0 L$676: { .mfi 010802502940 44D0 adds r37 = 1, r37 000008000000 44D1 nop.f 0 000008000000 44D2 nop.i 0 ;; } { .mfb 000008000000 44E0 nop.m 0 000008000000 44E1 nop.f 0 0091FFFDF000 44E2 br.sptk.many L$673 ;; } 44F0 L$680: // 071924 { .mib 012000002640 44F0 mov ai = 1 // r25 = 1 0000B0A00B40 44F1 sxt4 out0 = r10 // r45 = r10 00A000001000 44F2 br.call.sptk.many rp = DECC$ISDIGIT ;; // br0 = DECC$ISDIGIT } { .mib 01C430800000 4500 cmp4.eq pr0, pr6 = r0, r8 010802C00040 4501 mov gp = r44 // r1 = r44 008600006006 4502 (pr6) br.cond.dpnt.many L$681 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 156 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mfi 010802502940 4510 adds r37 = 1, r37 000008000000 4511 nop.f 0 000008000000 4512 nop.i 0 ;; } { .mfb 000008000000 4520 nop.m 0 000008000000 4521 nop.f 0 0091FFFE3000 4522 br.sptk.many L$678 ;; } 4530 L$681: { .mib 012000002640 4530 mov ai = 1 // r25 = 1 // 071925 010802500B40 4531 mov out0 = cptr // r45 = r37 00A000001000 4532 br.call.sptk.many rp = DECC$ATOI ;; // br0 = DECC$ATOI } { .mii 018400010240 4540 cmp4.lt pr9, pr0 = r8, r0 // 071926 01AC3202E1C0 4541 cmp4.ltu pr7, pr6 = 23, hh // pr7, pr6 = 23, r32 018C020762C0 4542 cmp4.lt pr11, pr0 = 59, hh // pr11, pr0 = 59, r32 } { .mmi 010800800A00 4550 mov mm = r8 ;; // r40 = r8 // 071925 01C2300001C9 4551 (pr9) cmp.eq.or.andcm pr7, pr6 = r0, r0 // 071926 010802C00040 4552 mov gp = r44 ;; // r1 = r44 // 071925 } { .mfb 01C2000001CB 4560 (pr11) cmp.eq.or.andcm pr7, pr0 = r0, r0 // 071926 000008000000 4561 nop.f 0 008600022007 4562 (pr7) br.cond.dpnt.many L$684 ;; } { .mii 010082040A40 4570 shladd r41 = hh, 1, hh // r41 = r32, 1, r32 // 071928 0120580400C0 4571 mov r3 = 1440 ;; // 071929 01008A952A40 4572 shladd r41 = r41, 2, r41 ;; // 071928 } { .mmi 010088852A40 4580 shladd offset = r41, 2, r8 ;; // r41 = r41, 2, r8 01A402906340 4581 cmp4.ltu pr13, pr0 = r3, offset // pr13, pr0 = r3, r41 // 071929 000008000000 4582 nop.i 0 } { .mfb 000008000000 4590 nop.m 0 000008000000 4591 nop.f 0 00860001400D 4592 (pr13) br.cond.dpnt.many L$686 ;; } { .mii 008002400240 45A0 ld1 r9 = [r36] // 071931 01002A900280 45A1 sub r10 = r0, offset // r10 = r0, r41 012000100440 45A2 add r17 = @ltoffx(TimeUtcDelta64), // r17 = @ltoffx(TimeUtcDelta64), r1 // 071932 gp ;; } { .mmi 01C80095A3C0 45B0 cmp.eq pr15, pr0 = 45, r9 // 071931 0080C1100440 45B1 ld8.mov r17 = [r17], TimeUtcDelta64 // 071932 000008000000 45B2 nop.i 0 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 157 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mmi 010800A00A4F 45C0 (pr15) mov offset = r10 ;; // r41 = r10 // 071931 000008000000 45C1 nop.m 0 0000B29002C0 45C2 sxt4 r11 = offset ;; // r11 = r41 // 071932 } { .mmi 010080B162C0 45D0 shladd r11 = r11, 1, r11 ;; 010088B162C0 45D1 shladd r11 = r11, 2, r11 000008000000 45D2 nop.i 0 ;; } { .mmi 010088B162C0 45E0 shladd r11 = r11, 2, r11 ;; 010088B162C0 45E1 shladd r11 = r11, 2, r11 000008000000 45E2 nop.i 0 ;; } { .mmi 010088B162C0 45F0 shladd r11 = r11, 2, r11 ;; 010088B162C0 45F1 shladd r11 = r11, 2, r11 000008000000 45F2 nop.i 0 ;; } { .mmi 010088B162C0 4600 shladd r11 = r11, 2, r11 ;; 010088B162C0 4601 shladd r11 = r11, 2, r11 000008000000 4602 nop.i 0 ;; } { .mmi 010088B162C0 4610 shladd r11 = r11, 2, r11 ;; 000008000000 4611 nop.m 0 00A7B36162C0 4612 shl r11 = r11, 9 ;; } { .mfb 008CC1116000 4620 st8 TimeUtcDelta64 = r11 // [r17] = r11 000008000000 4621 nop.f 0 008000005000 4622 br.sptk.many L$687 ;; // 071934 } 4630 L$686: { .mfi 010800000940 4630 mov cptr = r0 // r37 = r0 // 071935 000008000000 4631 nop.f 0 000008000000 4632 nop.i 0 } 4640 L$687: { .mii 008002400480 4640 ld1 r18 = [r36] // 071936 0120001004C0 4641 add r19 = @ltoff($LITERAL$+1928), // r19 = @ltoff($LITERAL$+1928), r1 gp ;; 01C80125A200 4642 cmp.eq pr8, pr0 = 45, r18 } { .mii 0080C1300500 4650 ld8 r20 = $LITERAL$ // r20 = [r19] 01C849256000 4651 cmp.eq pr0, pr9 = 43, r18 ;; 010802400508 4652 (pr8) mov r20 = sptr ;; // r20 = r36 } { .mfb 010801400909 4660 (pr9) mov sptr = r20 // r36 = r20 000008000000 4661 nop.f 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 158 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 008000005000 4662 br.sptk.many L$672 ;; } 4670 L$684: // 071938 { .mfi 010800000940 4670 mov cptr = r0 // r37 = r0 // 071939 000008000000 4671 nop.f 0 000008000000 4672 nop.i 0 ;; } 4680 L$672: // 071940 { .mfb 01C45804A000 4680 cmp4.eq pr0, pr11 = cptr, r0 // pr0, pr11 = r37, r0 // 071942 000008000000 4681 nop.f 0 00860003600B 4682 (pr11) br.cond.dpnt.many L$688 ;; } { .mib 012000002640 4690 mov ai = 1 // r25 = 1 // 071945 010800C60B40 4691 adds out0 = 48, sp // r45 = 48, r12 00A000001000 4692 br.call.sptk.many rp = SYS$GETUTC ;; // br0 = SYS$GETUTC } { .mii 012000004640 46A0 mov ai = 2 // r25 = 2 // 071946 010800C60B80 46A1 adds out1 = 48, sp // r46 = 48, r12 010800C20B40 46A2 adds out0 = 16, sp // r45 = 16, r12 } { .mfb 010802C00040 46B0 mov gp = r44 // r1 = r44 // 071945 000008000000 46B1 nop.f 0 004000000000 46B2 nop.b 0 ;; } { .mfb 000008000000 46C0 nop.m 0 000008000000 46C1 nop.f 0 00A000001000 46C2 br.call.sptk.many rp = SYS$NUMUTC ;; // br0 = SYS$NUMUTC // 071946 } { .mii 010800C50940 46D0 adds r37 = 40, sp // r37 = 40, r12 // 071948 010802C00040 46D1 mov gp = r44 ;; // r1 = r44 // 071946 012000100900 46D2 add r36 = @ltoffx(TimeUtcDelta64), // r36 = @ltoffx(TimeUtcDelta64), r1 // 071949 gp } { .mmi 008042500A40 46E0 ld2 offset = [r37] ;; // r41 = [r37] // 071948 010082952800 46E1 shladd r32 = offset, 1, offset // r32 = r41, 1, r41 // 071949 000008000000 46E2 nop.i 0 } { .mmi 0080C2400900 46F0 ld8.mov r36 = [r36], TimeUtcDelta64 ;; 01008A040800 46F1 shladd r32 = r32, 2, r32 000008000000 46F2 nop.i 0 ;; } { .mmi 01008A040800 4700 shladd r32 = r32, 2, r32 ;; 01008A040800 4701 shladd r32 = r32, 2, r32 000008000000 4702 nop.i 0 ;; } { .mmi 01008A040800 4710 shladd r32 = r32, 2, r32 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 159 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 01008A040800 4711 shladd r32 = r32, 2, r32 000008000000 4712 nop.i 0 ;; } { .mmi 01008A040800 4720 shladd r32 = r32, 2, r32 ;; 01008A040800 4721 shladd r32 = r32, 2, r32 000008000000 4722 nop.i 0 ;; } { .mmi 01008A040800 4730 shladd r32 = r32, 2, r32 ;; 000008000000 4731 nop.m 0 00A7B3640800 4732 shl r32 = r32, 9 ;; } { .mib 008CC2440000 4740 st8 [r36] = r32 01C032000000 4741 cmp.eq pr0, pr6 = r0, r32 // 071950 008600004006 4742 (pr6) br.cond.dpnt.many L$690 ;; } { .mmi 0137978C00C0 4750 addl r3 = -100000, r0 ;; 008CC2406000 4751 st8 [r36] = r3 000008000000 4752 nop.i 0 } 4760 L$690: { .mfb 018400052200 4760 cmp4.lt pr8, pr0 = offset, r0 // pr8, pr0 = r41, r0 // 071951 000008000000 4761 nop.f 0 008600004008 4762 (pr8) br.cond.dpnt.many L$692 ;; } { .mfb 012000100900 4770 add r36 = @ltoff($LITERAL$+1928), // r36 = @ltoff($LITERAL$+1928), r1 // 071952 gp 000008000000 4771 nop.f 0 008000005000 4772 br.sptk.many L$1129 ;; } 4780 L$692: // 071953 { .mii 012000100900 4780 add r36 = @ltoff($LITERAL$+1920), // r36 = @ltoff($LITERAL$+1920), r1 // 071955 gp 01002A900A40 4781 sub offset = r0, offset // r41 = r0, r41 // 071956 000008000000 4782 nop.i 0 } 4790 L$1129: // 071955 { .mlx 01200004A2C0 4790 mov r11 = 37 // 071958 000000000222 4791 movl r10 = 2290649225 ;; 0191140245 } { .mib 00C708014200 47A0 setf.sig f8 = r10 0000B2900200 47A1 sxt4 r8 = offset // r8 = r41 004000000000 47A2 nop.b 0 } { .mmi 0080C2400900 47B0 ld8 r36 = $LITERAL$ ;; // r36 = [r36] // 071955 018000010280 47B1 cmp.lt pr10, pr0 = r8, r0 // 071958 010800800240 47B2 mov r9 = r8 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 160 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mmi 0180000102C0 47C0 cmp.lt pr11, pr0 = r8, r0 ;; 01002880024A 47C1 (pr10) sub r9 = r0, r8 000008000000 47C2 nop.i 0 ;; } { .mfi 00C7080121C0 47D0 setf.sig f7 = r9 000008000000 47D1 nop.f 0 000008000000 47D2 nop.i 0 ;; } { .mfi 000008000000 47E0 nop.m 0 01D040700180 47E1 xma.l f6 = f7, f8, f0 000008000000 47E2 nop.i 0 ;; } { .mmi 00870800C240 47F0 getf.sig r9 = f6 ;; 000008000000 47F1 nop.m 0 00F200916480 47F2 shr.u r18 = r9, r11 ;; } { .mmi 010029200440 4800 sub r17 = r0, r18 ;; 01080110048B 4801 (pr11) mov r18 = r17 000008000000 4802 nop.i 0 ;; } { .mii 0100812244C0 4810 shladd r19 = r18, 1, r18 // 071959 010801200800 4811 mov hh = r18 ;; // r32 = r18 // 071958 0100893264C0 4812 shladd r19 = r19, 2, r19 ;; // 071959 } { .mmi 0100880264C0 4820 shladd r19 = r19, 2, r0 ;; 010029352A00 4821 sub mm = offset, r19 // r40 = r41, r19 000008000000 4822 nop.i 0 } 4830 L$688: // 071960 { .mmi 012058040500 4830 mov r20 = 1440 ;; // 071962 018462928000 4831 cmp4.lt pr0, pr12 = r20, offset // pr0, pr12 = r20, r41 000008000000 4832 nop.i 0 } { .mfb 000008000000 4840 nop.m 0 000008000000 4841 nop.f 0 00860007800C 4842 (pr12) br.cond.dpnt.many L$695 ;; } { .mii 012000100540 4850 add r21 = @ltoff($LITERAL$+1888), // r21 = @ltoff($LITERAL$+1888), r1 // 071965 gp 012000100580 4851 add r22 = @ltoff($LITERAL$+1888), // r22 = @ltoff($LITERAL$+1888), r1 gp 000008000000 4852 nop.i 0 ;; } { .mmi 0080C1500540 4860 ld8 r21 = $LITERAL$ // r21 = [r21] 0080C1600580 4861 ld8 r22 = $LITERAL$ // r22 = [r22] Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 161 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 4862 nop.i 0 ;; } { .mmi 008001500540 4870 ld1 r21 = [r21] ;; // 073301 000008000000 4871 nop.m 0 0000A1500540 4872 sxt1 r21 = r21 ;; } { .mfb 01C0015003C0 4880 cmp.eq pr15, pr0 = r0, r21 000008000000 4881 nop.f 0 00860002000F 4882 (pr15) br.cond.dpnt.many L$698 ;; } 4890 L$699: { .mmi 010801602580 4890 adds r22 = 1, r22 ;; 0080016005C0 4891 ld1 r23 = [r22] 000008000000 4892 nop.i 0 ;; } { .mii 000008000000 48A0 nop.m 0 0000A17005C0 48A1 sxt1 r23 = r23 ;; 01C0017001C0 48A2 cmp.eq pr7, pr0 = r0, r23 } { .mfb 000008000000 48B0 nop.m 0 000008000000 48B1 nop.f 0 00860001A007 48B2 (pr7) br.cond.dpnt.many L$698 ;; } { .mmi 010801602580 48C0 adds r22 = 1, r22 ;; 008001600600 48C1 ld1 r24 = [r22] 000008000000 48C2 nop.i 0 ;; } { .mii 000008000000 48D0 nop.m 0 0000A1800600 48D1 sxt1 r24 = r24 ;; 01C001800240 48D2 cmp.eq pr9, pr0 = r0, r24 } { .mfb 000008000000 48E0 nop.m 0 000008000000 48E1 nop.f 0 008600014009 48E2 (pr9) br.cond.dpnt.many L$698 ;; } { .mmi 010801602580 48F0 adds r22 = 1, r22 ;; 008001600640 48F1 ld1 ai = [r22] // r25 = [r22] 000008000000 48F2 nop.i 0 ;; } { .mii 000008000000 4900 nop.m 0 0000A1900640 4901 sxt1 ai = ai ;; // r25 = r25 01C0019002C0 4902 cmp.eq pr11, pr0 = r0, ai // pr11, pr0 = r0, r25 } { .mfb 000008000000 4910 nop.m 0 000008000000 4911 nop.f 0 00860000E00B 4912 (pr11) br.cond.dpnt.many L$698 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 162 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mmi 010801602580 4920 adds r22 = 1, r22 ;; 008001600680 4921 ld1 r26 = [r22] 000008000000 4922 nop.i 0 ;; } { .mii 000008000000 4930 nop.m 0 0000A1A00680 4931 sxt1 r26 = r26 ;; 01C001A00340 4932 cmp.eq pr13, pr0 = r0, r26 } { .mfb 000008000000 4940 nop.m 0 000008000000 4941 nop.f 0 00860000800D 4942 (pr13) br.cond.dpnt.many L$698 ;; } { .mmi 010801602580 4950 adds r22 = 1, r22 ;; 0080016006C0 4951 ld1 r27 = [r22] 010841600700 4952 adds r28 = 1024, r22 ;; } { .mii 00CB01C00000 4960 lfetch [r28] 0000A1B006C0 4961 sxt1 r27 = r27 ;; 01C071B00000 4962 cmp.eq pr0, pr14 = r0, r27 } { .mfb 000008000000 4970 nop.m 0 000008000000 4971 nop.f 0 0095FFFE400E 4972 (pr14) br.cond.dptk.many L$699 ;; } 4980 L$698: { .mii 012000100940 4980 add r37 = @ltoff($LITERAL$+1888), // r37 = @ltoff($LITERAL$+1888), r1 // 071965 gp 012010000B80 4981 mov out1 = 256 // r46 = 256 // 073305 010802200B40 4982 mov out0 = r34 ;; // r45 = r34 } { .mmi 0080C2500940 4990 ld8 r37 = $LITERAL$ ;; // r37 = [r37] // 071965 01002A52CA40 4991 sub r41 = cptr, r37 // r41 = r22, r37 // 073302 000008000000 4992 nop.i 0 } { .mfb 000008000000 49A0 nop.m 0 000008000000 49A1 nop.f 0 00A000001000 49A2 br.call.sptk.many rp = OTS$ZERO ;; // br0 = OTS$ZERO // 073305 } { .mmi 010802610BC0 49B0 adds out2 = 8, r38 // r47 = 8, r38 // 073307 00AC42352100 49B1 st2 [r35] = r41, 4 // 073302 01200000A640 49B2 mov ai = 5 ;; // r25 = 5 // 073307 } { .mii 010802700C40 49C0 mov out4 = r39 // r49 = r39 012000000C00 49C1 mov out3 = 0 // r48 = 0 010802600B80 49C2 mov out1 = r38 // r46 = r38 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 163 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mmi 012000000B40 49D0 mov out0 = 0 ;; // r45 = 0 008C8234A000 49D1 st4 [r35] = r37 // 073303 010802C00040 49D2 mov gp = r44 ;; // r1 = r44 // 073305 } { .mfb 000008000000 49E0 nop.m 0 000008000000 49E1 nop.f 0 00A000001000 49E2 br.call.sptk.many rp = SYS$TRNLNM ;; // br0 = SYS$TRNLNM // 073307 } { .mii 008082100840 49F0 ld4 r33 = [r33] // 073308 012040000A40 49F1 mov r41 = 1024 00A0308001C0 49F2 tbit.z pr7, pr6 = r8, 0 ;; } { .mii 010062942840 4A00 and r33 = r33, r41 010802C00040 4A01 mov gp = r44 ;; // r1 = r44 // 073307 01C402100240 4A02 cmp4.eq pr9, pr0 = r0, r33 ;; // 073308 } { .mmi 01C2300001C9 4A10 (pr9) cmp.eq.or.andcm pr7, pr6 = r0, r0 ;; 010800000B47 4A11 (pr7) mov out0 = r0 // r45 = r0 000008000000 4A12 nop.i 0 ;; } { .mmi 010802200B46 4A20 (pr6) mov out0 = r34 ;; // r45 = r34 01C40005A2C0 4A21 cmp4.eq pr11, pr0 = out0, r0 // pr11, pr0 = r45, r0 // 071965 000008000000 4A22 nop.i 0 } { .mfb 000008000000 4A30 nop.m 0 000008000000 4A31 nop.f 0 00860003A00B 4A32 (pr11) br.cond.dpnt.many L$695 ;; } { .mfb 012000002640 4A40 mov ai = 1 // r25 = 1 // 071967 000008000000 4A41 nop.f 0 00A000001000 4A42 br.call.sptk.many rp = DECC$ATOI ;; // br0 = DECC$ATOI } { .mib 01200004A9C0 4A50 mov r39 = 37 0000B0800200 4A51 sxt4 r8 = r8 004000000000 4A52 nop.b 0 } { .mlx 010802C00040 4A60 mov gp = r44 // r1 = r44 000000000222 4A61 movl r38 = 2290649225 ;; 0191140253 } { .mii 018000010180 4A70 cmp.lt pr6, pr0 = r8, r0 010800800940 4A71 mov r37 = r8 0180000101C0 4A72 cmp.lt pr7, pr0 = r8, r0 } { .mmi Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 164 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 00C70804C200 4A80 setf.sig f8 = r38 ;; 010028800946 4A81 (pr6) sub r37 = r0, r8 012000100800 4A82 add r32 = @ltoffx(TimeUtcDelta64), // r32 = @ltoffx(TimeUtcDelta64), r1 // 071970 gp ;; } { .mmi 00C70804A1C0 4A90 setf.sig f7 = r37 // 071967 0080C2000800 4A91 ld8.mov r32 = [r32], TimeUtcDelta64 // 071970 000008000000 4A92 nop.i 0 ;; } { .mfi 000008000000 4AA0 nop.m 0 01D040700180 4AA1 xma.l f6 = f7, f8, f0 // 071967 000008000000 4AA2 nop.i 0 ;; } { .mmi 00870800C940 4AB0 getf.sig r37 = f6 ;; 000008000000 4AB1 nop.m 0 00F20254E840 4AB2 shr.u r33 = r37, r39 ;; } { .mmi 01002A100A40 4AC0 sub r41 = r0, r33 ;; 010802900847 4AC1 (pr7) mov r33 = r41 000008000000 4AC2 nop.i 0 ;; } { .mii 000008000000 4AD0 nop.m 0 0000B2100880 4AD1 sxt4 r34 = offset ;; // r34 = r33 // 071970 010082244880 4AD2 shladd r34 = r34, 1, r34 ;; } { .mmi 01008A244880 4AE0 shladd r34 = r34, 2, r34 ;; 01008A244880 4AE1 shladd r34 = r34, 2, r34 000008000000 4AE2 nop.i 0 ;; } { .mmi 01008A244880 4AF0 shladd r34 = r34, 2, r34 ;; 01008A244880 4AF1 shladd r34 = r34, 2, r34 000008000000 4AF2 nop.i 0 ;; } { .mmi 01008A244880 4B00 shladd r34 = r34, 2, r34 ;; 01008A244880 4B01 shladd r34 = r34, 2, r34 000008000000 4B02 nop.i 0 ;; } { .mmi 01008A244880 4B10 shladd r34 = r34, 2, r34 ;; 01008A244880 4B11 shladd r34 = r34, 2, r34 000008000000 4B12 nop.i 0 ;; } { .mii 000008000000 4B20 nop.m 0 00A7B3644880 4B21 shl r34 = r34, 9 ;; 01C042200000 4B22 cmp.eq pr0, pr8 = r0, r34 // 071971 } { .mfb 008CC2044000 4B30 st8 [r32] = r34 // 071970 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 165 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 4B31 nop.f 0 008600004008 4B32 (pr8) br.cond.dpnt.many L$707 ;; // 071971 } { .mmi 0137978C0A00 4B40 addl r40 = -100000, r0 ;; 008CC2050000 4B41 st8 [r32] = r40 000008000000 4B42 nop.i 0 } 4B50 L$707: { .mfb 018400042280 4B50 cmp4.lt pr10, pr0 = offset, r0 // pr10, pr0 = r33, r0 // 071972 000008000000 4B51 nop.f 0 00860000400A 4B52 (pr10) br.cond.dpnt.many L$709 ;; } { .mfb 012000100900 4B60 add r36 = @ltoff($LITERAL$+1928), // r36 = @ltoff($LITERAL$+1928), r1 // 071973 gp 000008000000 4B61 nop.f 0 008000005000 4B62 br.sptk.many L$1130 ;; } 4B70 L$709: // 071974 { .mii 012000100900 4B70 add r36 = @ltoff($LITERAL$+1920), // r36 = @ltoff($LITERAL$+1920), r1 // 071976 gp 01002A100840 4B71 sub offset = r0, offset // r33 = r0, r33 // 071977 000008000000 4B72 nop.i 0 } 4B80 L$1130: // 071976 { .mmi 00C70804C2C0 4B80 setf.sig f11 = r38 ;; // 071979 0080C2400900 4B81 ld8 r36 = $LITERAL$ // r36 = [r36] // 071976 0000B21008C0 4B82 sxt4 r35 = offset ;; // r35 = r33 // 071979 } { .mii 018000046300 4B90 cmp.lt pr12, pr0 = r35, r0 0108023000C0 4B91 mov r3 = r35 018000046340 4B92 cmp.lt pr13, pr0 = r35, r0 ;; } { .mmi 01002A3000CC 4BA0 (pr12) sub r3 = r0, r35 ;; 00C708006280 4BA1 setf.sig f10 = r3 000008000000 4BA2 nop.i 0 ;; } { .mfi 000008000000 4BB0 nop.m 0 01D058A00240 4BB1 xma.l f9 = f10, f11, f0 000008000000 4BB2 nop.i 0 ;; } { .mmi 0087080120C0 4BC0 getf.sig r3 = f9 ;; 000008000000 4BC1 nop.m 0 00F20034E0C0 4BC2 shr.u r3 = r3, r39 ;; } { .mii 010800300280 4BD0 mov r10 = r3 010028300240 4BD1 sub r9 = r0, r3 ;; 01080090028D 4BD2 (pr13) mov r10 = r9 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 166 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mii 010080A142C0 4BE0 shladd r11 = r10, 1, r10 // 071980 010800A00800 4BE1 mov hh = r10 ;; // r32 = r10 // 071979 010088B162C0 4BE2 shladd r11 = r11, 2, r11 ;; // 071980 } { .mmi 0100880162C0 4BF0 shladd r11 = r11, 2, r0 ;; 010028B42A00 4BF1 sub mm = offset, r11 // r40 = r33, r11 000008000000 4BF2 nop.i 0 } 4C00 L$695: // 071983 { .mii 008002400440 4C00 ld1 r17 = [r36] // 071985 012000100480 4C01 add r18 = @ltoff($LITERAL$+1864), // r18 = @ltoff($LITERAL$+1864), r1 gp ;; 012000100B40 4C02 add out0 = @ltoffx(TimeGmtString), // r45 = @ltoffx(TimeGmtString), r1 gp } { .mii 0080C1200B80 4C10 ld8 out1 = $LITERAL$ // r46 = [r18] 01200000A640 4C11 mov ai = 5 // r25 = 5 0000B2800C40 4C12 sxt4 out4 = mm ;; // r49 = r40 } { .mii 0080C2D00B40 4C20 ld8.mov out0 = [r45], TimeGmtString 0000B2000C00 4C21 sxt4 out3 = hh // r48 = r32 0000A1100BC0 4C22 sxt1 out2 = r17 // r47 = r17 } { .mfb 000008000000 4C30 nop.m 0 000008000000 4C31 nop.f 0 00A000001000 4C32 br.call.sptk.many rp = DECC$TXSPRINTF ;; // br0 = DECC$TXSPRINTF } { .mmi 010802C00040 4C40 mov gp = r44 // r1 = r44 008002400900 4C41 ld1 r36 = [r36] // 071986 01200000A640 4C42 mov ai = 5 ;; // r25 = 5 } { .mii 012000100940 4C50 add r37 = @ltoff($LITERAL$+1840), // r37 = @ltoff($LITERAL$+1840), r1 gp 012000100B40 4C51 add out0 = @ltoffx(TimeZoneString), // r45 = @ltoffx(TimeZoneString), r1 gp 0000B2800C40 4C52 sxt4 out4 = mm ;; // r49 = r40 } { .mmi 0080C2500B80 4C60 ld8 out1 = $LITERAL$ // r46 = [r37] 0080C2D00B40 4C61 ld8.mov out0 = [r45], TimeZoneString 0000B2000C00 4C62 sxt4 out3 = hh ;; // r48 = r32 } { .mib 000008000000 4C70 nop.m 0 0000A2400BC0 4C71 sxt1 out2 = r36 // r47 = r36 00A000001000 4C72 br.call.sptk.many rp = DECC$TXSPRINTF ;; // br0 = DECC$TXSPRINTF } { .mii Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 167 TimeSetHttpdUTC 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 010802C00040 4C80 mov gp = r44 // r1 = r44 000154056000 4C81 mov.i rspfs = r43 ;; // 071987 000E00154000 4C82 mov rp = r42 // br0 = r42 } { .mfb 010800C60300 4C90 adds sp = 48, sp // r12 = 48, r12 000008000000 4C91 nop.f 0 000108001100 4C92 br.ret.sptk.many rp ;; // br0 } .endp TimeSetHttpdUTC Routine Size: 3936 bytes, Routine Base: $CODE$ + 3D40 .proc TimeAdjustToGMT .align 32 .global TimeAdjustToGMT TimeAdjustToGMT: // 071997 { .mii 002C00204840 4CA0 alloc r33 = rspfs, 1, 1, 0, 0 012000100240 4CA1 add r9 = @ltoffx(TimeUtcDelta64), // r9 = @ltoffx(TimeUtcDelta64), r1 // 072004 gp 000008000000 4CA2 nop.i 0 } { .mmi 0080C2000200 4CB0 ld8 r8 = [in0] ;; // r8 = [r32] 0080C0900240 4CB1 ld8.mov r9 = [r9], TimeUtcDelta64 000008000000 4CB2 nop.i 0 ;; } { .mmi 0080C0900240 4CC0 ld8 r9 = TimeUtcDelta64 ;; // r9 = [r9] 010028910200 4CC1 sub r8 = r8, r9 000008000000 4CC2 nop.i 0 ;; } { .mfb 008CC2010000 4CD0 st8 [in0] = r8 // [r32] = r8 000008000000 4CD1 nop.f 0 000108001100 4CD2 br.ret.sptk.many rp ;; // br0 // 072005 } .endp TimeAdjustToGMT Routine Size: 64 bytes, Routine Base: $CODE$ + 4CA0 .proc TimeAdjustFromGMT .align 32 .global TimeAdjustFromGMT TimeAdjustFromGMT: // 072013 { .mii 002C00204840 4CE0 alloc r33 = rspfs, 1, 1, 0, 0 012000100240 4CE1 add r9 = @ltoffx(TimeUtcDelta64), // r9 = @ltoffx(TimeUtcDelta64), r1 // 072020 gp 000008000000 4CE2 nop.i 0 } { .mmi 0080C2000200 4CF0 ld8 r8 = [in0] ;; // r8 = [r32] 0080C0900240 4CF1 ld8.mov r9 = [r9], TimeUtcDelta64 000008000000 4CF2 nop.i 0 ;; } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 168 TimeAdjustFromGMT 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mmi 0080C0900240 4D00 ld8 r9 = TimeUtcDelta64 ;; // r9 = [r9] 010000910200 4D01 add r8 = r8, r9 000008000000 4D02 nop.i 0 ;; } { .mfb 008CC2010000 4D10 st8 [in0] = r8 // [r32] = r8 000008000000 4D11 nop.f 0 000108001100 4D12 br.ret.sptk.many rp ;; // br0 // 072021 } .endp TimeAdjustFromGMT Routine Size: 64 bytes, Routine Base: $CODE$ + 4CE0 .proc DigitDayTime .align 32 .global DigitDayTime DigitDayTime: // 072027 { .mii 002C00A22A00 4D20 alloc r40 = rspfs, 1, 9, 7, 0 012000040380 4D21 mov r14 = 32 010800C00080 4D22 mov r2 = sp // r2 = r12 } { .mmi 01C438040000 4D30 cmp4.eq pr0, pr7 = Time64Ptr, r0 ;; // pr0, pr7 = r32, r0 // 072042 010028E183C0 4D31 sub r15 = sp, r14 // r15 = r12, r14 // 072027 0001880009C0 4D32 mov r39 = rp ;; // r39 = br0 } { .mii 0080C0F00380 4D40 ld8 r14 = [r15] 010800F00300 4D41 mov sp = r15 // r12 = r15 010800100A40 4D42 mov r41 = gp // r41 = r1 } { .mfb 000008000000 4D50 nop.m 0 000008000000 4D51 nop.f 0 008600008007 4D52 (pr7) br.cond.dpnt.many L$629 ;; // 072042 } { .mii 012000002640 4D60 mov ai = 1 // r25 = 1 010800F40A80 4D61 adds out0 = 32, r15 // r42 = 32, r15 010800F40800 4D62 adds in0 = 32, r15 // r32 = 32, r15 } { .mfb 000008000000 4D70 nop.m 0 000008000000 4D71 nop.f 0 00A000001000 4D72 br.call.sptk.many rp = SYS$GETTIM ;; // br0 = SYS$GETTIM } { .mfi 010802900040 4D80 mov gp = r41 // r1 = r41 000008000000 4D81 nop.f 0 000008000000 4D82 nop.i 0 } 4D90 L$629: { .mii 012000004640 4D90 mov ai = 2 // r25 = 2 // 072043 010802000AC0 4D91 mov out1 = Time64Ptr // r43 = r32 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 169 DigitDayTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 010800C20A80 4D92 adds out0 = 16, sp ;; // r42 = 16, r12 } { .mfb 000008000000 4DA0 nop.m 0 000008000000 4DA1 nop.f 0 00A000001000 4DA2 br.call.sptk.many rp = SYS$NUMTIM ;; // br0 = SYS$NUMTIM } { .mib 010802900040 4DB0 mov gp = r41 // r1 = r41 00A0308001C0 4DB1 tbit.z pr7, pr6 = r8, 0 008600006006 4DB2 (pr6) br.cond.dpnt.many L$631 ;; } { .mmi 012000100200 4DC0 add r8 = @ltoff($LITERAL$+1824), // r8 = @ltoff($LITERAL$+1824), r1 // 072044 gp ;; 0080C0800200 4DC1 ld8 r8 = $LITERAL$ // r8 = [r8] 000008000000 4DC2 nop.i 0 } { .mfb 000008000000 4DD0 nop.m 0 000008000000 4DD1 nop.f 0 008000015000 4DD2 br.sptk.many L$633 ;; } 4DE0 L$631: { .mii 010800C30900 4DE0 adds r36 = 24, sp // r36 = 24, r12 // 072045 010800C348C0 4DE1 adds r35 = 26, sp // r35 = 26, r12 010800C2C880 4DE2 adds r34 = 22, sp // r34 = 22, r12 } { .mmi 010800C28840 4DF0 adds r33 = 20, sp ;; // r33 = 20, r12 012000100A80 4DF1 add out0 = @gprel(TimeFaoDsc), gp // r42 = @gprel(TimeFaoDsc), r1 01200000E640 4DF2 mov ai = 7 // r25 = 7 } { .mii 008042400BC0 4E00 ld2 out5 = [r36] // r47 = [r36] 012000000AC0 4E01 mov out1 = 0 ;; // r43 = 0 010802A10B00 4E02 adds out2 = 8, out0 // r44 = 8, r42 } { .mmi 008042300C00 4E10 ld2 out6 = [r35] // r48 = [r35] 008042200B80 4E11 ld2 out4 = [r34] // r46 = [r34] 000008000000 4E12 nop.i 0 ;; } { .mfb 008042100B40 4E20 ld2 out3 = [r33] // r45 = [r33] 000008000000 4E21 nop.f 0 00A000001000 4E22 br.call.sptk.many rp = SYS$FAO ;; // br0 = SYS$FAO } { .mib 010802900040 4E30 mov gp = r41 // r1 = r41 00A0308001C0 4E31 tbit.z pr7, pr6 = r8, 0 008600006006 4E32 (pr6) br.cond.dpnt.many L$634 ;; } { .mmi 012000100200 4E40 add r8 = @ltoff($LITERAL$+1824), // r8 = @ltoff($LITERAL$+1824), r1 // 072047 gp ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 170 DigitDayTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0080C0800200 4E41 ld8 r8 = $LITERAL$ // r8 = [r8] 000008000000 4E42 nop.i 0 } { .mfb 000008000000 4E50 nop.m 0 000008000000 4E51 nop.f 0 008000005000 4E52 br.sptk.many L$633 ;; } 4E60 L$634: { .mmi 012000100980 4E60 add r38 = @ltoffx(TimeString), gp ;; // r38 = @ltoffx(TimeString), r1 // 072048 0080C2600200 4E61 ld8.mov r8 = [r38], TimeString 000008000000 4E62 nop.i 0 ;; } 4E70 L$633: { .mii 000008000000 4E70 nop.m 0 000154050000 4E71 mov.i rspfs = r40 ;; 000E0014E000 4E72 mov rp = r39 // br0 = r39 } { .mfb 010800C40300 4E80 adds sp = 32, sp // r12 = 32, r12 000008000000 4E81 nop.f 0 000108001100 4E82 br.ret.sptk.many rp ;; // br0 } .endp DigitDayTime Routine Size: 368 bytes, Routine Base: $CODE$ + 4D20 .proc DayOfWeekName .align 32 .global DayOfWeekName DayOfWeekName: // 072057 { .mii 002C00712940 4E90 alloc r37 = rspfs, 1, 6, 2, 0 012000020380 4E91 mov r14 = 16 010800C00080 4E92 mov r2 = sp // r2 = r12 } { .mmi 01C438040000 4EA0 cmp4.eq pr0, pr7 = Time64Ptr, r0 ;; // pr0, pr7 = r32, r0 // 072068 010028E183C0 4EA1 sub r15 = sp, r14 // r15 = r12, r14 // 072057 000188000900 4EA2 mov r36 = rp ;; // r36 = br0 } { .mii 0080C0F00380 4EB0 ld8 r14 = [r15] 010800F00300 4EB1 mov sp = r15 // r12 = r15 010800100980 4EB2 mov r38 = gp // r38 = r1 } { .mfb 000008000000 4EC0 nop.m 0 000008000000 4EC1 nop.f 0 008600008007 4EC2 (pr7) br.cond.dpnt.many L$624 ;; // 072068 } { .mii 012000002640 4ED0 mov ai = 1 // r25 = 1 010800F209C0 4ED1 adds out0 = 16, r15 // r39 = 16, r15 010800F20800 4ED2 adds in0 = 16, r15 // r32 = 16, r15 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 171 DayOfWeekName 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mfb 000008000000 4EE0 nop.m 0 000008000000 4EE1 nop.f 0 00A000001000 4EE2 br.call.sptk.many rp = SYS$GETTIM ;; // br0 = SYS$GETTIM } { .mfi 010802600040 4EF0 mov gp = r38 // r1 = r38 000008000000 4EF1 nop.f 0 000008000000 4EF2 nop.i 0 } 4F00 L$624: { .mii 012000004640 4F00 mov ai = 2 // r25 = 2 // 072069 010800C30A00 4F01 adds out1 = 24, sp // r40 = 24, r12 0108020009C0 4F02 mov out0 = Time64Ptr ;; // r39 = r32 } { .mfb 000008000000 4F10 nop.m 0 000008000000 4F11 nop.f 0 00A000001000 4F12 br.call.sptk.many rp = LIB$DAY_OF_WEEK ;; // br0 = LIB$DAY_OF_WEEK } { .mii 010800C30880 4F20 adds r34 = 24, sp // r34 = 24, r12 00A0308001C0 4F21 tbit.z pr7, pr6 = r8, 0 010802600040 4F22 mov gp = r38 ;; // r1 = r38 } { .mii 008082200840 4F30 ld4 DayOfWeek = [r34] // r33 = [r34] 0120001008C0 4F31 add r35 = @ltoffx(DayName), gp ;; // r35 = @ltoffx(DayName), r1 // 072071 010800000847 4F32 (pr7) mov DayOfWeek = r0 // r33 = r0 // 072070 } { .mmi 0080C23008C0 4F40 ld8.mov r35 = [r35], DayName ;; // 072071 000008000000 4F41 nop.m 0 0000B2100840 4F42 sxt4 r33 = DayOfWeek ;; // r33 = r33 } { .mmi 01008A342840 4F50 shladd r33 = r33, 2, r35 ;; 008082100200 4F51 ld4 r8 = [r33] 000008000000 4F52 nop.i 0 ;; } { .mii 000008000000 4F60 nop.m 0 0000B0800200 4F61 sxt4 r8 = r8 ;; 00015404A000 4F62 mov.i rspfs = r37 ;; } { .mii 000008000000 4F70 nop.m 0 000E00148000 4F71 mov rp = r36 // br0 = r36 010800C20300 4F72 adds sp = 16, sp // r12 = 16, r12 } { .mfb 000008000000 4F80 nop.m 0 000008000000 4F81 nop.f 0 000108001100 4F82 br.ret.sptk.many rp ;; // br0 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 172 DayOfWeekName 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 .endp DayOfWeekName Routine Size: 256 bytes, Routine Base: $CODE$ + 4E90 .proc HttpIfModifiedSince .align 32 .global HttpIfModifiedSince HttpIfModifiedSince: // 072091 { .mii 002C00618900 4F90 alloc r36 = rspfs, 3, 3, 6, 0 01093A030200 4F91 adds r8 = 5016, in0 // r8 = 5016, r32 // 072110 0001880008C0 4F92 mov r35 = rp ;; // r35 = br0 // 072091 } { .mii 0080C0800240 4FA0 ld8 r9 = [r8] // 072110 010800100940 4FA1 mov r37 = gp ;; // r37 = r1 // 072091 01C038900000 4FA2 cmp.eq pr0, pr7 = r0, r9 // 072110 } { .bbb 008600002007 4FB0 (pr7) br.cond.dpnt.many L$611 004000000000 4FB1 nop.b 0 008000025000 4FB2 br.sptk.many L$620 ;; } 4FC0 L$611: { .mmi 0108AA028280 4FC0 adds r10 = 2708, in0 ;; // r10 = 2708, r32 // 072112 008080A00280 4FC1 ld4 r10 = [r10] 000008000000 4FC2 nop.i 0 ;; } { .mfb 01CC48A14000 4FD0 cmp4.eq pr0, pr9 = 10, r10 000008000000 4FD1 nop.f 0 00860000A009 4FD2 (pr9) br.cond.dpnt.many L$616 ;; } { .mii 0108AA0302C0 4FE0 adds r11 = 2712, in0 // r11 = 2712, r32 // 072113 0184000442C0 4FE1 cmp4.lt pr11, pr0 = LastContentLength, // pr11, pr0 = r34, r0 // 072114 r0 000008000000 4FE2 nop.i 0 ;; } { .mmi 008080B002C0 4FF0 ld4 r11 = [r11] ;; // 072113 018470016340 4FF1 cmp4.lt pr13, pr14 = r11, r0 01C402216180 4FF2 cmp4.eq pr6, pr0 = r11, // pr6, pr0 = r11, r34 // 072115 LastContentLength ;; } { .mmi 01C27000034B 5000 (pr11) cmp.eq.or.andcm pr13, pr14 = r0, r0 ;; // 072114 01C200000346 5001 (pr6) cmp.eq.or.andcm pr13, pr0 = r0, r0 // 072115 000008000000 5002 nop.i 0 } { .bbb 00860000200D 5010 (pr13) br.cond.dpnt.many L$616 // 072112 004000000000 5011 nop.b 0 008000019000 5012 br.sptk.many L$620 ;; } 5020 L$616: // 072116 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 173 HttpIfModifiedSince 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mlx 0111621F0480 5020 and r18 = -8, in1 // r18 = -8, r33 // 072119 000000000002 5021 movl r22 = 10000000 ;; 0192DC000B } { .mmi 01C041242000 5030 cmp.eq pr0, pr8 = in1, r18 // pr0, pr8 = r33, r18 00A0C1210540 5031 ld8 r21 = [r18], 8 000008000000 5032 nop.i 0 ;; } { .mib 000008000000 5040 nop.m 0 009E100424C8 5041 (pr8) dep r19 = in1, r0, 3, 3 // r19 = r33, r0, 3, 3 004000000000 5042 nop.b 0 ;; } { .mmi 0080C1200508 5050 (pr8) ld8 r20 = [r18] ;; 000008000000 5051 nop.m 0 00F201526548 5052 (pr8) shr.u r21 = r21, r19 } { .mmi 0101293804C8 5060 (pr8) sub r19 = 64, r19 ;; 000008000000 5061 nop.m 0 00F241328508 5062 (pr8) shl r20 = r20, r19 ;; } { .mmi 010071528548 5070 (pr8) or r21 = r20, r21 ;; 01002962A540 5071 sub r21 = r21, r22 000008000000 5072 nop.i 0 ;; } { .mfb 01805092A000 5080 cmp.lt pr0, pr10 = r21, r9 // 072120 000008000000 5081 nop.f 0 00860000A00A 5082 (pr10) br.cond.dpnt.many L$620 ;; } { .mii 01200000C640 5090 mov ai = 6 // r25 = 6 // 072123 010800000AC0 5091 mov out5 = r0 // r43 = r0 010800000A80 5092 mov out4 = r0 // r42 = r0 } { .mmi 012000000A40 50A0 mov out3 = 0 ;; // r41 = 0 010800000A00 50A1 mov out2 = r0 // r40 = r0 0120100609C0 50A2 mov out1 = 304 // r39 = 304 } { .mfb 010802000980 50B0 mov out0 = rqptr // r38 = r32 000008000000 50B1 nop.f 0 00A000001000 50B2 br.call.sptk.many rp = ResponseHeader ;; // br0 = ResponseHeader } { .mib 012000000200 50C0 mov r8 = 0 // 072124 010802500040 50C1 mov gp = r37 // r1 = r37 // 072123 008000005000 50C2 br.sptk.many L$613 ;; // 072124 } 50D0 L$620: // 072125 { .mfi Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 174 HttpIfModifiedSince 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 012000002200 50D0 mov r8 = 1 // 072127 000008000000 50D1 nop.f 0 000008000000 50D2 nop.i 0 } 50E0 L$613: { .mii 000008000000 50E0 nop.m 0 000154048000 50E1 mov.i rspfs = r36 ;; 000E00146000 50E2 mov rp = r35 // br0 = r35 } { .mfb 000008000000 50F0 nop.m 0 000008000000 50F1 nop.f 0 000108001100 50F2 br.ret.sptk.many rp ;; // br0 } .endp HttpIfModifiedSince Routine Size: 368 bytes, Routine Base: $CODE$ + 4F90 .proc HttpIfUnModifiedSince .align 32 .global HttpIfUnModifiedSince HttpIfUnModifiedSince: // 072140 { .mii 002C005168C0 5100 alloc r35 = rspfs, 2, 3, 6, 0 01093A050200 5101 adds r8 = 5032, in0 // r8 = 5032, r32 // 072157 000188000880 5102 mov r34 = rp ;; // r34 = br0 // 072140 } { .mii 0080C0800240 5110 ld8 r9 = [r8] // 072157 010800100900 5111 mov r36 = gp ;; // r36 = r1 // 072140 01C038900000 5112 cmp.eq pr0, pr7 = r0, r9 // 072157 } { .mfb 000008000000 5120 nop.m 0 000008000000 5121 nop.f 0 008600004007 5122 (pr7) br.cond.dpnt.many L$605 ;; } { .mfb 012000002200 5130 mov r8 = 1 000008000000 5131 nop.f 0 00800001B000 5132 br.sptk.many L$607 ;; } 5140 L$605: { .mlx 0111621F02C0 5140 and r11 = -8, in1 // r11 = -8, r33 // 072160 000000000002 5141 movl r20 = 10000000 ;; 0192DC000A } { .mmi 01C050B42000 5150 cmp.eq pr0, pr10 = in1, r11 // pr0, pr10 = r33, r11 00A0C0B104C0 5151 ld8 r19 = [r11], 8 000008000000 5152 nop.i 0 ;; } { .mib 000008000000 5160 nop.m 0 009E1004244A 5161 (pr10) dep r17 = in1, r0, 3, 3 // r17 = r33, r0, 3, 3 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 175 HttpIfUnModifiedSince 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 004000000000 5162 nop.b 0 ;; } { .mmi 0080C0B0048A 5170 (pr10) ld8 r18 = [r11] ;; 000008000000 5171 nop.m 0 00F2013224CA 5172 (pr10) shr.u r19 = r19, r17 } { .mmi 01012918044A 5180 (pr10) sub r17 = 64, r17 ;; 000008000000 5181 nop.m 0 00F24112448A 5182 (pr10) shl r18 = r18, r17 ;; } { .mmi 0100713244CA 5190 (pr10) or r19 = r18, r19 ;; 0100014264C0 5191 add r19 = r19, r20 000008000000 5192 nop.i 0 ;; } { .mfb 018059312000 51A0 cmp.lt pr0, pr11 = r9, r19 // 072161 000008000000 51A1 nop.f 0 00860000A00B 51A2 (pr11) br.cond.dpnt.many L$608 ;; } { .mii 01200000C640 51B0 mov ai = 6 // r25 = 6 // 072164 010800000A80 51B1 mov out5 = r0 // r42 = r0 010800000A40 51B2 mov out4 = r0 // r41 = r0 } { .mmi 012000000A00 51C0 mov out3 = 0 ;; // r40 = 0 0108000009C0 51C1 mov out2 = r0 // r39 = r0 012018038980 51C2 mov out1 = 412 // r38 = 412 } { .mfb 010802000940 51D0 mov out0 = rqptr // r37 = r32 000008000000 51D1 nop.f 0 00A000001000 51D2 br.call.sptk.many rp = ResponseHeader ;; // br0 = ResponseHeader } { .mib 012000002200 51E0 mov r8 = 1 // 072165 010802400040 51E1 mov gp = r36 // r1 = r36 // 072164 008000005000 51E2 br.sptk.many L$607 ;; // 072165 } 51F0 L$608: // 072166 { .mfi 012000000200 51F0 mov r8 = 0 // 072169 000008000000 51F1 nop.f 0 000008000000 51F2 nop.i 0 } 5200 L$607: { .mii 000008000000 5200 nop.m 0 000154046000 5201 mov.i rspfs = r35 ;; 000E00144000 5202 mov rp = r34 // br0 = r34 } { .mfb 000008000000 5210 nop.m 0 000008000000 5211 nop.f 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 176 HttpIfUnModifiedSince 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000108001100 5212 br.ret.sptk.many rp ;; // br0 } .endp HttpIfUnModifiedSince Routine Size: 288 bytes, Routine Base: $CODE$ + 5100 .proc HttpIfRange .align 32 .global HttpIfRange HttpIfRange: // 072177 { .mii 002C00306880 5220 alloc r34 = rspfs, 2, 1, 0, 0 01093A040200 5221 adds r8 = 5024, in0 // r8 = 5024, r32 // 072193 000008000000 5222 nop.i 0 ;; } { .mmi 0080C0800200 5230 ld8 r8 = [r8] ;; 01C038800000 5231 cmp.eq pr0, pr7 = r0, r8 000008000000 5232 nop.i 0 } { .bbb 008600002007 5240 (pr7) br.cond.dpnt.many L$598 004000000000 5241 nop.b 0 000108001100 5242 br.ret.sptk.many rp ;; // br0 // 072202 } 5250 L$598: // 072193 { .mii 0111621F0280 5250 and r10 = -8, in1 // r10 = -8, r33 // 072196 01093A030500 5251 adds r20 = 5016, in0 // r20 = 5016, r32 // 072197 000008000000 5252 nop.i 0 } { .mlx 000008000000 5260 nop.m 0 800000000002 5261 movl r19 = 10000000 ;; // 072196 0192DC0009 } { .mmi 01C050A42000 5270 cmp.eq pr0, pr10 = in1, r10 // pr0, pr10 = r33, r10 00A0C0A10480 5271 ld8 r18 = [r10], 8 000008000000 5272 nop.i 0 ;; } { .mib 0080C1400500 5280 ld8 r20 = [r20] // 072197 009E100422CA 5281 (pr10) dep r11 = in1, r0, 3, 3 // r11 = r33, r0, 3, 3 // 072196 004000000000 5282 nop.b 0 ;; } { .mmi 0080C0A0044A 5290 (pr10) ld8 r17 = [r10] ;; 000008000000 5291 nop.m 0 00F20121648A 5292 (pr10) shr.u r18 = r18, r11 } { .mmi 010128B802CA 52A0 (pr10) sub r11 = 64, r11 ;; 000008000000 52A1 nop.m 0 00F240B2244A 52A2 (pr10) shl r17 = r17, r11 ;; } { .mmi Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 177 HttpIfRange 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 01007122248A 52B0 (pr10) or r18 = r17, r18 ;; 010001324480 52B1 add r18 = r18, r19 000008000000 52B2 nop.i 0 ;; } { .mfb 018059228000 52C0 cmp.lt pr0, pr11 = r20, r18 // 072197 000008000000 52C1 nop.f 0 00860000800B 52C2 (pr11) br.cond.dpnt.many L$601 ;; } { .mmi 0108BA010800 52D0 adds in0 = 2952, in0 ;; // r32 = 2952, r32 // 072200 008082000800 52D1 ld4 in0 = [in0] // r32 = [r32] 000008000000 52D2 nop.i 0 ;; } { .mib 01C400040380 52E0 cmp4.eq pr14, pr0 = in0, r0 // pr14, pr0 = r32, r0 0000B2000800 52E1 sxt4 in0 = in0 // r32 = r32 00860000400E 52E2 (pr14) br.cond.dpnt.many L$601 ;; } { .mmi 010802018800 52F0 adds in0 = 12, in0 ;; // r32 = 12, r32 008C82000000 52F1 st4 [in0] = r0 // [r32] = r0 000008000000 52F2 nop.i 0 } 5300 L$601: // 072202 { .mfb 000008000000 5300 nop.m 0 000008000000 5301 nop.f 0 000108001100 5302 br.ret.sptk.many rp ;; // br0 } .endp HttpIfRange Routine Size: 240 bytes, Routine Base: $CODE$ + 5220 .proc VmsToHttpStatus .align 32 .global VmsToHttpStatus VmsToHttpStatus: // 072209 { .mii 002C00A14A00 5310 alloc r40 = rspfs, 1, 9, 0, 0 0128284942C0 5311 addl r11 = 99018, r0 // 072221 012828424280 5312 addl r10 = 98962, r0 // 072220 } { .mmi 012848488240 5320 addl r9 = 99524, r0 ;; // 072219 012C00494200 5321 addl r8 = 114762, r0 // 072218 000198000A40 5322 mov r41 = pr // 072209 } { .mii 012090020480 5330 mov r18 = 2320 // 072223 012090010440 5331 mov r17 = 2312 ;; // 072222 01C400B40380 5332 cmp4.eq pr14, pr0 = VmsStatus, r11 // pr14, pr0 = r32, r11 // 072221 } { .mii 01C458A40300 5340 cmp4.eq pr12, pr11 = VmsStatus, r10 // pr12, pr11 = r32, r10 // 072220 01C400940280 5341 cmp4.eq pr10, pr0 = VmsStatus, r9 // pr10, pr0 = r32, r9 // 072219 01C438840200 5342 cmp4.eq pr8, pr7 = VmsStatus, r8 ;; // pr8, pr7 = r32, r8 // 072218 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 178 VmsToHttpStatus 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mii 01C20000030E 5350 (pr14) cmp.eq.or.andcm pr12, pr0 = r0, r0 // 072221 01C23800020A 5351 (pr10) cmp.eq.or.andcm pr8, pr7 = r0, r0 // 072219 01C401240340 5352 cmp4.eq pr13, pr0 = VmsStatus, r18 // pr13, pr0 = r32, r18 // 072223 } { .mmi 01C479140180 5360 cmp4.eq pr6, pr15 = VmsStatus, r17 ;; // pr6, pr15 = r32, r17 // 072222 01C23800020C 5361 (pr12) cmp.eq.or.andcm pr8, pr7 = r0, r0 // 072221 01C20000018D 5362 (pr13) cmp.eq.or.andcm pr6, pr0 = r0, r0 ;; // 072223 } { .mfb 01C238000006 5370 (pr6) cmp.eq.or.andcm pr0, pr7 = r0, r0 000008000000 5371 nop.f 0 008600004007 5372 (pr7) br.cond.dpnt.many L$590 ;; // 072218 } { .mib 012018028200 5380 mov HttpStatus = 404 // r8 = 404 // 072224 0016000527C0 5381 mov pr = r41, -65474 // 072260 000108001100 5382 br.ret.sptk.many rp ;; // br0 } 5390 L$590: // 072225 { .mii 012080050680 5390 mov r26 = 2088 // 072233 012080040640 5391 mov ai = 2080 // r25 = 2080 // 072232 012080030600 5392 mov r24 = 2072 // 072231 } { .mmi 0128484985C0 53A0 addl r23 = 99532, r0 ;; // 072230 0128684F8580 53A1 addl r22 = 100092, r0 // 072229 0128684C8540 53A2 addl r21 = 100068, r0 // 072228 } { .mii 012850458500 53B0 addl r20 = 99628, r0 // 072227 0128684A84C0 53B1 addl r19 = 100052, r0 ;; // 072226 01C401A40100 53B2 cmp4.eq pr4, pr0 = VmsStatus, r26 // pr4, pr0 = r32, r26 // 072233 } { .mii 01C459940080 53C0 cmp4.eq pr2, pr11 = VmsStatus, ai // pr2, pr11 = r32, r25 // 072232 01C401840300 53C1 cmp4.eq pr12, pr0 = VmsStatus, r24 // pr12, pr0 = r32, r24 // 072231 01C439740200 53C2 cmp4.eq pr8, pr7 = VmsStatus, r23 ;; // pr8, pr7 = r32, r23 // 072230 } { .mii 01C401640180 53D0 cmp4.eq pr6, pr0 = VmsStatus, r22 // pr6, pr0 = r32, r22 // 072229 01C4695403C0 53D1 cmp4.eq pr15, pr13 = VmsStatus, r21 // pr15, pr13 = r32, r21 // 072228 01C401440380 53D2 cmp4.eq pr14, pr0 = VmsStatus, r20 // pr14, pr0 = r32, r20 // 072227 } { .mmi 01C449340280 53E0 cmp4.eq pr10, pr9 = VmsStatus, r19 ;; // pr10, pr9 = r32, r19 // 072226 01C200000084 53E1 (pr4) cmp.eq.or.andcm pr2, pr0 = r0, r0 // 072233 01C23800020C 53E2 (pr12) cmp.eq.or.andcm pr8, pr7 = r0, r0 // 072231 } { .mii 01C2000003C6 53F0 (pr6) cmp.eq.or.andcm pr15, pr0 = r0, r0 // 072229 01C24800028E 53F1 (pr14) cmp.eq.or.andcm pr10, pr9 = r0, r0 ;; // 072227 01C200000202 53F2 (pr2) cmp.eq.or.andcm pr8, pr0 = r0, r0 // 072233 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 179 VmsToHttpStatus 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mmi 01C24800028F 5400 (pr15) cmp.eq.or.andcm pr10, pr9 = r0, r0 ;; // 072229 01C248000008 5401 (pr8) cmp.eq.or.andcm pr0, pr9 = r0, r0 // 072233 000008000000 5402 nop.i 0 } { .mfb 000008000000 5410 nop.m 0 000008000000 5411 nop.f 0 008600004009 5412 (pr9) br.cond.dpnt.many L$593 ;; // 072226 } { .mib 012018026200 5420 mov HttpStatus = 403 // r8 = 403 // 072234 0016000527C0 5421 mov pr = r41, -65474 // 072260 000108001100 5422 br.ret.sptk.many rp ;; // br0 } 5430 L$593: // 072235 { .mmi 0128284146C0 5430 addl r27 = 98954, r0 ;; // 072236 01C419B40000 5431 cmp4.eq pr0, pr3 = VmsStatus, r27 // pr0, pr3 = r32, r27 000008000000 5432 nop.i 0 } { .mfb 000008000000 5440 nop.m 0 000008000000 5441 nop.f 0 008600004003 5442 (pr3) br.cond.dpnt.many L$595 ;; } { .mib 01201804E200 5450 mov HttpStatus = 423 // r8 = 423 // 072237 0016000527C0 5451 mov pr = r41, -65474 // 072260 000108001100 5452 br.ret.sptk.many rp ;; // br0 } 5460 L$595: // 072238 { .mii 012828434840 5460 addl r33 = 98970, r0 // 072243 0120380D8940 5461 mov r37 = 1004 // 072240 0122100E8900 5462 addl r36 = 8564, r0 // 072239 } { .mmi 01CC020483C0 5470 cmp4.eq pr15, pr0 = 36, VmsStatus ;; // pr15, pr0 = 36, r32 // 072244 01C462140100 5471 cmp4.eq pr4, pr12 = VmsStatus, r33 // pr4, pr12 = r32, r33 // 072243 0120600327C0 5472 mov r31 = 1561 // 072247 } { .mii 0120180E8780 5480 mov r30 = 500 // 072251 012008090740 5481 mov r29 = 200 ;; 00A032000000 5482 tbit.z pr0, pr6 = VmsStatus, 0 // pr0, pr6 = r32, 0 // 072250 } { .mii 012018026980 5490 mov r38 = 403 // 072245 01C402540240 5491 cmp4.eq pr9, pr0 = VmsStatus, r37 // pr9, pr0 = r32, r37 // 072240 01C4124401C0 5492 cmp4.eq pr7, pr2 = VmsStatus, r36 ;; // pr7, pr2 = r32, r36 // 072239 } { .mii 01C26000010F 54A0 (pr15) cmp.eq.or.andcm pr4, pr12 = r0, r0 // 072244 0120080928C0 54A1 mov r35 = 201 // 072248 01C469F40000 54A2 cmp4.eq pr0, pr13 = VmsStatus, r31 // pr0, pr13 = r32, r31 // 072247 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 180 VmsToHttpStatus 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mmi 010801D00786 54B0 (pr6) mov r30 = r29 ;; // 072251 0120180320C0 54B1 mov r3 = 409 // 072241 01C2100001C9 54B2 (pr9) cmp.eq.or.andcm pr7, pr2 = r0, r0 // 072240 } { .mii 0108026009C4 54C0 (pr4) mov r39 = r38 // 072245 010801E008CD 54C1 (pr13) mov r35 = r30 ;; // 072248 010800300247 54C2 (pr7) mov r9 = r3 // 072241 } { .mmi 0108023009CC 54D0 (pr12) mov r39 = r35 ;; // 072245 010802700242 54D1 (pr2) mov r9 = r39 // 072241 0016000527C0 54D2 mov pr = r41, -65474 ;; // 072260 } { .mib 000008000000 54E0 nop.m 0 0000B0900200 54E1 sxt4 r8 = r9 000108001100 54E2 br.ret.sptk.many rp ;; // br0 } .endp VmsToHttpStatus Routine Size: 480 bytes, Routine Base: $CODE$ + 5310 .proc HttpStatusCodeText .align 32 .global HttpStatusCodeText HttpStatusCodeText: // 072269 { .mii 002C00204840 54F0 alloc r33 = rspfs, 1, 1, 0, 0 012008090200 54F1 mov r8 = 200 ;; // 072276 0184008401C0 54F2 cmp4.lt pr7, pr0 = StatusCode, r8 // pr7, pr0 = r32, r8 } { .mfb 000008000000 5500 nop.m 0 000008000000 5501 nop.f 0 0086000E6007 5502 (pr7) br.cond.dpnt.many L$515 ;; } { .mmi 0119F2070240 5510 adds r9 = -200, StatusCode ;; // r9 = -200, r32 01AC0090E280 5511 cmp4.ltu pr10, pr0 = 7, r9 000008000000 5512 nop.i 0 } { .mfb 000008000000 5520 nop.m 0 000008000000 5521 nop.f 0 00860002A00A 5522 (pr10) br.cond.dpnt.many L$520 ;; } { .mib 012000100080 5530 add r2 = @ltoff($LINK$+368), gp // r2 = @ltoff($LINK$+368), r1 0000B0900280 5531 sxt4 r10 = r9 004000000000 5532 nop.b 0 ;; } { .mmi 0080C0200080 5540 ld8 r2 = $LINK$ ;; // r2 = [r2] 010090214080 5541 shladd r2 = r10, 3, r2 000008000000 5542 nop.i 0 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 181 HttpStatusCodeText 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mii 0080C02003C0 5550 ld8 r15 = $LINK$ // r15 = [r2] 000180000080 5551 mov r2 = ip ;; 01000021E3C0 5552 add r15 = r15, r2 ;; } { .mib 000008000000 5560 nop.m 0 000E0011E180 5561 mov br6 = r15 00010000D000 5562 br.sptk.many br6 ;; } 5570 L$521: // 072281 { .mmi 012000100200 5570 add r8 = @ltoff($LITERAL$+1816), // r8 = @ltoff($LITERAL$+1816), r1 gp ;; 0080C0800200 5571 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5572 nop.i 0 } { .mfb 000008000000 5580 nop.m 0 000008000000 5581 nop.f 0 000108001100 5582 br.ret.sptk.many rp ;; // br0 } 5590 L$522: // 072282 { .mmi 012000100200 5590 add r8 = @ltoff($LITERAL$+1800), // r8 = @ltoff($LITERAL$+1800), r1 gp ;; 0080C0800200 5591 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5592 nop.i 0 } { .mfb 000008000000 55A0 nop.m 0 000008000000 55A1 nop.f 0 000108001100 55A2 br.ret.sptk.many rp ;; // br0 } 55B0 L$523: // 072283 { .mmi 012000100200 55B0 add r8 = @ltoff($LITERAL$+1784), // r8 = @ltoff($LITERAL$+1784), r1 gp ;; 0080C0800200 55B1 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 55B2 nop.i 0 } { .mfb 000008000000 55C0 nop.m 0 000008000000 55C1 nop.f 0 000108001100 55C2 br.ret.sptk.many rp ;; // br0 } 55D0 L$524: // 072284 { .mmi 012000100200 55D0 add r8 = @ltoff($LITERAL$+1760), // r8 = @ltoff($LITERAL$+1760), r1 gp ;; 0080C0800200 55D1 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 55D2 nop.i 0 } { .mfb 000008000000 55E0 nop.m 0 000008000000 55E1 nop.f 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 182 HttpStatusCodeText 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000108001100 55E2 br.ret.sptk.many rp ;; // br0 } 55F0 L$525: // 072285 { .mmi 012000100200 55F0 add r8 = @ltoff($LITERAL$+1744), // r8 = @ltoff($LITERAL$+1744), r1 gp ;; 0080C0800200 55F1 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 55F2 nop.i 0 } { .mfb 000008000000 5600 nop.m 0 000008000000 5601 nop.f 0 000108001100 5602 br.ret.sptk.many rp ;; // br0 } 5610 L$526: // 072286 { .mmi 012000100200 5610 add r8 = @ltoff($LITERAL$+1728), // r8 = @ltoff($LITERAL$+1728), r1 gp ;; 0080C0800200 5611 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5612 nop.i 0 } { .mfb 000008000000 5620 nop.m 0 000008000000 5621 nop.f 0 000108001100 5622 br.ret.sptk.many rp ;; // br0 } 5630 L$527: // 072287 { .mmi 012000100200 5630 add r8 = @ltoff($LITERAL$+1704), // r8 = @ltoff($LITERAL$+1704), r1 gp ;; 0080C0800200 5631 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5632 nop.i 0 } { .mfb 000008000000 5640 nop.m 0 000008000000 5641 nop.f 0 000108001100 5642 br.ret.sptk.many rp ;; // br0 } 5650 L$528: // 072288 { .mmi 012000100200 5650 add r8 = @ltoff($LITERAL$+1688), // r8 = @ltoff($LITERAL$+1688), r1 gp ;; 0080C0800200 5651 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5652 nop.i 0 } { .mfb 000008000000 5660 nop.m 0 000008000000 5661 nop.f 0 000108001100 5662 br.ret.sptk.many rp ;; // br0 } 5670 L$520: // 072276 { .mmi 0120100582C0 5670 mov r11 = 300 ;; 018400B402C0 5671 cmp4.lt pr11, pr0 = StatusCode, r11 // pr11, pr0 = r32, r11 000008000000 5672 nop.i 0 } { .mfb Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 183 HttpStatusCodeText 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 5680 nop.m 0 000008000000 5681 nop.f 0 0086000C000B 5682 (pr11) br.cond.dpnt.many L$530 ;; } { .mmi 0119EA0A8440 5690 adds r17 = -300, StatusCode ;; // r17 = -300, r32 01AC0110E380 5691 cmp4.ltu pr14, pr0 = 7, r17 000008000000 5692 nop.i 0 } { .mfb 000008000000 56A0 nop.m 0 000008000000 56A1 nop.f 0 00860002A00E 56A2 (pr14) br.cond.dpnt.many L$535 ;; } { .mib 012000100080 56B0 add r2 = @ltoff($LINK$+432), gp // r2 = @ltoff($LINK$+432), r1 0000B1100480 56B1 sxt4 r18 = r17 004000000000 56B2 nop.b 0 ;; } { .mmi 0080C0200080 56C0 ld8 r2 = $LINK$ ;; // r2 = [r2] 010090224080 56C1 shladd r2 = r18, 3, r2 000008000000 56C2 nop.i 0 ;; } { .mii 0080C02003C0 56D0 ld8 r15 = $LINK$ // r15 = [r2] 000180000080 56D1 mov r2 = ip ;; 01000021E3C0 56D2 add r15 = r15, r2 ;; } { .mib 000008000000 56E0 nop.m 0 000E0011E1C0 56E1 mov br7 = r15 00010000F000 56E2 br.sptk.many br7 ;; } 56F0 L$536: // 072289 { .mmi 012000100200 56F0 add r8 = @ltoff($LITERAL$+1664), // r8 = @ltoff($LITERAL$+1664), r1 gp ;; 0080C0800200 56F1 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 56F2 nop.i 0 } { .mfb 000008000000 5700 nop.m 0 000008000000 5701 nop.f 0 000108001100 5702 br.ret.sptk.many rp ;; // br0 } 5710 L$537: // 072290 { .mmi 012000100200 5710 add r8 = @ltoff($LITERAL$+1640), // r8 = @ltoff($LITERAL$+1640), r1 gp ;; 0080C0800200 5711 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5712 nop.i 0 } { .mfb 000008000000 5720 nop.m 0 000008000000 5721 nop.f 0 000108001100 5722 br.ret.sptk.many rp ;; // br0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 184 HttpStatusCodeText 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } 5730 L$538: // 072291 { .mmi 012000100200 5730 add r8 = @ltoff($LITERAL$+1608), // r8 = @ltoff($LITERAL$+1608), r1 gp ;; 0080C0800200 5731 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5732 nop.i 0 } { .mfb 000008000000 5740 nop.m 0 000008000000 5741 nop.f 0 000108001100 5742 br.ret.sptk.many rp ;; // br0 } 5750 L$539: // 072292 { .mmi 012000100200 5750 add r8 = @ltoff($LITERAL$+1592), // r8 = @ltoff($LITERAL$+1592), r1 gp ;; 0080C0800200 5751 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5752 nop.i 0 } { .mfb 000008000000 5760 nop.m 0 000008000000 5761 nop.f 0 000108001100 5762 br.ret.sptk.many rp ;; // br0 } 5770 L$540: // 072293 { .mmi 012000100200 5770 add r8 = @ltoff($LITERAL$+1576), // r8 = @ltoff($LITERAL$+1576), r1 gp ;; 0080C0800200 5771 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5772 nop.i 0 } { .mfb 000008000000 5780 nop.m 0 000008000000 5781 nop.f 0 000108001100 5782 br.ret.sptk.many rp ;; // br0 } 5790 L$541: // 072294 { .mmi 012000100200 5790 add r8 = @ltoff($LITERAL$+1560), // r8 = @ltoff($LITERAL$+1560), r1 gp ;; 0080C0800200 5791 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5792 nop.i 0 } { .mfb 000008000000 57A0 nop.m 0 000008000000 57A1 nop.f 0 000108001100 57A2 br.ret.sptk.many rp ;; // br0 } 57B0 L$542: // 072295 { .mmi 012000100200 57B0 add r8 = @ltoff($LITERAL$+1544), // r8 = @ltoff($LITERAL$+1544), r1 gp ;; 0080C0800200 57B1 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 57B2 nop.i 0 } { .mfb Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 185 HttpStatusCodeText 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 57C0 nop.m 0 000008000000 57C1 nop.f 0 000108001100 57C2 br.ret.sptk.many rp ;; // br0 } 57D0 L$543: // 072296 { .mmi 012000100200 57D0 add r8 = @ltoff($LITERAL$+1520), // r8 = @ltoff($LITERAL$+1520), r1 gp ;; 0080C0800200 57D1 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 57D2 nop.i 0 } { .mfb 000008000000 57E0 nop.m 0 000008000000 57E1 nop.f 0 000108001100 57E2 br.ret.sptk.many rp ;; // br0 } 57F0 L$535: // 072276 { .mmi 0119E20E0800 57F0 adds in0 = -400, StatusCode ;; // r32 = -400, r32 01AC020D6180 57F1 cmp4.ltu pr6, pr0 = 107, in0 // pr6, pr0 = 107, r32 000008000000 57F2 nop.i 0 } { .mfb 000008000000 5800 nop.m 0 000008000000 5801 nop.f 0 008600090006 5802 (pr6) br.cond.dpnt.many L$530 ;; } { .mib 012000100080 5810 add r2 = @ltoff($LINK$+496), gp // r2 = @ltoff($LINK$+496), r1 0000B20004C0 5811 sxt4 r19 = in0 // r19 = r32 004000000000 5812 nop.b 0 ;; } { .mmi 0080C0200080 5820 ld8 r2 = $LINK$ ;; // r2 = [r2] 010090226080 5821 shladd r2 = r19, 3, r2 000008000000 5822 nop.i 0 ;; } { .mii 0080C02003C0 5830 ld8 r15 = $LINK$ // r15 = [r2] 000180000080 5831 mov r2 = ip ;; 01000021E3C0 5832 add r15 = r15, r2 ;; } { .mib 000008000000 5840 nop.m 0 000E0011E180 5841 mov br6 = r15 00010000D000 5842 br.sptk.many br6 ;; } 5850 L$547: // 072297 { .mmi 012000100200 5850 add r8 = @ltoff($LITERAL$+1504), // r8 = @ltoff($LITERAL$+1504), r1 gp ;; 0080C0800200 5851 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5852 nop.i 0 } { .mfb 000008000000 5860 nop.m 0 000008000000 5861 nop.f 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 186 HttpStatusCodeText 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000108001100 5862 br.ret.sptk.many rp ;; // br0 } 5870 L$548: // 072298 { .mmi 012000100200 5870 add r8 = @ltoff($LITERAL$+1480), // r8 = @ltoff($LITERAL$+1480), r1 gp ;; 0080C0800200 5871 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5872 nop.i 0 } { .mfb 000008000000 5880 nop.m 0 000008000000 5881 nop.f 0 000108001100 5882 br.ret.sptk.many rp ;; // br0 } 5890 L$549: // 072299 { .mmi 012000100200 5890 add r8 = @ltoff($LITERAL$+1456), // r8 = @ltoff($LITERAL$+1456), r1 gp ;; 0080C0800200 5891 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5892 nop.i 0 } { .mfb 000008000000 58A0 nop.m 0 000008000000 58A1 nop.f 0 000108001100 58A2 br.ret.sptk.many rp ;; // br0 } 58B0 L$550: // 072300 { .mmi 012000100200 58B0 add r8 = @ltoff($LITERAL$+1440), // r8 = @ltoff($LITERAL$+1440), r1 gp ;; 0080C0800200 58B1 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 58B2 nop.i 0 } { .mfb 000008000000 58C0 nop.m 0 000008000000 58C1 nop.f 0 000108001100 58C2 br.ret.sptk.many rp ;; // br0 } 58D0 L$551: // 072301 { .mmi 012000100200 58D0 add r8 = @ltoff($LITERAL$+1424), // r8 = @ltoff($LITERAL$+1424), r1 gp ;; 0080C0800200 58D1 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 58D2 nop.i 0 } { .mfb 000008000000 58E0 nop.m 0 000008000000 58E1 nop.f 0 000108001100 58E2 br.ret.sptk.many rp ;; // br0 } 58F0 L$552: // 072302 { .mmi 012000100200 58F0 add r8 = @ltoff($LITERAL$+1400), // r8 = @ltoff($LITERAL$+1400), r1 gp ;; 0080C0800200 58F1 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 58F2 nop.i 0 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 187 HttpStatusCodeText 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mfb 000008000000 5900 nop.m 0 000008000000 5901 nop.f 0 000108001100 5902 br.ret.sptk.many rp ;; // br0 } 5910 L$553: // 072303 { .mmi 012000100200 5910 add r8 = @ltoff($LITERAL$+1384), // r8 = @ltoff($LITERAL$+1384), r1 gp ;; 0080C0800200 5911 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5912 nop.i 0 } { .mfb 000008000000 5920 nop.m 0 000008000000 5921 nop.f 0 000108001100 5922 br.ret.sptk.many rp ;; // br0 } 5930 L$554: // 072304 { .mmi 012000100200 5930 add r8 = @ltoff($LITERAL$+1352), // r8 = @ltoff($LITERAL$+1352), r1 gp ;; 0080C0800200 5931 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5932 nop.i 0 } { .mfb 000008000000 5940 nop.m 0 000008000000 5941 nop.f 0 000108001100 5942 br.ret.sptk.many rp ;; // br0 } 5950 L$555: // 072305 { .mmi 012000100200 5950 add r8 = @ltoff($LITERAL$+1328), // r8 = @ltoff($LITERAL$+1328), r1 gp ;; 0080C0800200 5951 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5952 nop.i 0 } { .mfb 000008000000 5960 nop.m 0 000008000000 5961 nop.f 0 000108001100 5962 br.ret.sptk.many rp ;; // br0 } 5970 L$556: // 072306 { .mmi 012000100200 5970 add r8 = @ltoff($LITERAL$+1312), // r8 = @ltoff($LITERAL$+1312), r1 gp ;; 0080C0800200 5971 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5972 nop.i 0 } { .mfb 000008000000 5980 nop.m 0 000008000000 5981 nop.f 0 000108001100 5982 br.ret.sptk.many rp ;; // br0 } 5990 L$557: // 072307 { .mmi 012000100200 5990 add r8 = @ltoff($LITERAL$+1304), // r8 = @ltoff($LITERAL$+1304), r1 gp ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 188 HttpStatusCodeText 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0080C0800200 5991 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5992 nop.i 0 } { .mfb 000008000000 59A0 nop.m 0 000008000000 59A1 nop.f 0 000108001100 59A2 br.ret.sptk.many rp ;; // br0 } 59B0 L$558: // 072308 { .mmi 012000100200 59B0 add r8 = @ltoff($LITERAL$+1280), // r8 = @ltoff($LITERAL$+1280), r1 gp ;; 0080C0800200 59B1 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 59B2 nop.i 0 } { .mfb 000008000000 59C0 nop.m 0 000008000000 59C1 nop.f 0 000108001100 59C2 br.ret.sptk.many rp ;; // br0 } 59D0 L$559: // 072309 { .mmi 012000100200 59D0 add r8 = @ltoff($LITERAL$+1256), // r8 = @ltoff($LITERAL$+1256), r1 gp ;; 0080C0800200 59D1 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 59D2 nop.i 0 } { .mfb 000008000000 59E0 nop.m 0 000008000000 59E1 nop.f 0 000108001100 59E2 br.ret.sptk.many rp ;; // br0 } 59F0 L$560: // 072310 { .mmi 012000100200 59F0 add r8 = @ltoff($LITERAL$+1224), // r8 = @ltoff($LITERAL$+1224), r1 gp ;; 0080C0800200 59F1 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 59F2 nop.i 0 } { .mfb 000008000000 5A00 nop.m 0 000008000000 5A01 nop.f 0 000108001100 5A02 br.ret.sptk.many rp ;; // br0 } 5A10 L$561: // 072311 { .mmi 012000100200 5A10 add r8 = @ltoff($LITERAL$+1200), // r8 = @ltoff($LITERAL$+1200), r1 gp ;; 0080C0800200 5A11 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5A12 nop.i 0 } { .mfb 000008000000 5A20 nop.m 0 000008000000 5A21 nop.f 0 000108001100 5A22 br.ret.sptk.many rp ;; // br0 } 5A30 L$562: // 072312 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 189 HttpStatusCodeText 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mmi 012000100200 5A30 add r8 = @ltoff($LITERAL$+1176), // r8 = @ltoff($LITERAL$+1176), r1 gp ;; 0080C0800200 5A31 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5A32 nop.i 0 } { .mfb 000008000000 5A40 nop.m 0 000008000000 5A41 nop.f 0 000108001100 5A42 br.ret.sptk.many rp ;; // br0 } 5A50 L$563: // 072313 { .mmi 012000100200 5A50 add r8 = @ltoff($LITERAL$+1136), // r8 = @ltoff($LITERAL$+1136), r1 gp ;; 0080C0800200 5A51 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5A52 nop.i 0 } { .mfb 000008000000 5A60 nop.m 0 000008000000 5A61 nop.f 0 000108001100 5A62 br.ret.sptk.many rp ;; // br0 } 5A70 L$564: // 072314 { .mmi 012000100200 5A70 add r8 = @ltoff($LITERAL$+1112), // r8 = @ltoff($LITERAL$+1112), r1 gp ;; 0080C0800200 5A71 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5A72 nop.i 0 } { .mfb 000008000000 5A80 nop.m 0 000008000000 5A81 nop.f 0 000108001100 5A82 br.ret.sptk.many rp ;; // br0 } 5A90 L$565: // 072315 { .mmi 012000100200 5A90 add r8 = @ltoff($LITERAL$+1096), // r8 = @ltoff($LITERAL$+1096), r1 gp ;; 0080C0800200 5A91 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5A92 nop.i 0 } { .mfb 000008000000 5AA0 nop.m 0 000008000000 5AA1 nop.f 0 000108001100 5AA2 br.ret.sptk.many rp ;; // br0 } 5AB0 L$566: // 072316 { .mmi 012000100200 5AB0 add r8 = @ltoff($LITERAL$+1072), // r8 = @ltoff($LITERAL$+1072), r1 gp ;; 0080C0800200 5AB1 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5AB2 nop.i 0 } { .mfb 000008000000 5AC0 nop.m 0 000008000000 5AC1 nop.f 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 190 HttpStatusCodeText 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000108001100 5AC2 br.ret.sptk.many rp ;; // br0 } 5AD0 L$567: // 072317 { .mmi 012000100200 5AD0 add r8 = @ltoff($LITERAL$+1048), // r8 = @ltoff($LITERAL$+1048), r1 gp ;; 0080C0800200 5AD1 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5AD2 nop.i 0 } { .mfb 000008000000 5AE0 nop.m 0 000008000000 5AE1 nop.f 0 000108001100 5AE2 br.ret.sptk.many rp ;; // br0 } 5AF0 L$568: // 072318 { .mmi 012000100200 5AF0 add r8 = @ltoff($LITERAL$+1040), // r8 = @ltoff($LITERAL$+1040), r1 gp ;; 0080C0800200 5AF1 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5AF2 nop.i 0 } { .mfb 000008000000 5B00 nop.m 0 000008000000 5B01 nop.f 0 000108001100 5B02 br.ret.sptk.many rp ;; // br0 } 5B10 L$569: // 072319 { .mmi 012000100200 5B10 add r8 = @ltoff($LITERAL$+1016), // r8 = @ltoff($LITERAL$+1016), r1 gp ;; 0080C0800200 5B11 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5B12 nop.i 0 } { .mfb 000008000000 5B20 nop.m 0 000008000000 5B21 nop.f 0 000108001100 5B22 br.ret.sptk.many rp ;; // br0 } 5B30 L$570: // 072320 { .mmi 012000100200 5B30 add r8 = @ltoff($LITERAL$+992), gp ;; // r8 = @ltoff($LITERAL$+992), r1 0080C0800200 5B31 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5B32 nop.i 0 } { .mfb 000008000000 5B40 nop.m 0 000008000000 5B41 nop.f 0 000108001100 5B42 br.ret.sptk.many rp ;; // br0 } 5B50 L$571: // 072321 { .mmi 012000100200 5B50 add r8 = @ltoff($LITERAL$+976), gp ;; // r8 = @ltoff($LITERAL$+976), r1 0080C0800200 5B51 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5B52 nop.i 0 } { .mfb 000008000000 5B60 nop.m 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 191 HttpStatusCodeText 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 5B61 nop.f 0 000108001100 5B62 br.ret.sptk.many rp ;; // br0 } 5B70 L$572: // 072322 { .mmi 012000100200 5B70 add r8 = @ltoff($LITERAL$+952), gp ;; // r8 = @ltoff($LITERAL$+952), r1 0080C0800200 5B71 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5B72 nop.i 0 } { .mfb 000008000000 5B80 nop.m 0 000008000000 5B81 nop.f 0 000108001100 5B82 br.ret.sptk.many rp ;; // br0 } 5B90 L$573: // 072323 { .mmi 012000100200 5B90 add r8 = @ltoff($LITERAL$+936), gp ;; // r8 = @ltoff($LITERAL$+936), r1 0080C0800200 5B91 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5B92 nop.i 0 } { .mfb 000008000000 5BA0 nop.m 0 000008000000 5BA1 nop.f 0 000108001100 5BA2 br.ret.sptk.many rp ;; // br0 } 5BB0 L$574: // 072324 { .mmi 012000100200 5BB0 add r8 = @ltoff($LITERAL$+912), gp ;; // r8 = @ltoff($LITERAL$+912), r1 0080C0800200 5BB1 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5BB2 nop.i 0 } { .mfb 000008000000 5BC0 nop.m 0 000008000000 5BC1 nop.f 0 000108001100 5BC2 br.ret.sptk.many rp ;; // br0 } 5BD0 L$575: // 072325 { .mmi 012000100200 5BD0 add r8 = @ltoff($LITERAL$+888), gp ;; // r8 = @ltoff($LITERAL$+888), r1 0080C0800200 5BD1 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5BD2 nop.i 0 } { .mfb 000008000000 5BE0 nop.m 0 000008000000 5BE1 nop.f 0 000108001100 5BE2 br.ret.sptk.many rp ;; // br0 } 5BF0 L$576: // 072326 { .mmi 012000100200 5BF0 add r8 = @ltoff($LITERAL$+856), gp ;; // r8 = @ltoff($LITERAL$+856), r1 0080C0800200 5BF1 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5BF2 nop.i 0 } { .mfb 000008000000 5C00 nop.m 0 000008000000 5C01 nop.f 0 000108001100 5C02 br.ret.sptk.many rp ;; // br0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 192 HttpStatusCodeText 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } 5C10 L$577: // 072327 { .mmi 012000100200 5C10 add r8 = @ltoff($LITERAL$+832), gp ;; // r8 = @ltoff($LITERAL$+832), r1 0080C0800200 5C11 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5C12 nop.i 0 } { .mfb 000008000000 5C20 nop.m 0 000008000000 5C21 nop.f 0 000108001100 5C22 br.ret.sptk.many rp ;; // br0 } 5C30 L$515: // 072276 { .mfb 01CC020C8200 5C30 cmp4.eq pr8, pr0 = 100, StatusCode // pr8, pr0 = 100, r32 000008000000 5C31 nop.f 0 008600012008 5C32 (pr8) br.cond.dpnt.many L$581 ;; } { .mfb 01CC020CA280 5C40 cmp4.eq pr10, pr0 = 101, StatusCode // pr10, pr0 = 101, r32 000008000000 5C41 nop.f 0 00860000C00A 5C42 (pr10) br.cond.dpnt.many L$585 ;; } { .mfb 01CC5A0CC000 5C50 cmp4.eq pr0, pr11 = 102, StatusCode // pr0, pr11 = 102, r32 000008000000 5C51 nop.f 0 00860000600B 5C52 (pr11) br.cond.dpnt.many L$530 ;; } { .mmi 012000100200 5C60 add r8 = @ltoff($LITERAL$+816), gp ;; // r8 = @ltoff($LITERAL$+816), r1 // 072280 0080C0800200 5C61 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5C62 nop.i 0 } { .mfb 000008000000 5C70 nop.m 0 000008000000 5C71 nop.f 0 000108001100 5C72 br.ret.sptk.many rp ;; // br0 } 5C80 L$530: // 072328 { .mmi 012000100200 5C80 add r8 = @ltoff($LITERAL$+800), gp ;; // r8 = @ltoff($LITERAL$+800), r1 0080C0800200 5C81 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5C82 nop.i 0 } { .mfb 000008000000 5C90 nop.m 0 000008000000 5C91 nop.f 0 000108001100 5C92 br.ret.sptk.many rp ;; // br0 } 5CA0 L$585: // 072279 { .mmi 012000100200 5CA0 add r8 = @ltoff($LITERAL$+776), gp ;; // r8 = @ltoff($LITERAL$+776), r1 0080C0800200 5CA1 ld8 r8 = $LITERAL$ // r8 = [r8] // 072278 000008000000 5CA2 nop.i 0 } { .mfb 000008000000 5CB0 nop.m 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 193 HttpStatusCodeText 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 5CB1 nop.f 0 000108001100 5CB2 br.ret.sptk.many rp ;; // br0 } 5CC0 L$581: { .mmi 012000100200 5CC0 add r8 = @ltoff($LITERAL$+760), gp ;; // r8 = @ltoff($LITERAL$+760), r1 0080C0800200 5CC1 ld8 r8 = $LITERAL$ // r8 = [r8] 000008000000 5CC2 nop.i 0 } { .mfb 000008000000 5CD0 nop.m 0 000008000000 5CD1 nop.f 0 000108001100 5CD2 br.ret.sptk.many rp ;; // br0 } .endp HttpStatusCodeText Routine Size: 2032 bytes, Routine Base: $CODE$ + 54F0 .proc HttpStatusCodeExplanation .align 32 .global HttpStatusCodeExplanation HttpStatusCodeExplanation: // 072338 { .mii 002C00B1AA40 5CE0 alloc r41 = rspfs, 2, 9, 2, 0 012010058200 5CE1 mov r8 = 300 // 072348 000188000A00 5CE2 mov r40 = rp ;; // r40 = br0 // 072338 } { .mib 0184008421C0 5CF0 cmp4.lt pr7, pr0 = StatusCode, r8 // pr7, pr0 = r33, r8 // 072348 010800100A80 5CF1 mov r42 = gp // r42 = r1 // 072338 00860007A007 5CF2 (pr7) br.cond.dpnt.many L$439 ;; // 072348 } { .mmi 0119EA1A8240 5D00 adds r9 = -300, StatusCode ;; // r9 = -300, r33 01AC0090E280 5D01 cmp4.ltu pr10, pr0 = 7, r9 000008000000 5D02 nop.i 0 } { .mfb 000008000000 5D10 nop.m 0 000008000000 5D11 nop.f 0 00860001E00A 5D12 (pr10) br.cond.dpnt.many L$444 ;; } { .mib 012000100080 5D20 add r2 = @ltoff($LINK$+192), gp // r2 = @ltoff($LINK$+192), r1 0000B0900280 5D21 sxt4 r10 = r9 004000000000 5D22 nop.b 0 ;; } { .mmi 0080C0200080 5D30 ld8 r2 = $LINK$ ;; // r2 = [r2] 010090214080 5D31 shladd r2 = r10, 3, r2 000008000000 5D32 nop.i 0 ;; } { .mii 0080C02003C0 5D40 ld8 r15 = $LINK$ // r15 = [r2] 000180000080 5D41 mov r2 = ip ;; 01000021E3C0 5D42 add r15 = r15, r2 ;; } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 194 HttpStatusCodeExplanation 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mib 000008000000 5D50 nop.m 0 000E0011E180 5D51 mov br6 = r15 00010000D000 5D52 br.sptk.many br6 ;; } 5D60 L$445: // 072373 { .mib 012000062B00 5D60 mov out1 = 49 // r44 = 49 010802000AC0 5D61 mov out0 = rqptr // r43 = r32 0080000A1000 5D62 br.sptk.many L$1132 ;; } 5D70 L$446: // 072375 { .mib 012000064B00 5D70 mov out1 = 50 // r44 = 50 010802000AC0 5D71 mov out0 = rqptr // r43 = r32 00800009F000 5D72 br.sptk.many L$1132 ;; } 5D80 L$447: // 072377 { .mib 012000066B00 5D80 mov out1 = 51 // r44 = 51 010802000AC0 5D81 mov out0 = rqptr // r43 = r32 00800009D000 5D82 br.sptk.many L$1132 ;; } 5D90 L$448: // 072379 { .mib 012000068B00 5D90 mov out1 = 52 // r44 = 52 010802000AC0 5D91 mov out0 = rqptr // r43 = r32 00800009B000 5D92 br.sptk.many L$1132 ;; } 5DA0 L$449: // 072381 { .mib 01200006AB00 5DA0 mov out1 = 53 // r44 = 53 010802000AC0 5DA1 mov out0 = rqptr // r43 = r32 008000099000 5DA2 br.sptk.many L$1132 ;; } 5DB0 L$450: // 072383 { .mib 01200006CB00 5DB0 mov out1 = 54 // r44 = 54 010802000AC0 5DB1 mov out0 = rqptr // r43 = r32 008000097000 5DB2 br.sptk.many L$1132 ;; } 5DC0 L$451: // 072385 { .mmi 012000100200 5DC0 add r8 = @ltoff($LITERAL$+744), gp ;; // r8 = @ltoff($LITERAL$+744), r1 0080C0800200 5DC1 ld8 r8 = $LITERAL$ // r8 = [r8] 000008000000 5DC2 nop.i 0 } { .mfb 000008000000 5DD0 nop.m 0 000008000000 5DD1 nop.f 0 008000097000 5DD2 br.sptk.many L$453 ;; } 5DE0 L$452: // 072387 { .mmi 012000100200 5DE0 add r8 = @ltoff($LITERAL$+720), gp ;; // r8 = @ltoff($LITERAL$+720), r1 0080C0800200 5DE1 ld8 r8 = $LITERAL$ // r8 = [r8] 000008000000 5DE2 nop.i 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 195 HttpStatusCodeExplanation 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mfb 000008000000 5DF0 nop.m 0 000008000000 5DF1 nop.f 0 008000093000 5DF2 br.sptk.many L$453 ;; } 5E00 L$444: // 072348 { .mmi 012018020880 5E00 mov r34 = 400 ;; 018402242180 5E01 cmp4.lt pr6, pr0 = StatusCode, r34 // pr6, pr0 = r33, r34 000008000000 5E02 nop.i 0 } { .mfb 000008000000 5E10 nop.m 0 000008000000 5E11 nop.f 0 008600082006 5E12 (pr6) br.cond.dpnt.many L$454 ;; } { .mmi 0119E21E08C0 5E20 adds r35 = -400, StatusCode ;; // r35 = -400, r33 01AC0232E240 5E21 cmp4.ltu pr9, pr0 = 23, r35 000008000000 5E22 nop.i 0 } { .mfb 000008000000 5E30 nop.m 0 000008000000 5E31 nop.f 0 00860003A009 5E32 (pr9) br.cond.dpnt.many L$459 ;; } { .mib 012000100080 5E40 add r2 = @ltoffx($LINK$), gp // r2 = @ltoffx($LINK$), r1 0000B2300900 5E41 sxt4 r36 = r35 004000000000 5E42 nop.b 0 ;; } { .mmi 0080C0200080 5E50 ld8.mov r2 = [r2], $LINK$ ;; 010090248080 5E51 shladd r2 = r36, 3, r2 000008000000 5E52 nop.i 0 ;; } { .mii 0080C02003C0 5E60 ld8 r15 = $LINK$ // r15 = [r2] 000180000080 5E61 mov r2 = ip ;; 01000021E3C0 5E62 add r15 = r15, r2 ;; } { .mib 000008000000 5E70 nop.m 0 000E0011E180 5E71 mov br6 = r15 00010000D000 5E72 br.sptk.many br6 ;; } 5E80 L$460: // 072389 { .mib 012000070B00 5E80 mov out1 = 56 // r44 = 56 010802000AC0 5E81 mov out0 = rqptr // r43 = r32 00800007D000 5E82 br.sptk.many L$1132 ;; } 5E90 L$461: // 072391 { .mib 012000072B00 5E90 mov out1 = 57 // r44 = 57 010802000AC0 5E91 mov out0 = rqptr // r43 = r32 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 196 HttpStatusCodeExplanation 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 00800007B000 5E92 br.sptk.many L$1132 ;; } 5EA0 L$462: // 072393 { .mib 012000074B00 5EA0 mov out1 = 58 // r44 = 58 010802000AC0 5EA1 mov out0 = rqptr // r43 = r32 008000079000 5EA2 br.sptk.many L$1132 ;; } 5EB0 L$463: // 072395 { .mib 012000076B00 5EB0 mov out1 = 59 // r44 = 59 010802000AC0 5EB1 mov out0 = rqptr // r43 = r32 008000077000 5EB2 br.sptk.many L$1132 ;; } 5EC0 L$464: // 072397 { .mib 012000078B00 5EC0 mov out1 = 60 // r44 = 60 010802000AC0 5EC1 mov out0 = rqptr // r43 = r32 008000075000 5EC2 br.sptk.many L$1132 ;; } 5ED0 L$465: // 072399 { .mib 01200007AB00 5ED0 mov out1 = 61 // r44 = 61 010802000AC0 5ED1 mov out0 = rqptr // r43 = r32 008000073000 5ED2 br.sptk.many L$1132 ;; } 5EE0 L$466: // 072401 { .mib 01200007CB00 5EE0 mov out1 = 62 // r44 = 62 010802000AC0 5EE1 mov out0 = rqptr // r43 = r32 008000071000 5EE2 br.sptk.many L$1132 ;; } 5EF0 L$467: // 072403 { .mib 01200007EB00 5EF0 mov out1 = 63 // r44 = 63 010802000AC0 5EF1 mov out0 = rqptr // r43 = r32 00800006F000 5EF2 br.sptk.many L$1132 ;; } 5F00 L$468: // 072405 { .mib 012000080B00 5F00 mov out1 = 64 // r44 = 64 010802000AC0 5F01 mov out0 = rqptr // r43 = r32 00800006D000 5F02 br.sptk.many L$1132 ;; } 5F10 L$469: // 072407 { .mib 012000082B00 5F10 mov out1 = 65 // r44 = 65 010802000AC0 5F11 mov out0 = rqptr // r43 = r32 00800006B000 5F12 br.sptk.many L$1132 ;; } 5F20 L$470: // 072409 { .mib 012000084B00 5F20 mov out1 = 66 // r44 = 66 010802000AC0 5F21 mov out0 = rqptr // r43 = r32 008000069000 5F22 br.sptk.many L$1132 ;; } 5F30 L$471: // 072411 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 197 HttpStatusCodeExplanation 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mib 012000086B00 5F30 mov out1 = 67 // r44 = 67 010802000AC0 5F31 mov out0 = rqptr // r43 = r32 008000067000 5F32 br.sptk.many L$1132 ;; } 5F40 L$472: // 072413 { .mib 012000088B00 5F40 mov out1 = 68 // r44 = 68 010802000AC0 5F41 mov out0 = rqptr // r43 = r32 008000065000 5F42 br.sptk.many L$1132 ;; } 5F50 L$473: // 072415 { .mib 01200008AB00 5F50 mov out1 = 69 // r44 = 69 010802000AC0 5F51 mov out0 = rqptr // r43 = r32 008000063000 5F52 br.sptk.many L$1132 ;; } 5F60 L$474: // 072417 { .mib 01200008CB00 5F60 mov out1 = 70 // r44 = 70 010802000AC0 5F61 mov out0 = rqptr // r43 = r32 008000061000 5F62 br.sptk.many L$1132 ;; } 5F70 L$475: // 072419 { .mib 01200008EB00 5F70 mov out1 = 71 // r44 = 71 010802000AC0 5F71 mov out0 = rqptr // r43 = r32 00800005F000 5F72 br.sptk.many L$1132 ;; } 5F80 L$476: // 072421 { .mib 012000090B00 5F80 mov out1 = 72 // r44 = 72 010802000AC0 5F81 mov out0 = rqptr // r43 = r32 00800005D000 5F82 br.sptk.many L$1132 ;; } 5F90 L$477: // 072423 { .mib 012000092B00 5F90 mov out1 = 73 // r44 = 73 010802000AC0 5F91 mov out0 = rqptr // r43 = r32 00800005B000 5F92 br.sptk.many L$1132 ;; } 5FA0 L$478: // 072425 { .mmi 012000100200 5FA0 add r8 = @ltoff($LITERAL$+696), gp ;; // r8 = @ltoff($LITERAL$+696), r1 0080C0800200 5FA1 ld8 r8 = $LITERAL$ // r8 = [r8] 000008000000 5FA2 nop.i 0 } { .mfb 000008000000 5FB0 nop.m 0 000008000000 5FB1 nop.f 0 00800005B000 5FB2 br.sptk.many L$453 ;; } 5FC0 L$479: // 072427 { .mmi 012000100200 5FC0 add r8 = @ltoff($LITERAL$+672), gp ;; // r8 = @ltoff($LITERAL$+672), r1 0080C0800200 5FC1 ld8 r8 = $LITERAL$ // r8 = [r8] 000008000000 5FC2 nop.i 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 198 HttpStatusCodeExplanation 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mfb 000008000000 5FD0 nop.m 0 000008000000 5FD1 nop.f 0 008000057000 5FD2 br.sptk.many L$453 ;; } 5FE0 L$480: // 072429 { .mmi 012000100200 5FE0 add r8 = @ltoff($LITERAL$+664), gp ;; // r8 = @ltoff($LITERAL$+664), r1 0080C0800200 5FE1 ld8 r8 = $LITERAL$ // r8 = [r8] 000008000000 5FE2 nop.i 0 } { .mfb 000008000000 5FF0 nop.m 0 000008000000 5FF1 nop.f 0 008000053000 5FF2 br.sptk.many L$453 ;; } 6000 L$459: // 072348 { .mmi 0119E2118840 6000 adds in1 = -500, StatusCode ;; // r33 = -500, r33 01AC0210A1C0 6001 cmp4.ltu pr7, pr0 = 5, in1 // pr7, pr0 = 5, r33 000008000000 6002 nop.i 0 } { .mfb 000008000000 6010 nop.m 0 000008000000 6011 nop.f 0 008600042007 6012 (pr7) br.cond.dpnt.many L$454 ;; } { .mib 012000100080 6020 add r2 = @ltoff($LINK$+320), gp // r2 = @ltoff($LINK$+320), r1 0000B2100940 6021 sxt4 r37 = in1 // r37 = r33 004000000000 6022 nop.b 0 ;; } { .mmi 0080C0200080 6030 ld8 r2 = $LINK$ ;; // r2 = [r2] 01009024A080 6031 shladd r2 = r37, 3, r2 000008000000 6032 nop.i 0 ;; } { .mii 0080C02003C0 6040 ld8 r15 = $LINK$ // r15 = [r2] 000180000080 6041 mov r2 = ip ;; 01000021E3C0 6042 add r15 = r15, r2 ;; } { .mib 000008000000 6050 nop.m 0 000E0011E180 6051 mov br6 = r15 00010000D000 6052 br.sptk.many br6 ;; } 6060 L$484: // 072431 { .mib 012000094B00 6060 mov out1 = 74 // r44 = 74 010802000AC0 6061 mov out0 = rqptr // r43 = r32 008000041000 6062 br.sptk.many L$1132 ;; } 6070 L$485: // 072433 { .mib 012000096B00 6070 mov out1 = 75 // r44 = 75 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 199 HttpStatusCodeExplanation 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 010802000AC0 6071 mov out0 = rqptr // r43 = r32 00800003F000 6072 br.sptk.many L$1132 ;; } 6080 L$486: // 072435 { .mib 012000098B00 6080 mov out1 = 76 // r44 = 76 010802000AC0 6081 mov out0 = rqptr // r43 = r32 00800003D000 6082 br.sptk.many L$1132 ;; } 6090 L$487: // 072437 { .mib 01200009AB00 6090 mov out1 = 77 // r44 = 77 010802000AC0 6091 mov out0 = rqptr // r43 = r32 00800003B000 6092 br.sptk.many L$1132 ;; } 60A0 L$488: // 072439 { .mib 01200009CB00 60A0 mov out1 = 78 // r44 = 78 010802000AC0 60A1 mov out0 = rqptr // r43 = r32 008000039000 60A2 br.sptk.many L$1132 ;; } 60B0 L$489: // 072441 { .mib 01200009EB00 60B0 mov out1 = 79 // r44 = 79 010802000AC0 60B1 mov out0 = rqptr // r43 = r32 008000037000 60B2 br.sptk.many L$1132 ;; } 60C0 L$439: // 072348 { .mmi 012008090980 60C0 mov r38 = 200 ;; 018402642180 60C1 cmp4.lt pr6, pr0 = StatusCode, r38 // pr6, pr0 = r33, r38 000008000000 60C2 nop.i 0 } { .mfb 000008000000 60D0 nop.m 0 000008000000 60D1 nop.f 0 008600020006 60D2 (pr6) br.cond.dpnt.many L$490 ;; } { .mmi 0119F21709C0 60E0 adds r39 = -200, StatusCode ;; // r39 = -200, r33 01AC0270E240 60E1 cmp4.ltu pr9, pr0 = 7, r39 000008000000 60E2 nop.i 0 } { .mfb 000008000000 60F0 nop.m 0 000008000000 60F1 nop.f 0 008600026009 60F2 (pr9) br.cond.dpnt.many L$454 ;; } { .mib 012000100080 6100 add r2 = @ltoff($LINK$+256), gp // r2 = @ltoff($LINK$+256), r1 0000B2700880 6101 sxt4 r34 = r39 004000000000 6102 nop.b 0 ;; } { .mmi 0080C0200080 6110 ld8 r2 = $LINK$ ;; // r2 = [r2] 010090244080 6111 shladd r2 = r34, 3, r2 000008000000 6112 nop.i 0 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 200 HttpStatusCodeExplanation 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mii 0080C02003C0 6120 ld8 r15 = $LINK$ // r15 = [r2] 000180000080 6121 mov r2 = ip ;; 01000021E3C0 6122 add r15 = r15, r2 ;; } { .mib 000008000000 6130 nop.m 0 000E0011E180 6131 mov br6 = r15 00010000D000 6132 br.sptk.many br6 ;; } 6140 L$495: // 072357 { .mib 012000054B00 6140 mov out1 = 42 // r44 = 42 010802000AC0 6141 mov out0 = rqptr // r43 = r32 008000025000 6142 br.sptk.many L$1132 ;; } 6150 L$496: // 072359 { .mib 012000056B00 6150 mov out1 = 43 // r44 = 43 010802000AC0 6151 mov out0 = rqptr // r43 = r32 008000023000 6152 br.sptk.many L$1132 ;; } 6160 L$497: // 072361 { .mib 012000058B00 6160 mov out1 = 44 // r44 = 44 010802000AC0 6161 mov out0 = rqptr // r43 = r32 008000021000 6162 br.sptk.many L$1132 ;; } 6170 L$498: // 072363 { .mib 01200005AB00 6170 mov out1 = 45 // r44 = 45 010802000AC0 6171 mov out0 = rqptr // r43 = r32 00800001F000 6172 br.sptk.many L$1132 ;; } 6180 L$499: // 072365 { .mib 01200005CB00 6180 mov out1 = 46 // r44 = 46 010802000AC0 6181 mov out0 = rqptr // r43 = r32 00800001D000 6182 br.sptk.many L$1132 ;; } 6190 L$500: // 072367 { .mib 01200005EB00 6190 mov out1 = 47 // r44 = 47 010802000AC0 6191 mov out0 = rqptr // r43 = r32 00800001B000 6192 br.sptk.many L$1132 ;; } 61A0 L$501: // 072369 { .mib 012000060B00 61A0 mov out1 = 48 // r44 = 48 010802000AC0 61A1 mov out0 = rqptr // r43 = r32 008000019000 61A2 br.sptk.many L$1132 ;; } 61B0 L$502: // 072371 { .mmi 012000100200 61B0 add r8 = @ltoff($LITERAL$+648), gp ;; // r8 = @ltoff($LITERAL$+648), r1 0080C0800200 61B1 ld8 r8 = $LITERAL$ // r8 = [r8] Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 201 HttpStatusCodeExplanation 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 61B2 nop.i 0 } { .mfb 000008000000 61C0 nop.m 0 000008000000 61C1 nop.f 0 008000019000 61C2 br.sptk.many L$453 ;; } 61D0 L$490: // 072348 { .mfb 01CC021C81C0 61D0 cmp4.eq pr7, pr0 = 100, StatusCode // pr7, pr0 = 100, r33 000008000000 61D1 nop.f 0 008600010007 61D2 (pr7) br.cond.dpnt.many L$506 ;; } { .mfb 01CC021CA240 61E0 cmp4.eq pr9, pr0 = 101, StatusCode // pr9, pr0 = 101, r33 000008000000 61E1 nop.f 0 00860000C009 61E2 (pr9) br.cond.dpnt.many L$510 ;; } { .mfb 01CC521CC000 61F0 cmp4.eq pr0, pr10 = 102, StatusCode // pr0, pr10 = 102, r33 000008000000 61F1 nop.f 0 00860000600A 61F2 (pr10) br.cond.dpnt.many L$454 ;; } { .mmi 012000100200 6200 add r8 = @ltoff($LITERAL$+632), gp ;; // r8 = @ltoff($LITERAL$+632), r1 // 072355 0080C0800200 6201 ld8 r8 = $LITERAL$ // r8 = [r8] 000008000000 6202 nop.i 0 } { .mfb 000008000000 6210 nop.m 0 000008000000 6211 nop.f 0 00800000F000 6212 br.sptk.many L$453 ;; } 6220 L$454: // 072443 { .mmi 012000100200 6220 add r8 = @ltoff($LITERAL$+576), gp ;; // r8 = @ltoff($LITERAL$+576), r1 // 072444 0080C0800200 6221 ld8 r8 = $LITERAL$ // r8 = [r8] 000008000000 6222 nop.i 0 } { .mfb 000008000000 6230 nop.m 0 000008000000 6231 nop.f 0 00800000B000 6232 br.sptk.many L$453 ;; } 6240 L$510: // 072353 { .mib 012000052B00 6240 mov out1 = 41 // r44 = 41 010802000AC0 6241 mov out0 = rqptr // r43 = r32 008000005000 6242 br.sptk.many L$1132 ;; } 6250 L$506: // 072351 { .mii 012000050B00 6250 mov out1 = 40 // r44 = 40 010802000AC0 6251 mov out0 = rqptr // r43 = r32 000008000000 6252 nop.i 0 } 6260 L$1132: Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 202 HttpStatusCodeExplanation 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mfb 012000004640 6260 mov ai = 2 // r25 = 2 000008000000 6261 nop.f 0 00A000001000 6262 br.call.sptk.many rp = MsgFor ;; // br0 = MsgFor } { .mfi 010802A00040 6270 mov gp = r42 // r1 = r42 000008000000 6271 nop.f 0 000008000000 6272 nop.i 0 } 6280 L$453: { .mii 000008000000 6280 nop.m 0 000154052000 6281 mov.i rspfs = r41 ;; 000E00150000 6282 mov rp = r40 // br0 = r40 } { .mfb 000008000000 6290 nop.m 0 000008000000 6291 nop.f 0 000108001100 6292 br.ret.sptk.many rp ;; // br0 } .endp HttpStatusCodeExplanation Routine Size: 1472 bytes, Routine Base: $CODE$ + 5CE0 .proc HtmlMetaInfo .align 32 .global HtmlMetaInfo HtmlMetaInfo: // 072454 { .mii 002C00B22A40 62A0 alloc r41 = rspfs, 2, 9, 6, 0 012000100240 62A1 add r9 = @ltoffx(SoftwareID), gp // r9 = @ltoffx(SoftwareID), r1 // 072472 0120800A0380 62A2 mov r14 = 2128 // 072454 } { .mmi 01093A07C200 62B0 adds r8 = 5054, rqptr ;; // r8 = 5054, r32 // 072473 0080C0900240 62B1 ld8.mov r9 = [r9], SoftwareID // 072472 010028E183C0 62B2 sub r15 = sp, r14 // r15 = r12, r14 // 072454 } { .mii 0108220D0440 62C0 adds r17 = 616, in0 // r17 = 616, r32 // 072475 010800C00080 62C1 mov r2 = sp ;; // r2 = r12 // 072454 01080A070480 62C2 adds r18 = 184, in0 // r18 = 184, r32 // 072480 } { .mii 0080C0F00380 62D0 ld8 r14 = [r15] // 072454 010800F00300 62D1 mov sp = r15 // r12 = r15 010800F303C0 62D2 adds r15 = 24, r15 ;; // 072472 } { .mii 008C80F12000 62E0 st4 [r15] = r9 000188000A00 62E1 mov r40 = rp // r40 = br0 // 072454 010800F20500 62E2 adds r20 = 16, r15 // 072478 } { .mmi 010800F004C0 62F0 adds r19 = 0, r15 ;; // 072471 010800F083C0 62F1 adds r15 = 4, r15 // 072473 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 203 HtmlMetaInfo 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 010800100A80 62F2 mov r42 = gp // r42 = r1 // 072454 } { .mmi 0108013304C0 6300 adds r19 = 24, r19 ;; // 072471 00BC88F11900 6301 st4 [r15] = r8, -28 // 072473 000008000000 6302 nop.i 0 ;; } { .mmi 008001100440 6310 ld1 r17 = [r17] // 072475 008081200480 6311 ld4 r18 = [r18] // 072480 000008000000 6312 nop.i 0 ;; } { .mii 000008000000 6320 nop.m 0 0000A1100440 6321 sxt1 r17 = r17 // 072475 0000B1200480 6322 sxt4 r18 = r18 ;; // 072480 } { .mib 0108712E8480 6330 adds r18 = 1908, r18 01C001100200 6331 cmp.eq pr8, pr0 = r0, r17 // 072475 00860000E008 6332 (pr8) br.cond.dpnt.many L$399 ;; } { .mii 0120001005C0 6340 add r23 = @ltoff($LITERAL$+520), // r23 = @ltoff($LITERAL$+520), r1 // 072477 gp 0108220D0540 6341 adds r21 = 616, rqptr // r21 = 616, r32 // 072478 0108D2070680 6342 adds r26 = 3384, in0 ;; // r26 = 3384, r32 // 072479 } { .mii 0080C17005C0 6350 ld8 r23 = $LITERAL$ // r23 = [r23] // 072477 010800F483C0 6351 adds r15 = 36, r15 // 072478 000008000000 6352 nop.i 0 ;; } { .mmi 00BC88F2BF00 6360 st4 [r15] = r21, -4 ;; 00AC80F2E200 6361 st4 [r15] = r23, 8 // 072477 000008000000 6362 nop.i 0 ;; } { .mmi 008081A00680 6370 ld4 r26 = [r26] ;; // 072479 00AC80F34100 6371 st4 [r15] = r26, 4 000008000000 6372 nop.i 0 ;; } { .mfi 00BC88F25500 6380 st4 [r15] = r18, -44 // 072480 000008000000 6381 nop.f 0 000008000000 6382 nop.i 0 ;; } { .mfb 000008000000 6390 nop.m 0 000008000000 6391 nop.f 0 008000009000 6392 br.sptk.many L$400 ;; // 072482 } 63A0 L$399: { .mii 012000100700 63A0 add r28 = @ltoff($LITERAL$+480), // r28 = @ltoff($LITERAL$+480), r1 // 072484 gp Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 204 HtmlMetaInfo 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 010800C40740 63A1 adds r29 = 32, sp // r29 = 32, r12 010800C48780 63A2 adds r30 = 36, sp // r30 = 36, r12 // 072485 } { .mmi 0108014004C0 63B0 mov vecptr = r20 ;; // r19 = r20 0080C1C00700 63B1 ld8 r28 = $LITERAL$ // r28 = [r28] // 072484 000008000000 63B2 nop.i 0 ;; } { .mmi 008C81D38000 63C0 st4 [r29] = r28 008C81E24000 63C1 st4 [r30] = r18 // 072485 000008000000 63C2 nop.i 0 ;; } 63D0 L$400: // 072486 { .mfb 01C400042280 63D0 cmp4.eq pr10, pr0 = VmsInfoPtr, r0 // pr10, pr0 = r33, r0 // 072488 000008000000 63D1 nop.f 0 00860004A00A 63D2 (pr10) br.cond.dpnt.many L$402 ;; } { .mmi 0080021007C0 63E0 ld1 r31 = [in1] ;; // r31 = [r33] 000008000000 63E1 nop.m 0 0000A1F007C0 63E2 sxt1 r31 = r31 ;; } { .mfb 01C001F00300 63F0 cmp.eq pr12, pr0 = r0, r31 000008000000 63F1 nop.f 0 00860004600C 63F2 (pr12) br.cond.dpnt.many L$402 ;; } { .mii 012000100880 6400 add r34 = @ltoff(Config+1448), gp // r34 = @ltoff(Config+1448), r1 // 072490 0108013088C0 6401 adds r35 = 4, vecptr // r35 = 4, r19 // 072512 000008000000 6402 nop.i 0 ;; } { .mmi 0080C2200880 6410 ld8 r34 = Config ;; // r34 = [r34] // 072490 008082200880 6411 ld4 r34 = Config // r34 = [r34] 000008000000 6412 nop.i 0 ;; } { .mfb 01C402200380 6420 cmp4.eq pr14, pr0 = r0, r34 000008000000 6421 nop.f 0 00860003C00E 6422 (pr14) br.cond.dpnt.many L$405 ;; } { .mii 012000100900 6430 add r36 = @ltoff($LITERAL$+440), // r36 = @ltoff($LITERAL$+440), r1 // 072492 gp 01081A008980 6431 adds r38 = 388, in0 // r38 = 388, r32 // 072494 0108023109C0 6432 adds r39 = 8, vecptr // r39 = 8, r35 // 072509 } { .mmi 010802308940 6440 adds vecptr = 4, r35 ;; // r37 = 4, r35 // 072493 0080C2400900 6441 ld8 r36 = $LITERAL$ // r36 = [r36] // 072492 000008000000 6442 nop.i 0 ;; } { .mmi 008C81348000 6450 st4 [r19] = r36 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 205 HtmlMetaInfo 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 008C82342000 6451 st4 [r35] = VmsInfoPtr // [r35] = r33 // 072493 000008000000 6452 nop.i 0 ;; } { .mmi 008082600980 6460 ld4 r38 = [r38] ;; // 072494 01C402600180 6461 cmp4.eq pr6, pr0 = r0, r38 000008000000 6462 nop.i 0 } { .mfb 000008000000 6470 nop.m 0 000008000000 6471 nop.f 0 00860002E006 6472 (pr6) br.cond.dpnt.many L$407 ;; } { .mii 012000100AC0 6480 add out0 = @ltoff($LITERAL$+400), // r43 = @ltoff($LITERAL$+400), r1 // 072496 gp 01CC02604200 6481 cmp4.eq pr8, pr0 = 2, r38 // 072497 000008000000 6482 nop.i 0 ;; } { .mmi 0080C2B00AC0 6490 ld8 out0 = $LITERAL$ ;; // r43 = [r43] // 072496 008C82556000 6491 st4 [r37] = out0 // [r37] = r43 000008000000 6492 nop.i 0 } { .mfb 000008000000 64A0 nop.m 0 000008000000 64A1 nop.f 0 008600024008 64A2 (pr8) br.cond.dpnt.many L$411 ;; // 072497 } { .mfb 01CC0260A280 64B0 cmp4.eq pr10, pr0 = 5, r38 000008000000 64B1 nop.f 0 00860001E00A 64B2 (pr10) br.cond.dpnt.many L$415 ;; } { .mfb 01CC02684300 64C0 cmp4.eq pr12, pr0 = 66, r38 000008000000 64C1 nop.f 0 00860001800C 64C2 (pr12) br.cond.dpnt.many L$419 ;; } { .mfb 01CC0269A380 64D0 cmp4.eq pr14, pr0 = 77, r38 000008000000 64D1 nop.f 0 00860001200E 64D2 (pr14) br.cond.dpnt.many L$423 ;; } { .mfb 01CC026B03C0 64E0 cmp4.eq pr15, pr0 = 88, r38 000008000000 64E1 nop.f 0 00860000C00F 64E2 (pr15) br.cond.dpnt.many L$427 ;; } { .mfb 01CC3A6C6000 64F0 cmp4.eq pr0, pr7 = 99, r38 000008000000 64F1 nop.f 0 008600006007 64F2 (pr7) br.cond.dpnt.many L$430 ;; } { .mmi 012000100B00 6500 add out1 = @ltoff($LITERAL$+392), // r44 = @ltoff($LITERAL$+392), r1 // 072504 gp ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 206 HtmlMetaInfo 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0080C2C00B00 6501 ld8 out1 = $LITERAL$ // r44 = [r44] 000008000000 6502 nop.i 0 ;; } { .mfb 008C82758000 6510 st4 [r39] = out1 // [r39] = r44 000008000000 6511 nop.f 0 008000027000 6512 br.sptk.many L$432 ;; } 6520 L$430: // 072505 { .mmi 012000100B80 6520 add out3 = @ltoff($LITERAL$+384), // r46 = @ltoff($LITERAL$+384), r1 gp ;; 0080C2E00B80 6521 ld8 out3 = $LITERAL$ // r46 = [r46] 000008000000 6522 nop.i 0 ;; } { .mfb 008C8275C000 6530 st4 [r39] = out3 // [r39] = r46 000008000000 6531 nop.f 0 008000023000 6532 br.sptk.many L$432 ;; // 072506 } 6540 L$427: // 072503 { .mmi 012000100C00 6540 add out5 = @ltoff($LITERAL$+376), // r48 = @ltoff($LITERAL$+376), r1 gp ;; 0080C3000C00 6541 ld8 out5 = $LITERAL$ // r48 = [r48] 000008000000 6542 nop.i 0 ;; } { .mfb 008C82760000 6550 st4 [r39] = out5 // [r39] = r48 000008000000 6551 nop.f 0 00800001F000 6552 br.sptk.many L$432 ;; } 6560 L$423: // 072502 { .mmi 012000100240 6560 add r9 = @ltoff($LITERAL$+368), gp ;; // r9 = @ltoff($LITERAL$+368), r1 0080C0900240 6561 ld8 r9 = $LITERAL$ // r9 = [r9] 000008000000 6562 nop.i 0 ;; } { .mfb 008C82712000 6570 st4 [r39] = r9 000008000000 6571 nop.f 0 00800001B000 6572 br.sptk.many L$432 ;; } 6580 L$419: // 072501 { .mmi 012000100200 6580 add r8 = @ltoff($LITERAL$+360), gp ;; // r8 = @ltoff($LITERAL$+360), r1 0080C0800200 6581 ld8 r8 = $LITERAL$ // r8 = [r8] 000008000000 6582 nop.i 0 ;; } { .mfb 008C82710000 6590 st4 [r39] = r8 000008000000 6591 nop.f 0 008000017000 6592 br.sptk.many L$432 ;; } 65A0 L$415: // 072500 { .mmi 012000100440 65A0 add r17 = @ltoff($LITERAL$+352), // r17 = @ltoff($LITERAL$+352), r1 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 207 HtmlMetaInfo 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 gp ;; 0080C1100440 65A1 ld8 r17 = $LITERAL$ // r17 = [r17] 000008000000 65A2 nop.i 0 ;; } { .mfb 008C82722000 65B0 st4 [r39] = r17 000008000000 65B1 nop.f 0 008000013000 65B2 br.sptk.many L$432 ;; } 65C0 L$411: // 072499 { .mmi 0120001005C0 65C0 add r23 = @ltoff($LITERAL$+344), // r23 = @ltoff($LITERAL$+344), r1 gp ;; 0080C17005C0 65C1 ld8 r23 = $LITERAL$ // r23 = [r23] 000008000000 65C2 nop.i 0 ;; } { .mfb 008C8272E000 65D0 st4 [r39] = r23 000008000000 65D1 nop.f 0 00800000F000 65D2 br.sptk.many L$432 ;; } 65E0 L$407: // 072508 { .mmi 012000100600 65E0 add r24 = @ltoff($LITERAL$+336), // r24 = @ltoff($LITERAL$+336), r1 // 072509 gp ;; 0080C1800600 65E1 ld8 r24 = $LITERAL$ // r24 = [r24] 000008000000 65E2 nop.i 0 ;; } { .mfb 008C82530000 65F0 st4 [r37] = r24 000008000000 65F1 nop.f 0 00800000B000 65F2 br.sptk.many L$432 ;; } 6600 L$405: // 072511 { .mmi 012000100540 6600 add r21 = @ltoff($LITERAL$+336), // r21 = @ltoff($LITERAL$+336), r1 // 072512 gp ;; 0080C1500540 6601 ld8 r21 = $LITERAL$ // r21 = [r21] 000008000000 6602 nop.i 0 ;; } { .mfb 008C8132A000 6610 st4 [r19] = r21 000008000000 6611 nop.f 0 008000007000 6612 br.sptk.many L$432 ;; } 6620 L$402: // 072514 { .mmi 012000100640 6620 add ai = @ltoff($LITERAL$+336), gp ;; // r25 = @ltoff($LITERAL$+336), r1 // 072515 0080C1900640 6621 ld8 ai = $LITERAL$ // r25 = [r25] 000008000000 6622 nop.i 0 ;; } { .mfi 008C81332000 6630 st4 [r19] = ai // [r19] = r25 000008000000 6631 nop.f 0 000008000000 6632 nop.i 0 } 6640 L$432: Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 208 HtmlMetaInfo 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mii 0120001006C0 6640 add r27 = @ltoff($LITERAL$+200), // r27 = @ltoff($LITERAL$+200), r1 // 072517 gp 01200000C640 6641 mov ai = 6 // r25 = 6 010800C30C00 6642 adds out5 = 24, sp ;; // r48 = 24, r12 } { .mii 0080C1B00BC0 6650 ld8 out4 = $LITERAL$ // r47 = [r27] 010800C20B80 6651 adds out3 = 16, sp // r46 = 16, r12 012080000B40 6652 mov out2 = 2048 // r45 = 2048 } { .mmi 010800CB0B00 6660 adds out1 = 88, sp ;; // r44 = 88, r12 010800000AC0 6661 mov out0 = r0 // r43 = r0 000008000000 6662 nop.i 0 } { .mfb 000008000000 6670 nop.m 0 000008000000 6671 nop.f 0 00A000001000 6672 br.call.sptk.many rp = FaolSAK ;; // br0 = FaolSAK } { .mii 012060002880 6680 mov r34 = 1537 // 072525 00A0308001C0 6681 tbit.z pr7, pr6 = status, 0 // pr7, pr6 = r8, 0 010802A00040 6682 mov gp = r42 ;; // r1 = r42 // 072517 } { .mmi 01C402210200 6690 cmp4.eq pr8, pr0 = status, r34 ;; // pr8, pr0 = r8, r34 // 072525 01C230000008 6691 (pr8) cmp.eq.or.andcm pr0, pr6 = r0, r0 000008000000 6692 nop.i 0 } { .mfb 000008000000 66A0 nop.m 0 000008000000 66A1 nop.f 0 00860000C006 66A2 (pr6) br.cond.dpnt.many L$434 ;; } { .mii 012000100BC0 66B0 add out4 = @ltoffx($LITERAL$), gp // r47 = @ltoffx($LITERAL$), r1 // 072527 01200000A640 66B1 mov ai = 5 // r25 = 5 010800000B40 66B2 mov out2 = r0 // r45 = r0 } { .mmi 010802000AC0 66C0 mov out0 = rqptr ;; // r43 = r32 0080C2F00B80 66C1 ld8.mov out3 = [r47], $LITERAL$ 012068090BC0 66C2 mov out4 = 1736 // r47 = 1736 } { .mib 000008000000 66D0 nop.m 0 0000B0800B00 66D1 sxt4 out1 = status // r44 = r8 00A000001000 66D2 br.call.sptk.many rp = ErrorNoticed ;; // br0 = ErrorNoticed } { .mmi 010802A00040 66E0 mov gp = r42 ;; // r1 = r42 012000100200 66E1 add r8 = @ltoff($LITERAL$+168), gp // r8 = @ltoff($LITERAL$+168), r1 // 072528 000008000000 66E2 nop.i 0 ;; } { .mfb Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 209 HtmlMetaInfo 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0080C0800200 66F0 ld8 r8 = $LITERAL$ // r8 = [r8] 000008000000 66F1 nop.f 0 008000017000 66F2 br.sptk.many L$435 ;; } 6700 L$434: // 072529 { .mii 010800C20900 6700 adds r36 = 16, sp // r36 = 16, r12 // 072531 012FF80FE840 6701 addl in1 = 65535, r0 // r33 = 65535, r0 000008000000 6702 nop.i 0 } { .mlx 012000004640 6710 mov ai = 2 // r25 = 2 8000000003FF 6711 movl r35 = 4294967295 ;; 019FFFDFD1 } { .mii 0080C2400900 6720 ld8 r36 = [r36] 010802000AC0 6721 mov out0 = rqptr ;; // r43 = r32 010062442900 6722 and r36 = in1, r36 ;; // r36 = r33, r36 } { .mmi 010802402900 6730 adds r36 = 1, r36 ;; 010062348B00 6731 and out1 = r36, r35 // r44 = r36, r35 000008000000 6732 nop.i 0 } { .mfb 000008000000 6740 nop.m 0 000008000000 6741 nop.f 0 00A000001000 6742 br.call.sptk.many rp = VmGetHeap ;; // br0 = VmGetHeap } { .mii 010800C209C0 6750 adds r39 = 16, sp // r39 = 16, r12 // 072532 010800800980 6751 mov MetaPtr = r8 // r38 = r8 // 072531 010800CB0B40 6752 adds out2 = 88, sp // r45 = 88, r12 // 072532 } { .mmi 010800800AC0 6760 mov out0 = r8 ;; // r43 = r8 0080C27009C0 6761 ld8 r39 = [r39] 010802A00040 6762 mov gp = r42 ;; // r1 = r42 // 072531 } { .mmi 010062742840 6770 and in1 = in1, r39 ;; // r33 = r33, r39 // 072532 010802102B00 6771 adds out1 = 1, in1 // r44 = 1, r33 000008000000 6772 nop.i 0 } { .mfb 000008000000 6780 nop.m 0 000008000000 6781 nop.f 0 00A000001000 6782 br.call.sptk.many rp = OTS$MOVE ;; // br0 = OTS$MOVE } { .mii 010802600200 6790 mov r8 = MetaPtr // r8 = r38 // 072534 010802A00040 6791 mov gp = r42 // r1 = r42 // 072532 000008000000 6792 nop.i 0 ;; } 67A0 L$435: // 072534 { .mii Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 210 HtmlMetaInfo 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 67A0 nop.m 0 000154052000 67A1 mov.i rspfs = r41 ;; 000E00150000 67A2 mov rp = r40 // br0 = r40 } { .mfb 010880CA0300 67B0 adds sp = 2128, sp // r12 = 2128, r12 000008000000 67B1 nop.f 0 000108001100 67B2 br.ret.sptk.many rp ;; // br0 } .endp HtmlMetaInfo Routine Size: 1312 bytes, Routine Base: $CODE$ + 62A0 .proc DurationString .align 32 .global DurationString DurationString: // 072545 { .mii 002C00614900 67C0 alloc r36 = rspfs, 2, 4, 4, 0 0001880008C0 67C1 mov r35 = rp // r35 = br0 01C400040200 67C2 cmp4.eq pr8, pr0 = rqptr, r0 // pr8, pr0 = r32, r0 // 072570 } { .mfb 010800100940 67D0 mov r37 = gp // r37 = r1 // 072545 000008000000 67D1 nop.f 0 008600008008 67D2 (pr8) br.cond.dpnt.many L$351 ;; // 072570 } { .mii 012000004640 67E0 mov ai = 2 // r25 = 2 // 072571 0120000409C0 67E1 mov out1 = 32 // r39 = 32 010802000980 67E2 mov out0 = rqptr // r38 = r32 } { .mfb 000008000000 67F0 nop.m 0 000008000000 67F1 nop.f 0 00A000001000 67F2 br.call.sptk.many rp = VmGetHeap ;; // br0 = VmGetHeap } { .mib 010800800800 6800 mov sptr = r8 // r32 = r8 010802500040 6801 mov gp = r37 // r1 = r37 00800000F000 6802 br.sptk.many L$352 ;; // 072572 } 6810 L$351: { .mii 0120001000C0 6810 add r3 = @gprel(bidx), gp // r3 = @gprel(bidx), r1 // 072574 0120001002C0 6811 add r11 = @ltoffx(buf), gp // r11 = @ltoffx(buf), r1 012000008440 6812 mov r17 = 4 ;; // 072575 } { .mmi 008080300240 6820 ld4 r9 = [r3] // 072574 0080C0B002C0 6821 ld8.mov r11 = [r11], buf 000008000000 6822 nop.i 0 ;; } { .mii 000008000000 6830 nop.m 0 00A7C3812280 6831 shl r10 = r9, 7 010800902240 6832 adds r9 = 1, r9 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 211 DurationString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mii 008C80312000 6840 st4 [r3] = r9 0000B0A00280 6841 sxt4 r10 = r10 018401112180 6842 cmp4.lt pr6, pr0 = r9, r17 ;; // 072575 } { .mfb 010000A16800 6850 add sptr = r11, r10 // r32 = r11, r10 // 072574 000008000000 6851 nop.f 0 008600004006 6852 (pr6) br.cond.dpnt.many L$352 ;; // 072575 } { .mfi 008C80300000 6860 st4 [r3] = r0 000008000000 6861 nop.f 0 000008000000 6862 nop.i 0 ;; } 6870 L$352: // 072576 { .mmi 0080C21004C0 6870 ld8 time64 = [in1] ;; // r19 = [r33] // 072578 01D8013FE280 6871 cmp.eq pr10, pr0 = -1, time64 // pr10, pr0 = -1, r19 // 072579 01C041300240 6872 cmp.eq pr9, pr8 = r0, time64 ;; // pr9, pr8 = r0, r19 } { .mfb 01C24000000A 6880 (pr10) cmp.eq.or.andcm pr0, pr8 = r0, r0 000008000000 6881 nop.f 0 008600006008 6882 (pr8) br.cond.dpnt.many L$355 ;; } { .mmi 012000100800 6890 add in0 = @ltoff($LITERAL$+160), // r32 = @ltoff($LITERAL$+160), r1 // 072580 gp ;; 0080C2000800 6891 ld8 in0 = $LITERAL$ // r32 = [r32] 000008000000 6892 nop.i 0 } { .mfb 000008000000 68A0 nop.m 0 000008000000 68A1 nop.f 0 0080000B3000 68A2 br.sptk.many L$356 ;; // 072581 } 68B0 L$355: { .mlx 000008000000 68B0 nop.m 0 01FFFFFFFFFD 68B1 movl r20 = -10000000 ;; // 072582 01AD33C00A } { .mfb 018001426300 68C0 cmp.lt pr12, pr0 = time64, r20 // pr12, pr0 = r19, r20 000008000000 68C1 nop.f 0 00860004600C 68C2 (pr12) br.cond.dpnt.many L$357 ;; } { .mii 010029300540 68D0 sub r21 = r0, time64 // r21 = r0, r19 // 072585 0188013003C0 68D1 cmp.lt pr15, pr0 = 0, time64 // pr15, pr0 = 0, r19 000008000000 68D2 nop.i 0 } { .mlx 013D8FCE05C0 68E0 addl r23 = -10000, r0 // 072588 01030E200000 68E1 movl r22 = -4556648864387432448 ;; // 072589 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 212 DurationString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 01A000000B } { .mmi 0108015004CF 68F0 (pr15) mov time64 = r21 // r19 = r21 // 072585 00C7C802C200 68F1 setf.d f8 = r22 // 072589 000008000000 68F2 nop.i 0 ;; } { .mii 00C708026180 6900 setf.sig f6 = time64 // f6 = r19 // 072587 01803932E000 6901 cmp.lt pr0, pr7 = r23, time64 // pr0, pr7 = r23, r19 // 072588 000008000000 6902 nop.i 0 ;; } { .mfi 000008000000 6910 nop.m 0 0000E000C1C0 6911 fcvt.xf f7 = f6 // 072587 000008000000 6912 nop.i 0 ;; } { .mfi 000008000000 6920 nop.m 0 0124087001C0 6921 fnorm.d.s1 f7 = f7 000008000000 6922 nop.i 0 ;; } { .mfi 000008000000 6930 nop.m 0 00023080E280 6931 frcpa f10, pr6 = f7, f8 // 072589 000008000000 6932 nop.i 0 ;; } { .mfi 000008000000 6940 nop.m 0 010450700246 6941 (pr6) fma.s1 f9 = f7, f10, f0 000008000000 6942 nop.i 0 } { .mfi 000008000000 6950 nop.m 0 0184508022C6 6951 (pr6) fnma.s1 f11 = f8, f10, f1 000008000000 6952 nop.i 0 ;; } { .mfi 000008000000 6960 nop.m 0 010448B12246 6961 (pr6) fma.s1 f9 = f11, f9, f9 000008000000 6962 nop.i 0 } { .mfi 000008000000 6970 nop.m 0 010458B00306 6971 (pr6) fma.s1 f12 = f11, f11, f0 000008000000 6972 nop.i 0 ;; } { .mfi 000008000000 6980 nop.m 0 010450B14346 6981 (pr6) fma.s1 f13 = f11, f10, f10 000008000000 6982 nop.i 0 ;; } { .mfi 000008000000 6990 nop.m 0 010448C12246 6991 (pr6) fma.s1 f9 = f12, f9, f9 000008000000 6992 nop.i 0 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 213 DurationString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mfi 000008000000 69A0 nop.m 0 010460C002C6 69A1 (pr6) fma.s1 f11 = f12, f12, f0 000008000000 69A2 nop.i 0 ;; } { .mfi 000008000000 69B0 nop.m 0 010468C1A346 69B1 (pr6) fma.s1 f13 = f12, f13, f13 000008000000 69B2 nop.i 0 ;; } { .mfi 000008000000 69C0 nop.m 0 012448B12246 69C1 (pr6) fma.d.s1 f9 = f11, f9, f9 000008000000 69C2 nop.i 0 ;; } { .mfi 000008000000 69D0 nop.m 0 010468B1A346 69D1 (pr6) fma.s1 f13 = f11, f13, f13 000008000000 69D2 nop.i 0 ;; } { .mfi 000008000000 69E0 nop.m 0 01A44880E2C6 69E1 (pr6) fnma.d.s1 f11 = f8, f9, f7 000008000000 69E2 nop.i 0 ;; } { .mfi 000008000000 69F0 nop.m 0 012068B12286 69F1 (pr6) fma.d f10 = f11, f13, f9 000008000000 69F2 nop.i 0 ;; } { .mfb 000008000000 6A00 nop.m 0 000080A14380 6A01 mov f14 = f10 // 072594 008600008007 6A02 (pr7) br.cond.dpnt.many L$359 ;; // 072588 } { .mii 012000100600 6A10 add r24 = @ltoff($LITERAL$+144), // r24 = @ltoff($LITERAL$+144), r1 // 072589 gp 012400406640 6A11 addl ai = 81923, r0 // r25 = 81923, r0 010802000980 6A12 mov out0 = sptr ;; // r38 = r32 } { .mfb 0080C18009C0 6A20 ld8 out1 = $LITERAL$ // r39 = [r24] 000008000000 6A21 nop.f 0 00A000001000 6A22 br.call.sptk.many rp = DECC$TXSPRINTF ;; // br0 = DECC$TXSPRINTF } { .mfb 010802500040 6A30 mov gp = r37 // r1 = r37 000008000000 6A31 nop.f 0 008000081000 6A32 br.sptk.many L$356 ;; // 072590 } 6A40 L$359: { .mmi 013BDC080840 6A40 addl in1 = -1000000, r0 ;; // r33 = -1000000, r0 // 072591 018031342000 6A41 cmp.lt pr0, pr6 = in1, time64 // pr0, pr6 = r33, r19 000008000000 6A42 nop.i 0 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 214 DurationString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mfb 000008000000 6A50 nop.m 0 000008000000 6A51 nop.f 0 00860000C006 6A52 (pr6) br.cond.dpnt.many L$361 ;; } { .mii 0120001000C0 6A60 add r3 = @ltoff($LITERAL$+136), gp // r3 = @ltoff($LITERAL$+136), r1 // 072592 012400406640 6A61 addl ai = 81923, r0 // r25 = 81923, r0 010802000980 6A62 mov out0 = sptr // r38 = r32 } { .mfb 000008000000 6A70 nop.m 0 000080E1C280 6A71 mov f10 = f14 004000000000 6A72 nop.b 0 ;; } { .mmi 0080C03000C0 6A80 ld8 r3 = $LITERAL$ ;; // r3 = [r3] 0108003009C0 6A81 mov out1 = r3 // r39 = r3 000008000000 6A82 nop.i 0 } { .mfb 000008000000 6A90 nop.m 0 000008000000 6A91 nop.f 0 00A000001000 6A92 br.call.sptk.many rp = DECC$TXSPRINTF ;; // br0 = DECC$TXSPRINTF } { .mfb 010802500040 6AA0 mov gp = r37 // r1 = r37 000008000000 6AA1 nop.f 0 008000073000 6AA2 br.sptk.many L$356 ;; // 072593 } 6AB0 L$361: { .mii 012000100840 6AB0 add in1 = @ltoff($LITERAL$+128), // r33 = @ltoff($LITERAL$+128), r1 // 072594 gp 012400406640 6AB1 addl ai = 81923, r0 // r25 = 81923, r0 010802000980 6AB2 mov out0 = sptr // r38 = r32 } { .mfb 000008000000 6AC0 nop.m 0 000080E1C280 6AC1 mov f10 = f14 004000000000 6AC2 nop.b 0 ;; } { .mfb 0080C21009C0 6AD0 ld8 out1 = $LITERAL$ // r39 = [r33] 000008000000 6AD1 nop.f 0 00A000001000 6AD2 br.call.sptk.many rp = DECC$TXSPRINTF ;; // br0 = DECC$TXSPRINTF } { .mfb 010802500040 6AE0 mov gp = r37 // r1 = r37 000008000000 6AE1 nop.f 0 00800006B000 6AE2 br.sptk.many L$356 ;; } 6AF0 L$357: // 072596 { .mlx 000008000000 6AF0 nop.m 0 01FFFFFFFF70 6AF1 movl r34 = -600000000 ;; // 072597 01B74E4011 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 215 DurationString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mfb 018002226180 6B00 cmp.lt pr6, pr0 = time64, r34 // pr6, pr0 = r19, r34 000008000000 6B01 nop.f 0 008600036006 6B02 (pr6) br.cond.dpnt.many L$363 ;; } { .mlx 00C708026180 6B10 setf.sig f6 = time64 // f6 = r19 // 072600 81058C4B4000 6B11 movl r3 = -4511741717132607488 ;; // 072602 01A0000001 } { .mlx 00C7C8006200 6B20 setf.d f8 = r3 01FFFFFFFFE8 6B21 movl r8 = -100000000 ;; // 072601 01A3E50004 } { .mfi 018049310000 6B30 cmp.lt pr0, pr9 = r8, time64 // pr0, pr9 = r8, r19 000008000000 6B31 nop.f 0 000008000000 6B32 nop.i 0 ;; } { .mfi 000008000000 6B40 nop.m 0 0000E000C1C0 6B41 fcvt.xf f7 = f6 // 072600 000008000000 6B42 nop.i 0 ;; } { .mfi 000008000000 6B50 nop.m 0 0124087001C0 6B51 fnorm.d.s1 f7 = f7 000008000000 6B52 nop.i 0 ;; } { .mfi 000008000000 6B60 nop.m 0 00024080E280 6B61 frcpa f10, pr8 = f7, f8 // 072602 000008000000 6B62 nop.i 0 ;; } { .mfi 000008000000 6B70 nop.m 0 010450700248 6B71 (pr8) fma.s1 f9 = f7, f10, f0 000008000000 6B72 nop.i 0 } { .mfi 000008000000 6B80 nop.m 0 0184508022C8 6B81 (pr8) fnma.s1 f11 = f8, f10, f1 000008000000 6B82 nop.i 0 ;; } { .mfi 000008000000 6B90 nop.m 0 010448B12248 6B91 (pr8) fma.s1 f9 = f11, f9, f9 000008000000 6B92 nop.i 0 } { .mfi 000008000000 6BA0 nop.m 0 010458B00308 6BA1 (pr8) fma.s1 f12 = f11, f11, f0 000008000000 6BA2 nop.i 0 ;; } { .mfi Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 216 DurationString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 6BB0 nop.m 0 010450B14348 6BB1 (pr8) fma.s1 f13 = f11, f10, f10 000008000000 6BB2 nop.i 0 ;; } { .mfi 000008000000 6BC0 nop.m 0 010448C12248 6BC1 (pr8) fma.s1 f9 = f12, f9, f9 000008000000 6BC2 nop.i 0 } { .mfi 000008000000 6BD0 nop.m 0 010460C002C8 6BD1 (pr8) fma.s1 f11 = f12, f12, f0 000008000000 6BD2 nop.i 0 ;; } { .mfi 000008000000 6BE0 nop.m 0 010468C1A348 6BE1 (pr8) fma.s1 f13 = f12, f13, f13 000008000000 6BE2 nop.i 0 ;; } { .mfi 000008000000 6BF0 nop.m 0 012448B12248 6BF1 (pr8) fma.d.s1 f9 = f11, f9, f9 000008000000 6BF2 nop.i 0 ;; } { .mfi 000008000000 6C00 nop.m 0 010468B1A348 6C01 (pr8) fma.s1 f13 = f11, f13, f13 000008000000 6C02 nop.i 0 ;; } { .mfi 000008000000 6C10 nop.m 0 01A44880E2C8 6C11 (pr8) fnma.d.s1 f11 = f8, f9, f7 000008000000 6C12 nop.i 0 ;; } { .mfi 000008000000 6C20 nop.m 0 012068B12288 6C21 (pr8) fma.d f10 = f11, f13, f9 000008000000 6C22 nop.i 0 ;; } { .mfb 000008000000 6C30 nop.m 0 000080A14380 6C31 mov f14 = f10 // 072604 008600008009 6C32 (pr9) br.cond.dpnt.many L$365 ;; // 072601 } { .mii 012000100240 6C40 add r9 = @ltoff($LITERAL$+120), gp // r9 = @ltoff($LITERAL$+120), r1 // 072602 012400406640 6C41 addl ai = 81923, r0 // r25 = 81923, r0 010802000980 6C42 mov out0 = sptr ;; // r38 = r32 } { .mfb 0080C09009C0 6C50 ld8 out1 = $LITERAL$ // r39 = [r9] 000008000000 6C51 nop.f 0 00A000001000 6C52 br.call.sptk.many rp = DECC$TXSPRINTF ;; // br0 = DECC$TXSPRINTF } { .mfb 010802500040 6C60 mov gp = r37 // r1 = r37 000008000000 6C61 nop.f 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 217 DurationString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 00800003B000 6C62 br.sptk.many L$356 ;; // 072603 } 6C70 L$365: { .mii 012000100880 6C70 add r34 = @ltoff($LITERAL$+112), // r34 = @ltoff($LITERAL$+112), r1 // 072604 gp 012400406640 6C71 addl ai = 81923, r0 // r25 = 81923, r0 010802000980 6C72 mov out0 = sptr // r38 = r32 } { .mfb 000008000000 6C80 nop.m 0 000080E1C280 6C81 mov f10 = f14 004000000000 6C82 nop.b 0 ;; } { .mfb 0080C22009C0 6C90 ld8 out1 = $LITERAL$ // r39 = [r34] 000008000000 6C91 nop.f 0 00A000001000 6C92 br.call.sptk.many rp = DECC$TXSPRINTF ;; // br0 = DECC$TXSPRINTF } { .mfb 010802500040 6CA0 mov gp = r37 // r1 = r37 000008000000 6CA1 nop.f 0 008000033000 6CA2 br.sptk.many L$356 ;; } 6CB0 L$363: // 072606 { .mii 012000040240 6CB0 mov r9 = 32 // 072618 012000100200 6CB1 add r8 = @gprel(TimeDsc), gp // r8 = @gprel(TimeDsc), r1 // 072617 000008000000 6CB2 nop.i 0 } { .mlx 0120001000C0 6CC0 add r3 = @gprel(DateFaoDsc), gp // r3 = @gprel(DateFaoDsc), r1 // 072619 01FFFFFCDB56 6CC1 movl r34 = -864000000000 ;; // 072607 01A80B0011 } { .mfb 018002226180 6CD0 cmp.lt pr6, pr0 = time64, r34 // pr6, pr0 = r19, r34 000008000000 6CD1 nop.f 0 00860000C006 6CD2 (pr6) br.cond.dpnt.many L$367 ;; } { .mii 010800808200 6CE0 adds r8 = 4, r8 // 072610 012000008640 6CE1 mov ai = 4 // r25 = 4 // 072612 010802100A40 6CE2 mov out3 = Time64Ptr // r41 = r33 } { .mmi 0120000009C0 6CF0 mov out1 = 0 ;; // r39 = 0 00BC88841F00 6CF1 st4 [r8] = sptr, -4 // [r8] = r32, -4 // 072610 010800310A00 6CF2 adds out2 = 8, r3 // r40 = 8, r3 // 072612 } { .mmi 010800320980 6D00 adds out0 = 16, r3 ;; // r38 = 16, r3 008C40812000 6D01 st2 [r8] = r9 // 072611 000008000000 6D02 nop.i 0 } { .mfb 000008000000 6D10 nop.m 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 218 DurationString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 6D11 nop.f 0 00A000001000 6D12 br.call.sptk.many rp = SYS$FAO ;; // br0 = SYS$FAO // 072612 } { .mfb 010802500040 6D20 mov gp = r37 // r1 = r37 000008000000 6D21 nop.f 0 008000023000 6D22 br.sptk.many L$356 ;; // 072614 } 6D30 L$367: { .mmi 010800310A00 6D30 adds out2 = 8, r3 // r40 = 8, r3 // 072619 00AC40812100 6D31 st2 [r8] = r9, 4 // 072618 012000008640 6D32 mov ai = 4 ;; // r25 = 4 // 072619 } { .mii 010802100A40 6D40 mov out3 = Time64Ptr // r41 = r33 0120000009C0 6D41 mov out1 = 0 // r39 = 0 010800300980 6D42 mov out0 = r3 // r38 = r3 } { .mfb 008C80840000 6D50 st4 [r8] = sptr // [r8] = r32 // 072617 000008000000 6D51 nop.f 0 00A000001000 6D52 br.call.sptk.many rp = SYS$FAO ;; // br0 = SYS$FAO // 072619 } { .mii 00A002008880 6D60 ld1 r34 = [in0], 4 // r34 = [r32], 4 // 072621 012008040840 6D61 mov in1 = 160 // r33 = 160 // 072620 010802500040 6D62 mov gp = r37 ;; // r1 = r37 // 072619 } { .mmi 01C832240000 6D70 cmp.eq pr0, pr6 = 32, r34 // 072621 00BC0A043F00 6D71 st1 [in0] = in1, -4 // [r32] = r33, -4 // 072620 000008000000 6D72 nop.i 0 ;; } { .mfb 000008000000 6D80 nop.m 0 000008000000 6D81 nop.f 0 008600016006 6D82 (pr6) br.cond.dpnt.many L$356 ;; // 072621 } 6D90 L$372: { .mmi 010802002800 6D90 adds in0 = 1, in0 ;; // r32 = 1, r32 008002000200 6D91 ld1 r8 = [in0] // r8 = [r32] 000008000000 6D92 nop.i 0 ;; } { .mfb 01C840840000 6DA0 cmp.eq pr0, pr8 = 32, r8 000008000000 6DA1 nop.f 0 008600012008 6DA2 (pr8) br.cond.dpnt.many L$356 ;; } { .mmi 010802002800 6DB0 adds in0 = 1, in0 ;; // r32 = 1, r32 008002000240 6DB1 ld1 r9 = [in0] // r9 = [r32] 000008000000 6DB2 nop.i 0 ;; } { .mfb 01C850940000 6DC0 cmp.eq pr0, pr10 = 32, r9 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 219 DurationString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 6DC1 nop.f 0 00860000E00A 6DC2 (pr10) br.cond.dpnt.many L$356 ;; } { .mmi 010802002800 6DD0 adds in0 = 1, in0 ;; // r32 = 1, r32 008002000280 6DD1 ld1 r10 = [in0] // r10 = [r32] 000008000000 6DD2 nop.i 0 ;; } { .mfb 01C860A40000 6DE0 cmp.eq pr0, pr12 = 32, r10 000008000000 6DE1 nop.f 0 00860000A00C 6DE2 (pr12) br.cond.dpnt.many L$356 ;; } { .mmi 010802002800 6DF0 adds in0 = 1, in0 ;; // r32 = 1, r32 0080020002C0 6DF1 ld1 r11 = [in0] // r11 = [r32] 000008000000 6DF2 nop.i 0 ;; } { .mfb 01C870B40000 6E00 cmp.eq pr0, pr14 = 32, r11 000008000000 6E01 nop.f 0 00860000600E 6E02 (pr14) br.cond.dpnt.many L$356 ;; } { .mmi 010802002800 6E10 adds in0 = 1, in0 ;; // r32 = 1, r32 008002000440 6E11 ld1 r17 = [in0] // r17 = [r32] 010842000480 6E12 adds r18 = 1024, in0 ;; // r18 = 1024, r32 } { .mib 00CB01200000 6E20 lfetch [r18] 01C8011401C0 6E21 cmp.eq pr7, pr0 = 32, r17 0095FFFEE007 6E22 (pr7) br.cond.dptk.many L$372 ;; } 6E30 L$356: // 072622 { .mii 010802000200 6E30 mov r8 = sptr // r8 = r32 // 072624 000154048000 6E31 mov.i rspfs = r36 ;; 000E00146000 6E32 mov rp = r35 // br0 = r35 } { .mfb 000008000000 6E40 nop.m 0 000008000000 6E41 nop.f 0 000108001100 6E42 br.ret.sptk.many rp ;; // br0 } .endp DurationString Routine Size: 1680 bytes, Routine Base: $CODE$ + 67C0 .proc AverageDurationString .align 32 .global AverageDurationString AverageDurationString: // 072632 { .mii 002C0081A980 6E50 alloc r38 = rspfs, 3, 5, 5, 0 012000020380 6E51 mov r14 = 16 010800C00080 6E52 mov r2 = sp // r2 = r12 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 220 AverageDurationString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mmi 01C402200200 6E60 cmp4.eq pr8, pr0 = r0, Count ;; // pr8, pr0 = r0, r34 // 072653 010028E183C0 6E61 sub r15 = sp, r14 // r15 = r12, r14 // 072632 000188000940 6E62 mov r37 = rp ;; // r37 = br0 } { .mii 0080C0F00380 6E70 ld8 r14 = [r15] 010800F00300 6E71 mov sp = r15 // r12 = r15 010800F303C0 6E72 adds r15 = 24, r15 // 072652 } { .mmi 0108001009C0 6E80 mov r39 = gp ;; // r39 = r1 // 072632 00BCC8F01A00 6E81 st8 [r15] = r0, -24 // 072652 000008000000 6E82 nop.i 0 ;; } { .mfb 000008000000 6E90 nop.m 0 000008000000 6E91 nop.f 0 00860003C008 6E92 (pr8) br.cond.dpnt.many L$391 ;; // 072653 } { .mii 0111621F0280 6EA0 and r10 = -8, in1 // r10 = -8, r33 // 072655 000092200880 6EA1 zxt4 in2 = Count // r34 = r34 // 072656 012000004640 6EA2 mov ai = 2 // r25 = 2 // 072659 } { .mmi 010800F30A40 6EB0 adds out1 = 24, r15 ;; // r41 = 24, r15 00C708044180 6EB1 setf.sig f6 = in2 // f6 = r34 // 072656 01C058A42000 6EB2 cmp.eq pr0, pr11 = in1, r10 // pr0, pr11 = r33, r10 // 072655 } { .mii 00A0C0A10480 6EC0 ld8 r18 = [r10], 8 010800F20A00 6EC1 adds out0 = 16, r15 ;; // r40 = 16, r15 // 072659 009E100422CB 6EC2 (pr11) dep r11 = in1, r0, 3, 3 ;; // r11 = r33, r0, 3, 3 // 072655 } { .mmi 0080C0A0044B 6ED0 (pr11) ld8 r17 = [r10] ;; 000008000000 6ED1 nop.m 0 00F20121648B 6ED2 (pr11) shr.u r18 = r18, r11 } { .mfi 010128B802CB 6EE0 (pr11) sub r11 = 64, r11 000008000000 6EE1 nop.f 0 000008000000 6EE2 nop.i 0 ;; } { .mfi 000008000000 6EF0 nop.m 0 0100086001C0 6EF1 fcvt.xuf f7 = f6 // 072656 000008000000 6EF2 nop.i 0 ;; } { .mib 000008000000 6F00 nop.m 0 00F240B2244B 6F01 (pr11) shl r17 = r17, r11 // 072655 004000000000 6F02 nop.b 0 ;; } { .mfi 000008000000 6F10 nop.m 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 221 AverageDurationString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0114087001C0 6F11 fnorm.s.s1 f7 = f7 // 072656 000008000000 6F12 nop.i 0 ;; } { .mmi 01007122248B 6F20 (pr11) or r18 = r17, r18 ;; // 072655 010800F303C0 6F21 adds r15 = 24, r15 000008000000 6F22 nop.i 0 ;; } { .mfi 00BCC8F25E00 6F30 st8 [r15] = r18, -8 000008000000 6F31 nop.f 0 000008000000 6F32 nop.i 0 ;; } { .mfi 000008000000 6F40 nop.m 0 000248702200 6F41 frcpa f8, pr9 = f1, f7 // 072657 000008000000 6F42 nop.i 0 ;; } { .mfi 000008000000 6F50 nop.m 0 010440100249 6F51 (pr9) fma.s1 f9 = f1, f8, f0 000008000000 6F52 nop.i 0 } { .mfi 000008000000 6F60 nop.m 0 018440702289 6F61 (pr9) fnma.s1 f10 = f7, f8, f1 000008000000 6F62 nop.i 0 ;; } { .mfi 000008000000 6F70 nop.m 0 010448A12249 6F71 (pr9) fma.s1 f9 = f10, f9, f9 000008000000 6F72 nop.i 0 } { .mfi 000008000000 6F80 nop.m 0 010450A00289 6F81 (pr9) fma.s1 f10 = f10, f10, f0 000008000000 6F82 nop.i 0 ;; } { .mfi 000008000000 6F90 nop.m 0 010448A12249 6F91 (pr9) fma.s1 f9 = f10, f9, f9 000008000000 6F92 nop.i 0 } { .mfi 000008000000 6FA0 nop.m 0 010450A00289 6FA1 (pr9) fma.s1 f10 = f10, f10, f0 000008000000 6FA2 nop.i 0 ;; } { .mfi 000008000000 6FB0 nop.m 0 012448A12249 6FB1 (pr9) fma.d.s1 f9 = f10, f9, f9 000008000000 6FB2 nop.i 0 ;; } { .mfi 000008000000 6FC0 nop.m 0 011008900209 6FC1 (pr9) fma.s f8 = f9, f1, f0 000008000000 6FC2 nop.i 0 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 222 AverageDurationString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mfi 00FC88F11C00 6FD0 stfs [r15] = f8, -16 000008000000 6FD1 nop.f 0 000008000000 6FD2 nop.i 0 ;; } { .mfb 000008000000 6FE0 nop.m 0 000008000000 6FE1 nop.f 0 00A000001000 6FE2 br.call.sptk.many rp = // br0 = LIB$MULTS_DELTA_TIME // 072659 LIB$MULTS_DELTA_TIME ;; } { .mib 010802700040 6FF0 mov gp = r39 // r1 = r39 00A0308001C0 6FF1 tbit.z pr7, pr6 = status, 0 // pr7, pr6 = r8, 0 // 072660 008600010006 6FF2 (pr6) br.cond.dpnt.many L$391 ;; } { .mmi 01283D4B88C0 7000 addl r35 = 1410012, r0 ;; // 072662 01C402310240 7001 cmp4.eq pr9, pr0 = status, r35 // pr9, pr0 = r8, r35 000008000000 7002 nop.i 0 } { .mfb 000008000000 7010 nop.m 0 000008000000 7011 nop.f 0 00860000A009 7012 (pr9) br.cond.dpnt.many L$394 ;; } { .mii 012000100B00 7020 add out4 = @ltoffx($LITERAL$), gp // r44 = @ltoffx($LITERAL$), r1 // 072663 01200000A640 7021 mov ai = 5 // r25 = 5 010800000A80 7022 mov out2 = r0 // r42 = r0 } { .mmi 010802000A00 7030 mov out0 = rqptr ;; // r40 = r32 0080C2C00AC0 7031 ld8.mov out3 = [r44], $LITERAL$ 0120700A0B00 7032 mov out4 = 1872 // r44 = 1872 } { .mib 000008000000 7040 nop.m 0 0000B0800A40 7041 sxt4 out1 = status // r41 = r8 00A000001000 7042 br.call.sptk.many rp = ErrorNoticed ;; // br0 = ErrorNoticed } { .mfi 010802700040 7050 mov gp = r39 // r1 = r39 000008000000 7051 nop.f 0 000008000000 7052 nop.i 0 } 7060 L$394: { .mmi 010800C30900 7060 adds r36 = 24, sp ;; // r36 = 24, r12 // 072664 008CC2400000 7061 st8 [r36] = r0 000008000000 7062 nop.i 0 } 7070 L$391: // 072666 { .mib 010800C30A40 7070 adds out1 = 24, sp // r41 = 24, r12 // 072667 010802000A00 7071 mov out0 = rqptr // r40 = r32 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 223 AverageDurationString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 00A000001000 7072 br.call.sptk.many rp = DurationString ;; // br0 = DurationString } { .mii 000008000000 7080 nop.m 0 00015404C000 7081 mov.i rspfs = r38 ;; 000E0014A000 7082 mov rp = r37 // br0 = r37 } { .mfb 010800C20300 7090 adds sp = 16, sp // r12 = 16, r12 000008000000 7091 nop.f 0 000108001100 7092 br.ret.sptk.many rp ;; // br0 } .endp AverageDurationString Routine Size: 592 bytes, Routine Base: $CODE$ + 6E50 .proc ThisLongAgo .align 32 .global ThisLongAgo ThisLongAgo: // 072677 { .mii 002C00B20A40 70A0 alloc r41 = rspfs, 2, 9, 5, 0 012000020380 70A1 mov r14 = 16 010802100280 70A2 mov r10 = in1 // r10 = r33 // 072698 } { .mmi 012000060200 70B0 mov r8 = 48 ;; 010028E183C0 70B1 sub r15 = sp, r14 // r15 = r12, r14 // 072677 010800C00080 70B2 mov r2 = sp ;; // r2 = r12 } { .mii 0080C0F00380 70C0 ld8 r14 = [r15] 010800F00300 70C1 mov sp = r15 // r12 = r15 00A5B88202C0 70C2 shr.u r11 = r8, 8 ;; // 072698 } { .mii 00AC00A10040 70D0 st1 [r10] = r8, 1 000188000A00 70D1 mov r40 = rp // r40 = br0 // 072677 010800100A80 70D2 mov r42 = gp ;; // r42 = r1 } { .mmi 008C00A16000 70E0 st1 [r10] = r11 ;; // 072698 0080C2000440 70E1 ld8 r17 = [in0] // r17 = [r32] // 072700 000008000000 70E2 nop.i 0 ;; } { .mbb 01C039100000 70F0 cmp.eq pr0, pr7 = r0, r17 008600002007 70F1 (pr7) br.cond.dpnt.many L$335 00800006D000 70F2 br.sptk.many L$340 ;; } 7100 L$335: { .mib 012000002640 7100 mov ai = 1 // r25 = 1 // 072702 010800C20AC0 7101 adds out0 = 16, sp // r43 = 16, r12 00A000001000 7102 br.call.sptk.many rp = SYS$GETTIM ;; // br0 = SYS$GETTIM } { .mmi Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 224 ThisLongAgo 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 010800C20880 7110 adds r34 = 16, sp // r34 = 16, r12 // 072703 0080C2000800 7111 ld8 in0 = [in0] // r32 = [r32] 010802A00040 7112 mov gp = r42 ;; // r1 = r42 // 072702 } { .mii 0080C2200880 7120 ld8 r34 = [r34] // 072703 012000020240 7121 mov r9 = 16 // 072706 000008000000 7122 nop.i 0 } { .mlx 0125184009C0 7130 addl r39 = 86400, r0 // 072710 015AFE535795 7131 movl r36 = -2972493582642298179 ;; // 072703 01A85D4F52 } { .mmi 01002A044800 7140 sub in0 = r34, in0 // r32 = r34, r32 00C708048200 7141 setf.sig f8 = r36 0120001000C0 7142 add r3 = @gprel(AgoBufDsc), gp ;; // r3 = @gprel(AgoBufDsc), r1 // 072705 } { .mii 018000040180 7150 cmp.lt pr6, pr0 = in0, r0 // pr6, pr0 = r32, r0 // 072703 0108020008C0 7151 mov r35 = in0 // r35 = r32 0180000401C0 7152 cmp.lt pr7, pr0 = in0, r0 // pr7, pr0 = r32, r0 } { .mmi 0108003080C0 7160 adds r3 = 4, r3 ;; // 072705 01002A0008C6 7161 (pr6) sub r35 = r0, in0 // r35 = r0, r32 // 072703 000008000000 7162 nop.i 0 } { .mmi 00BC88343F00 7170 st4 [r3] = AgoBuf, -4 ;; // [r3] = r33, -4 // 072705 00C7080461C0 7171 setf.sig f7 = r35 // 072703 000008000000 7172 nop.i 0 } { .mfi 008C40312000 7180 st2 [r3] = r9 // 072706 000008000000 7181 nop.f 0 000008000000 7182 nop.i 0 ;; } { .mfi 000008000000 7190 nop.m 0 01D840700180 7191 xma.hu f6 = f7, f8, f0 // 072703 000008000000 7192 nop.i 0 ;; } { .mmi 00870800C8C0 71A0 getf.sig r35 = f6 ;; 000008000000 71A1 nop.m 0 00A54235C980 71A2 shr.u r38 = r35, 23 ;; } { .mmi 01002A600940 71B0 sub r37 = r0, r38 ;; 010802500987 71B1 (pr7) mov r38 = r37 000008000000 71B2 nop.i 0 ;; } { .mii 000008000000 71C0 nop.m 0 000092600980 71C1 zxt4 SecsAgo = r38 ;; // r38 = r38 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 225 ThisLongAgo 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 01A40274C200 71C2 cmp4.ltu pr8, pr0 = SecsAgo, r39 // pr8, pr0 = r38, r39 // 072710 } { .mfb 000008000000 71D0 nop.m 0 000008000000 71D1 nop.f 0 008600014008 71D2 (pr8) br.cond.dpnt.many L$338 ;; } { .mii 0111626FC2C0 71E0 and r11 = -2, SecsAgo // r11 = -2, r38 // 072711 012000060480 71E1 mov r18 = 48 000008000000 71E2 nop.i 0 } { .mlx 012000100500 71F0 add r20 = @ltoff($LITERAL$+104), // r20 = @ltoff($LITERAL$+104), r1 gp 800000000308 71F1 movl r17 = 3257812231 ;; 0188A741C8 } { .mmi 00C7080222C0 7200 setf.sig f11 = r17 00C708016280 7201 setf.sig f10 = r11 012000100AC0 7202 add out0 = @gprel(AgoFaoDsc), gp ;; // r43 = @gprel(AgoFaoDsc), r1 } { .mii 0080C1400BC0 7210 ld8 out4 = $LITERAL$ // r47 = [r20] 01200000A640 7211 mov ai = 5 // r25 = 5 012000000B00 7212 mov out1 = 0 // r44 = 0 } { .mfb 010802B10B40 7220 adds out2 = 8, out0 // r45 = 8, r43 000008000000 7221 nop.f 0 004000000000 7222 nop.b 0 ;; } { .mfi 000008000000 7230 nop.m 0 01D058A00240 7231 xma.l f9 = f10, f11, f0 000008000000 7232 nop.i 0 ;; } { .mmi 0087080122C0 7240 getf.sig r11 = f9 ;; 000008000000 7241 nop.m 0 00F200B242C0 7242 shr.u r11 = r11, r18 ;; } { .mib 000008000000 7250 nop.m 0 0000B0B00B80 7251 sxt4 out3 = r11 // r46 = r11 00A000001000 7252 br.call.sptk.many rp = SYS$FAO ;; // br0 = SYS$FAO } { .mfb 000008000000 7260 nop.m 0 000008000000 7261 nop.f 0 00800003D000 7262 br.sptk.many L$1133 ;; } 7270 L$338: // 072712 { .mmi 0120E0020880 7270 mov r34 = 3600 ;; // 072713 01A40224C180 7271 cmp4.ltu pr6, pr0 = SecsAgo, r34 // pr6, pr0 = r38, r34 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 226 ThisLongAgo 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 7272 nop.i 0 } { .mfb 000008000000 7280 nop.m 0 000008000000 7281 nop.f 0 008600014006 7282 (pr6) br.cond.dpnt.many L$341 ;; } { .mib 0120000568C0 7290 mov r35 = 43 // 072714 000092600900 7291 zxt4 r36 = SecsAgo // r36 = r38 004000000000 7292 nop.b 0 } { .mlx 0120001009C0 72A0 add r39 = @ltoff($LITERAL$+96), gp // r39 = @ltoff($LITERAL$+96), r1 000000000246 72A1 movl in0 = 2443359173 ;; // r32 = 2443359173 0196715150 } { .mmi 00C708040200 72B0 setf.sig f8 = in0 // f8 = r32 00C7080481C0 72B1 setf.sig f7 = r36 012000100AC0 72B2 add out0 = @gprel(AgoFaoDsc), gp ;; // r43 = @gprel(AgoFaoDsc), r1 } { .mii 0080C2700BC0 72C0 ld8 out4 = $LITERAL$ // r47 = [r39] 01200000A640 72C1 mov ai = 5 // r25 = 5 012000000B00 72C2 mov out1 = 0 // r44 = 0 } { .mfb 010802B10B40 72D0 adds out2 = 8, out0 // r45 = 8, r43 000008000000 72D1 nop.f 0 004000000000 72D2 nop.b 0 ;; } { .mfi 000008000000 72E0 nop.m 0 01D040700180 72E1 xma.l f6 = f7, f8, f0 000008000000 72E2 nop.i 0 ;; } { .mmi 00870800C800 72F0 getf.sig in0 = f6 ;; // r32 = f6 000008000000 72F1 nop.m 0 00F202046800 72F2 shr.u in0 = in0, r35 ;; // r32 = r32, r35 } { .mib 000008000000 7300 nop.m 0 0000B2000B80 7301 sxt4 out3 = in0 // r46 = r32 00A000001000 7302 br.call.sptk.many rp = SYS$FAO ;; // br0 = SYS$FAO } { .mfb 000008000000 7310 nop.m 0 000008000000 7311 nop.f 0 008000027000 7312 br.sptk.many L$1133 ;; } 7320 L$341: // 072715 { .mmi 012000078880 7320 mov r34 = 60 ;; // 072716 01A40224C180 7321 cmp4.ltu pr6, pr0 = SecsAgo, r34 // pr6, pr0 = r38, r34 000008000000 7322 nop.i 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 227 ThisLongAgo 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mfb 000008000000 7330 nop.m 0 000008000000 7331 nop.f 0 008600014006 7332 (pr6) br.cond.dpnt.many L$343 ;; } { .mib 01200004A940 7340 mov r37 = 37 // 072717 000092600900 7341 zxt4 r36 = SecsAgo // r36 = r38 004000000000 7342 nop.b 0 } { .mlx 0120001009C0 7350 add r39 = @ltoff($LITERAL$+88), gp // r39 = @ltoff($LITERAL$+88), r1 800000000222 7351 movl r35 = 2290649225 ;; 0191140251 } { .mmi 00C708046200 7360 setf.sig f8 = r35 00C7080481C0 7361 setf.sig f7 = r36 012000100AC0 7362 add out0 = @gprel(AgoFaoDsc), gp ;; // r43 = @gprel(AgoFaoDsc), r1 } { .mii 0080C2700BC0 7370 ld8 out4 = $LITERAL$ // r47 = [r39] 01200000A640 7371 mov ai = 5 // r25 = 5 012000000B00 7372 mov out1 = 0 // r44 = 0 } { .mfb 010802B10B40 7380 adds out2 = 8, out0 // r45 = 8, r43 000008000000 7381 nop.f 0 004000000000 7382 nop.b 0 ;; } { .mfi 000008000000 7390 nop.m 0 01D040700180 7391 xma.l f6 = f7, f8, f0 000008000000 7392 nop.i 0 ;; } { .mmi 00870800C8C0 73A0 getf.sig r35 = f6 ;; 000008000000 73A1 nop.m 0 00F20234A8C0 73A2 shr.u r35 = r35, r37 ;; } { .mib 000008000000 73B0 nop.m 0 0000B2300B80 73B1 sxt4 out3 = r35 // r46 = r35 00A000001000 73B2 br.call.sptk.many rp = SYS$FAO ;; // br0 = SYS$FAO } { .mfb 000008000000 73C0 nop.m 0 000008000000 73C1 nop.f 0 008000011000 73C2 br.sptk.many L$1133 ;; } 73D0 L$343: // 072718 { .mfb 01AC32602000 73D0 cmp4.ltu pr0, pr6 = 1, SecsAgo // pr0, pr6 = 1, r38 // 072719 000008000000 73D1 nop.f 0 00860000A006 73D2 (pr6) br.cond.dpnt.many L$347 ;; } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 228 ThisLongAgo 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mii 012000100900 73E0 add r36 = @ltoff($LITERAL$+80), gp // r36 = @ltoff($LITERAL$+80), r1 // 072720 012000100AC0 73E1 add out0 = @gprel(AgoFaoDsc), gp // r43 = @gprel(AgoFaoDsc), r1 01200000A640 73E2 mov ai = 5 // r25 = 5 } { .mmi 012000000B00 73F0 mov out1 = 0 ;; // r44 = 0 0080C2400BC0 73F1 ld8 out4 = $LITERAL$ // r47 = [r36] 0000B2600B80 73F2 sxt4 out3 = SecsAgo // r46 = r38 } { .mfb 010802B10B40 7400 adds out2 = 8, out0 // r45 = 8, r43 000008000000 7401 nop.f 0 00A000001000 7402 br.call.sptk.many rp = SYS$FAO ;; // br0 = SYS$FAO } { .mfb 000008000000 7410 nop.m 0 000008000000 7411 nop.f 0 008000007000 7412 br.sptk.many L$1133 ;; } 7420 L$347: // 072721 { .mii 012000100B40 7420 add out2 = @ltoff($LITERAL$+72), // r45 = @ltoff($LITERAL$+72), r1 // 072722 gp 012000006640 7421 mov ai = 3 // r25 = 3 010802100AC0 7422 mov out0 = AgoBuf ;; // r43 = r33 } { .mib 0080C2D00B00 7430 ld8 out1 = $LITERAL$ // r44 = [r45] 012000008B40 7431 mov out2 = 4 // r45 = 4 00A000001000 7432 br.call.sptk.many rp = DECC$STRNCPY ;; // br0 = DECC$STRNCPY } 7440 L$1133: { .mfi 010802A00040 7440 mov gp = r42 // r1 = r42 000008000000 7441 nop.f 0 000008000000 7442 nop.i 0 } 7450 L$340: // 072723 { .mii 000008000000 7450 nop.m 0 000154052000 7451 mov.i rspfs = r41 ;; 000E00150000 7452 mov rp = r40 // br0 = r40 } { .mfb 010800C20300 7460 adds sp = 16, sp // r12 = 16, r12 000008000000 7461 nop.f 0 000108001100 7462 br.ret.sptk.many rp ;; // br0 } .endp ThisLongAgo Routine Size: 976 bytes, Routine Base: $CODE$ + 70A0 .proc TimeSansYear .align 32 .global TimeSansYear TimeSansYear: // 072731 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 229 TimeSansYear 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mii 002C00B1EA40 7470 alloc r41 = rspfs, 2, 9, 4, 0 0111620F0240 7471 and r9 = -8, in0 // r9 = -8, r32 // 072751 000188000A00 7472 mov r40 = rp ;; // r40 = br0 // 072731 } { .mmi 01C040940000 7480 cmp.eq pr0, pr8 = in0, r9 // pr0, pr8 = r32, r9 // 072751 00A0C0910440 7481 ld8 r17 = [r9], 8 010800100A80 7482 mov r42 = gp ;; // r42 = r1 // 072731 } { .mib 000008000000 7490 nop.m 0 009E10040288 7491 (pr8) dep r10 = in0, r0, 3, 3 // r10 = r32, r0, 3, 3 // 072751 004000000000 7492 nop.b 0 ;; } { .mmi 0080C09002C8 74A0 (pr8) ld8 r11 = [r9] ;; 000008000000 74A1 nop.m 0 00F201114448 74A2 (pr8) shr.u r17 = r17, r10 } { .mmi 010128A80288 74B0 (pr8) sub r10 = 64, r10 ;; 000008000000 74B1 nop.m 0 00F240A162C8 74B2 (pr8) shl r11 = r11, r10 ;; } { .mmi 010071116448 74C0 (pr8) or r17 = r11, r17 ;; 01C049100000 74C1 cmp.eq pr0, pr9 = r0, r17 000008000000 74C2 nop.i 0 } { .mfb 000008000000 74D0 nop.m 0 000008000000 74D1 nop.f 0 008600008009 74D2 (pr9) br.cond.dpnt.many L$280 ;; } { .mii 012000100B40 74E0 add out2 = @ltoff($LITERAL$+64), // r45 = @ltoff($LITERAL$+64), r1 // 072753 gp 012000006640 74E1 mov ai = 3 // r25 = 3 010802100AC0 74E2 mov out0 = Buffer ;; // r43 = r33 } { .mib 0080C2D00B00 74F0 ld8 out1 = $LITERAL$ // r44 = [r45] 012000020B40 74F1 mov out2 = 16 // r45 = 16 00A000001000 74F2 br.call.sptk.many rp = strzcpy ;; // br0 = strzcpy } { .mfb 010802A00040 7500 mov gp = r42 // r1 = r42 000008000000 7501 nop.f 0 00800009B000 7502 br.sptk.many L$282 ;; // 072754 } 7510 L$280: // 072755 { .mii 012000100AC0 7510 add out0 = @gprel(TimeFaoDsc), gp // r43 = @gprel(TimeFaoDsc), r1 // 072758 012000008640 7511 mov ai = 4 // r25 = 4 010802000B80 7512 mov out3 = Time64Ptr // r46 = r32 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 230 TimeSansYear 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mmi 012000000B00 7520 mov out1 = 0 ;; // r44 = 0 010802B10B40 7521 adds out2 = 8, out0 // r45 = 8, r43 000008000000 7522 nop.i 0 } { .mfb 008C02100000 7530 st1 [in1] = r0 // [r33] = r0 // 072757 000008000000 7531 nop.f 0 00A000001000 7532 br.call.sptk.many rp = SYS$FAO ;; // br0 = SYS$FAO // 072758 } { .mib 010802A00040 7540 mov gp = r42 // r1 = r42 00A0308001C0 7541 tbit.z pr7, pr6 = r8, 0 // 072759 008600004006 7542 (pr6) br.cond.dpnt.many L$283 ;; } { .mfb 000008000000 7550 nop.m 0 000008000000 7551 nop.f 0 008000091000 7552 br.sptk.many L$282 ;; } 7560 L$283: { .mmi 012000100900 7560 add r36 = @ltoffx(TimeBuf), gp ;; // r36 = @ltoffx(TimeBuf), r1 // 072761 0080C2400900 7561 ld8.mov r36 = [r36], TimeBuf 000008000000 7562 nop.i 0 ;; } { .mmi 008002400940 7570 ld1 r37 = [r36] ;; 000008000000 7571 nop.m 0 0000A2500940 7572 sxt1 r37 = r37 ;; } { .mfb 01C002500240 7580 cmp.eq pr9, pr0 = r0, r37 000008000000 7581 nop.f 0 008600026009 7582 (pr9) br.cond.dpnt.many L$286 ;; } { .mmi 012000100980 7590 add r38 = @ltoffx(TimeBuf), gp ;; // r38 = @ltoffx(TimeBuf), r1 0080C2600980 7591 ld8.mov r38 = [r38], TimeBuf 000008000000 7592 nop.i 0 ;; } { .mfi 00CB02600000 75A0 lfetch TimeBuf // [r38] 000008000000 75A1 nop.f 0 000008000000 75A2 nop.i 0 ;; } 75B0 L$287: { .mmi 0080024009C0 75B0 ld1 r39 = [r36] ;; 01C80275A2C0 75B1 cmp.eq pr11, pr0 = 45, r39 000008000000 75B2 nop.i 0 } { .mfb 000008000000 75C0 nop.m 0 000008000000 75C1 nop.f 0 00860001E00B 75C2 (pr11) br.cond.dpnt.many L$286 ;; } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 231 TimeSansYear 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mmi 00A002402880 75D0 ld1 r34 = [r36], 1 ;; 00AC02144040 75D1 st1 [in1] = r34, 1 // [r33] = r34, 1 000008000000 75D2 nop.i 0 ;; } { .mmi 008002400800 75E0 ld1 in0 = [r36] ;; // r32 = [r36] 000008000000 75E1 nop.m 0 0000A2000800 75E2 sxt1 in0 = in0 ;; // r32 = r32 } { .mfb 01C002000340 75F0 cmp.eq pr13, pr0 = r0, in0 // pr13, pr0 = r0, r32 000008000000 75F1 nop.f 0 00860001800D 75F2 (pr13) br.cond.dpnt.many L$286 ;; } { .mmi 0080024000C0 7600 ld1 r3 = [r36] ;; 01C80035A3C0 7601 cmp.eq pr15, pr0 = 45, r3 000008000000 7602 nop.i 0 } { .mfb 000008000000 7610 nop.m 0 000008000000 7611 nop.f 0 00860001400F 7612 (pr15) br.cond.dpnt.many L$286 ;; } { .mii 00AC02140040 7620 st1 [in1] = in0, 1 // [r33] = r32, 1 010802402900 7621 adds r36 = 1, r36 000008000000 7622 nop.i 0 ;; } { .mmi 008002400280 7630 ld1 r10 = [r36] ;; 000008000000 7631 nop.m 0 0000A0A00280 7632 sxt1 r10 = r10 ;; } { .mfb 01C000A001C0 7640 cmp.eq pr7, pr0 = r0, r10 000008000000 7641 nop.f 0 00860000E007 7642 (pr7) br.cond.dpnt.many L$286 ;; } { .mmi 0080024002C0 7650 ld1 r11 = [r36] ;; 01C800B5A240 7651 cmp.eq pr9, pr0 = 45, r11 000008000000 7652 nop.i 0 } { .mfb 000008000000 7660 nop.m 0 000008000000 7661 nop.f 0 00860000A009 7662 (pr9) br.cond.dpnt.many L$286 ;; } { .mii 008C02114000 7670 st1 [in1] = r10 // [r33] = r10 010802402900 7671 adds r36 = 1, r36 0108421004C0 7672 adds r19 = 1024, in1 // r19 = 1024, r33 } { .mmi 010802102840 7680 adds in1 = 1, in1 ;; // r33 = 1, r33 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 232 TimeSansYear 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 008002400480 7681 ld1 r18 = [r36] 000008000000 7682 nop.i 0 } { .mmi 00CB41300000 7690 lfetch.excl [r19] ;; 000008000000 7691 nop.m 0 0000A1200480 7692 sxt1 r18 = r18 ;; } { .mfb 01C051200000 76A0 cmp.eq pr0, pr10 = r0, r18 000008000000 76A1 nop.f 0 0095FFFE200A 76A2 (pr10) br.cond.dptk.many L$287 ;; } 76B0 L$286: { .mmi 010802402500 76B0 adds cptr = 1, cptr // r20 = 1, r36 // 072762 008002400900 76B1 ld1 r36 = [r36] 000008000000 76B2 nop.i 0 ;; } { .mmi 00AC02148040 76C0 st1 [in1] = r36, 1 ;; // [r33] = r36, 1 008001400580 76C1 ld1 r22 = [r20] 000008000000 76C2 nop.i 0 ;; } { .mii 000008000000 76D0 nop.m 0 0000A1600580 76D1 sxt1 r22 = r22 ;; 01C001600340 76D2 cmp.eq pr13, pr0 = r0, r22 } { .mfb 000008000000 76E0 nop.m 0 000008000000 76E1 nop.f 0 00860002200D 76E2 (pr13) br.cond.dpnt.many L$300 ;; } 76F0 L$301: { .mmi 0080014005C0 76F0 ld1 r23 = [r20] ;; 01C80175A3C0 76F1 cmp.eq pr15, pr0 = 45, r23 000008000000 76F2 nop.i 0 } { .mfb 000008000000 7700 nop.m 0 000008000000 7701 nop.f 0 00860001E00F 7702 (pr15) br.cond.dpnt.many L$300 ;; } { .mmi 00A001402600 7710 ld1 r24 = [r20], 1 ;; 00AC02130040 7711 st1 [in1] = r24, 1 // [r33] = r24, 1 000008000000 7712 nop.i 0 ;; } { .mmi 008001400680 7720 ld1 r26 = [r20] ;; 000008000000 7721 nop.m 0 0000A1A00680 7722 sxt1 r26 = r26 ;; } { .mfb 01C001A001C0 7730 cmp.eq pr7, pr0 = r0, r26 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 233 TimeSansYear 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 7731 nop.f 0 008600018007 7732 (pr7) br.cond.dpnt.many L$300 ;; } { .mmi 0080014006C0 7740 ld1 r27 = [r20] ;; 01C801B5A240 7741 cmp.eq pr9, pr0 = 45, r27 000008000000 7742 nop.i 0 } { .mfb 000008000000 7750 nop.m 0 000008000000 7751 nop.f 0 008600014009 7752 (pr9) br.cond.dpnt.many L$300 ;; } { .mii 00AC02134040 7760 st1 [in1] = r26, 1 // [r33] = r26, 1 010801402500 7761 adds r20 = 1, r20 000008000000 7762 nop.i 0 ;; } { .mmi 008001400740 7770 ld1 r29 = [r20] ;; 000008000000 7771 nop.m 0 0000A1D00740 7772 sxt1 r29 = r29 ;; } { .mfb 01C001D002C0 7780 cmp.eq pr11, pr0 = r0, r29 000008000000 7781 nop.f 0 00860000E00B 7782 (pr11) br.cond.dpnt.many L$300 ;; } { .mii 008001400780 7790 ld1 r30 = [r20] 0108214007C0 7791 adds r31 = 512, r20 ;; 01C801E5A340 7792 cmp.eq pr13, pr0 = 45, r30 } { .mfb 00CB01F00000 77A0 lfetch [r31] 000008000000 77A1 nop.f 0 00860000A00D 77A2 (pr13) br.cond.dpnt.many L$300 ;; } { .mii 008C0213A000 77B0 st1 [in1] = r29 // [r33] = r29 010801402500 77B1 adds r20 = 1, r20 010822100B40 77B2 adds out2 = 512, in1 // r45 = 512, r33 } { .mmi 010802102840 77C0 adds in1 = 1, in1 ;; // r33 = 1, r33 008001400B00 77C1 ld1 out1 = [r20] // r44 = [r20] 000008000000 77C2 nop.i 0 } { .mmi 00CB42D00000 77D0 lfetch.excl [out2] ;; // [r45] 000008000000 77D1 nop.m 0 0000A2C00B00 77D2 sxt1 out1 = out1 ;; // r44 = r44 } { .mfb 01C072C00000 77E0 cmp.eq pr0, pr14 = r0, out1 // pr0, pr14 = r0, r44 000008000000 77E1 nop.f 0 0095FFFE200E 77E2 (pr14) br.cond.dptk.many L$301 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 234 TimeSansYear 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } 77F0 L$300: // 072763 { .mmi 008001400B80 77F0 ld1 out3 = [r20] ;; // r46 = [r20] 000008000000 77F1 nop.m 0 0000A2E00B80 77F2 sxt1 out3 = out3 ;; // r46 = r46 } { .mfb 01C002E001C0 7800 cmp.eq pr7, pr0 = r0, out3 // pr7, pr0 = r0, r46 000008000000 7801 nop.f 0 008600020007 7802 (pr7) br.cond.dpnt.many L$314 ;; } 7810 L$315: { .mmi 008001400200 7810 ld1 r8 = [r20] ;; 01C800840240 7811 cmp.eq pr9, pr0 = 32, r8 000008000000 7812 nop.i 0 } { .mfb 000008000000 7820 nop.m 0 000008000000 7821 nop.f 0 00860001C009 7822 (pr9) br.cond.dpnt.many L$314 ;; } { .mmi 010801402500 7830 adds r20 = 1, r20 ;; 008001400940 7831 ld1 r37 = [r20] 000008000000 7832 nop.i 0 ;; } { .mii 000008000000 7840 nop.m 0 0000A2500940 7841 sxt1 r37 = r37 ;; 01C0025002C0 7842 cmp.eq pr11, pr0 = r0, r37 } { .mfb 000008000000 7850 nop.m 0 000008000000 7851 nop.f 0 00860001600B 7852 (pr11) br.cond.dpnt.many L$314 ;; } { .mmi 008001400980 7860 ld1 r38 = [r20] ;; 01C802640340 7861 cmp.eq pr13, pr0 = 32, r38 000008000000 7862 nop.i 0 } { .mfb 000008000000 7870 nop.m 0 000008000000 7871 nop.f 0 00860001200D 7872 (pr13) br.cond.dpnt.many L$314 ;; } { .mmi 010801402500 7880 adds r20 = 1, r20 ;; 0080014009C0 7881 ld1 r39 = [r20] 000008000000 7882 nop.i 0 ;; } { .mii 000008000000 7890 nop.m 0 0000A27009C0 7891 sxt1 r39 = r39 ;; 01C0027003C0 7892 cmp.eq pr15, pr0 = r0, r39 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 235 TimeSansYear 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mfb 000008000000 78A0 nop.m 0 000008000000 78A1 nop.f 0 00860000C00F 78A2 (pr15) br.cond.dpnt.many L$314 ;; } { .mii 008001400880 78B0 ld1 r34 = [r20] 0108414008C0 78B1 adds r35 = 1024, r20 ;; 01C8022401C0 78B2 cmp.eq pr7, pr0 = 32, r34 } { .mfb 00CB02300000 78C0 lfetch [r35] 000008000000 78C1 nop.f 0 008600008007 78C2 (pr7) br.cond.dpnt.many L$314 ;; } { .mmi 010801402500 78D0 adds r20 = 1, r20 ;; 0080014000C0 78D1 ld1 r3 = [r20] 000008000000 78D2 nop.i 0 ;; } { .mii 000008000000 78E0 nop.m 0 0000A03000C0 78E1 sxt1 r3 = r3 ;; 01C040300000 78E2 cmp.eq pr0, pr8 = r0, r3 } { .mfb 000008000000 78F0 nop.m 0 000008000000 78F1 nop.f 0 0095FFFE4008 78F2 (pr8) br.cond.dptk.many L$315 ;; } 7900 L$314: // 072764 { .mmi 008001400240 7900 ld1 r9 = [r20] ;; 000008000000 7901 nop.m 0 0000A0900240 7902 sxt1 r9 = r9 ;; } { .mfb 01C0009002C0 7910 cmp.eq pr11, pr0 = r0, r9 000008000000 7911 nop.f 0 00860001600B 7912 (pr11) br.cond.dpnt.many L$328 ;; } 7920 L$329: { .mii 00AC02112040 7920 st1 [in1] = r9, 1 // [r33] = r9, 1 010801402500 7921 adds r20 = 1, r20 000008000000 7922 nop.i 0 ;; } { .mmi 00A0014022C0 7930 ld1 r11 = [r20], 1 ;; 000008000000 7931 nop.m 0 0000A0B002C0 7932 sxt1 r11 = r11 ;; } { .mfb 01C000B00340 7940 cmp.eq pr13, pr0 = r0, r11 000008000000 7941 nop.f 0 00860001000D 7942 (pr13) br.cond.dpnt.many L$328 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 236 TimeSansYear 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mmi 00AC02116040 7950 st1 [in1] = r11, 1 ;; // [r33] = r11, 1 008001400440 7951 ld1 r17 = [r20] 000008000000 7952 nop.i 0 ;; } { .mii 000008000000 7960 nop.m 0 0000A1100440 7961 sxt1 r17 = r17 ;; 01C0011003C0 7962 cmp.eq pr15, pr0 = r0, r17 } { .mfb 000008000000 7970 nop.m 0 000008000000 7971 nop.f 0 00860000A00F 7972 (pr15) br.cond.dpnt.many L$328 ;; } { .mii 008C02122000 7980 st1 [in1] = r17 // [r33] = r17 010822100900 7981 adds r36 = 512, in1 // r36 = 512, r33 0108214004C0 7982 adds r19 = 512, r20 } { .mmi 010801402500 7990 adds r20 = 1, r20 ;; 008001400540 7991 ld1 r21 = [r20] 010802102840 7992 adds in1 = 1, in1 // r33 = 1, r33 } { .mmi 00CB42400000 79A0 lfetch.excl [r36] ;; 00CB01300000 79A1 lfetch [r19] 0000A1500240 79A2 sxt1 r9 = r21 ;; } { .mfb 01C030900000 79B0 cmp.eq pr0, pr6 = r0, r9 000008000000 79B1 nop.f 0 0095FFFEE006 79B2 (pr6) br.cond.dptk.many L$329 ;; } 79C0 L$328: { .mfi 008C02100000 79C0 st1 [in1] = r0 // [r33] = r0 // 072765 000008000000 79C1 nop.f 0 000008000000 79C2 nop.i 0 } 79D0 L$282: // 072766 { .mii 000008000000 79D0 nop.m 0 000154052000 79D1 mov.i rspfs = r41 ;; 000E00150000 79D2 mov rp = r40 // br0 = r40 } { .mfb 000008000000 79E0 nop.m 0 000008000000 79E1 nop.f 0 000108001100 79E2 br.ret.sptk.many rp ;; // br0 } .endp TimeSansYear Routine Size: 1408 bytes, Routine Base: $CODE$ + 7470 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 237 TimeVmsToUnix 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 .proc TimeVmsToUnix .align 32 .global TimeVmsToUnix TimeVmsToUnix: // 072773 { .mii 002C00B1CA40 79F0 alloc r41 = rspfs, 2, 9, 3, 0 012000060380 79F1 mov r14 = 48 010800C00080 79F2 mov r2 = sp // r2 = r12 } { .mmi 01C438040000 7A00 cmp4.eq pr0, pr7 = Time64Ptr, r0 ;; // pr0, pr7 = r32, r0 // 072792 010028E183C0 7A01 sub r15 = sp, r14 // r15 = r12, r14 // 072773 000188000A00 7A02 mov r40 = rp ;; // r40 = br0 } { .mii 0080C0F00380 7A10 ld8 r14 = [r15] 010800F00300 7A11 mov sp = r15 // r12 = r15 010800100A80 7A12 mov r42 = gp // r42 = r1 } { .mfb 000008000000 7A20 nop.m 0 000008000000 7A21 nop.f 0 008600008007 7A22 (pr7) br.cond.dpnt.many L$274 ;; // 072792 } { .mii 012000002640 7A30 mov ai = 1 // r25 = 1 010800F20AC0 7A31 adds out0 = 16, r15 // r43 = 16, r15 010800F20800 7A32 adds in0 = 16, r15 // r32 = 16, r15 } { .mfb 000008000000 7A40 nop.m 0 000008000000 7A41 nop.f 0 00A000001000 7A42 br.call.sptk.many rp = SYS$GETTIM ;; // br0 = SYS$GETTIM } { .mfi 010802A00040 7A50 mov gp = r42 // r1 = r42 000008000000 7A51 nop.f 0 000008000000 7A52 nop.i 0 } 7A60 L$274: { .mii 012000004640 7A60 mov ai = 2 // r25 = 2 // 072794 010802000B00 7A61 mov out1 = Time64Ptr // r44 = r32 010800C30AC0 7A62 adds out0 = 24, sp ;; // r43 = 24, r12 } { .mfb 000008000000 7A70 nop.m 0 000008000000 7A71 nop.f 0 00A000001000 7A72 br.call.sptk.many rp = SYS$NUMTIM ;; // br0 = SYS$NUMTIM } { .mib 010802A00040 7A80 mov gp = r42 // r1 = r42 00A0308001C0 7A81 tbit.z pr7, pr6 = status, 0 // pr7, pr6 = r8, 0 008600004006 7A82 (pr6) br.cond.dpnt.many L$276 ;; } { .mib 000008000000 7A90 nop.m 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 238 TimeVmsToUnix 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0000B0800200 7A91 sxt4 r8 = r8 // 072795 008000029000 7A92 br.sptk.many L$278 ;; } 7AA0 L$276: { .mii 012000100880 7AA0 add r34 = @gprel(LibDayOfWeek), gp // r34 = @gprel(LibDayOfWeek), r1 // 072797 012000006640 7AA1 mov ai = 3 // r25 = 3 010802000B40 7AA2 mov out2 = Time64Ptr // r45 = r32 } { .mmi 010800C60B00 7AB0 adds out1 = 48, sp ;; // r44 = 48, r12 010802200AC0 7AB1 mov out0 = r34 // r43 = r34 000008000000 7AB2 nop.i 0 } { .mfb 000008000000 7AC0 nop.m 0 000008000000 7AC1 nop.f 0 00A000001000 7AC2 br.call.sptk.many rp = // br0 = LIB$CVT_FROM_INTERNAL_TIME LIB$CVT_FROM_INTERNAL_TIME ;; } { .mii 012000006640 7AD0 mov ai = 3 // r25 = 3 // 072798 010802000B40 7AD1 mov out2 = Time64Ptr // r45 = r32 010800C50B00 7AD2 adds out1 = 40, sp // r44 = 40, r12 } { .mmi 010802208AC0 7AE0 adds out0 = 4, r34 ;; // r43 = 4, r34 010802A00040 7AE1 mov gp = r42 // r1 = r42 // 072797 000008000000 7AE2 nop.i 0 ;; } { .mfb 000008000000 7AF0 nop.m 0 000008000000 7AF1 nop.f 0 00A000001000 7AF2 br.call.sptk.many rp = // br0 = LIB$CVT_FROM_INTERNAL_TIME // 072798 LIB$CVT_FROM_INTERNAL_TIME ;; } { .mii 010800C448C0 7B00 adds r35 = 34, sp // r35 = 34, r12 // 072800 010800C40940 7B01 adds r37 = 32, sp // r37 = 32, r12 // 072801 010800C3C9C0 7B02 adds r39 = 30, sp // r39 = 30, r12 // 072802 } { .mmi 010800C38800 7B10 adds in0 = 28, sp ;; // r32 = 28, r12 // 072803 0080423008C0 7B11 ld2 r35 = [r35] // 072800 010800C34200 7B12 adds r8 = 26, sp // r8 = 26, r12 // 072804 } { .mii 010800C30280 7B20 adds r10 = 24, sp // r10 = 24, r12 // 072805 010800C60440 7B21 adds r17 = 48, sp ;; // r17 = 48, r12 // 072806 010800C504C0 7B22 adds r19 = 40, sp // r19 = 40, r12 // 072807 } { .mii 00AC82146100 7B30 st4 [in1] = r35, 4 // [r33] = r35, 4 // 072800 010802A00040 7B31 mov gp = r42 // r1 = r42 // 072798 000008000000 7B32 nop.i 0 ;; } { .mmi Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 239 TimeVmsToUnix 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 008042500940 7B40 ld2 r37 = [r37] ;; // 072801 00AC8214A100 7B41 st4 [in1] = r37, 4 // [r33] = r37, 4 000008000000 7B42 nop.i 0 ;; } { .mmi 0080427009C0 7B50 ld2 r39 = [r39] ;; // 072802 00AC8214E100 7B51 st4 [in1] = r39, 4 // [r33] = r39, 4 000008000000 7B52 nop.i 0 ;; } { .mmi 008042000800 7B60 ld2 in0 = [in0] ;; // r32 = [r32] // 072803 00AC82140100 7B61 st4 [in1] = in0, 4 // [r33] = r32, 4 000008000000 7B62 nop.i 0 ;; } { .mmi 008040800200 7B70 ld2 r8 = [r8] ;; // 072804 0119F88FE200 7B71 adds r8 = -1, r8 000008000000 7B72 nop.i 0 ;; } { .mmi 00AC82110100 7B80 st4 [in1] = r8, 4 ;; // [r33] = r8, 4 008040A00280 7B81 ld2 r10 = [r10] // 072805 000008000000 7B82 nop.i 0 ;; } { .mmi 011988A28280 7B90 adds r10 = -1900, r10 ;; 00AC82114100 7B91 st4 [in1] = r10, 4 // [r33] = r10, 4 000008000000 7B92 nop.i 0 ;; } { .mmi 008081100440 7BA0 ld4 r17 = [r17] ;; // 072806 00AC82122100 7BA1 st4 [in1] = r17, 4 // [r33] = r17, 4 000008000000 7BA2 nop.i 0 ;; } { .mmi 008081300200 7BB0 ld4 r8 = [r19] ;; // 072807 00AC82110100 7BB1 st4 [in1] = r8, 4 // [r33] = r8, 4 012000002200 7BB2 mov r8 = 1 ;; // 072810 } { .mfi 008C82100000 7BC0 st4 [in1] = r0 // [r33] = r0 // 072808 000008000000 7BC1 nop.f 0 000008000000 7BC2 nop.i 0 } 7BD0 L$278: // 072810 { .mii 000008000000 7BD0 nop.m 0 000154052000 7BD1 mov.i rspfs = r41 ;; 000E00150000 7BD2 mov rp = r40 // br0 = r40 } { .mfb 010800C60300 7BE0 adds sp = 48, sp // r12 = 48, r12 000008000000 7BE1 nop.f 0 000108001100 7BE2 br.ret.sptk.many rp ;; // br0 } .endp TimeVmsToUnix Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 240 TimeVmsToUnix 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 Routine Size: 512 bytes, Routine Base: $CODE$ + 79F0 .proc TimeUnix32ToVms64 .align 32 .global TimeUnix32ToVms64 TimeUnix32ToVms64: // 072818 { .mii 002C00306880 7BF0 alloc r34 = rspfs, 2, 1, 0, 0 000092000800 7BF1 zxt4 in0 = time32 // r32 = r32 // 072829 012000100200 7BF2 add r8 = @ltoffx(TimeUtcDelta64), // r8 = @ltoffx(TimeUtcDelta64), r1 gp } { .mmi 01C400042200 7C00 cmp4.eq pr8, pr0 = time64ptr, r0 ;; // pr8, pr0 = r33, r0 // 072830 01008A040800 7C01 shladd in0 = in0, 2, in0 // r32 = r32, 2, r32 // 072829 000008000000 7C02 nop.i 0 } { .mlx 0080C0800200 7C10 ld8.mov r8 = [r8], TimeUtcDelta64 8001F2559D2F 7C11 movl r9 = 35067168000000000 ;; 018805C004 } { .mmi 01008A040800 7C20 shladd in0 = in0, 2, in0 ;; // r32 = r32, 2, r32 01008A040800 7C21 shladd in0 = in0, 2, in0 // r32 = r32, 2, r32 000008000000 7C22 nop.i 0 } { .mmi 0080C0800200 7C30 ld8 r8 = TimeUtcDelta64 ;; // r8 = [r8] 01008A040800 7C31 shladd in0 = in0, 2, in0 // r32 = r32, 2, r32 000008000000 7C32 nop.i 0 ;; } { .mmi 01008A040800 7C40 shladd in0 = in0, 2, in0 ;; // r32 = r32, 2, r32 01008A040800 7C41 shladd in0 = in0, 2, in0 // r32 = r32, 2, r32 000008000000 7C42 nop.i 0 ;; } { .mmi 01008A040800 7C50 shladd in0 = in0, 2, in0 ;; // r32 = r32, 2, r32 000008000000 7C51 nop.m 0 00A7C3840800 7C52 shl in0 = in0, 7 ;; // r32 = r32, 7 } { .mmi 010000840200 7C60 add r8 = in0, r8 ;; // r8 = r32, r8 010000910200 7C61 add time64 = r8, r9 // r8 = r8, r9 000008000000 7C62 nop.i 0 } { .mfb 000008000000 7C70 nop.m 0 000008000000 7C71 nop.f 0 008600004008 7C72 (pr8) br.cond.dpnt.many L$270 ;; // 072830 } { .mfi 008CC2110000 7C80 st8 [in1] = time64 // [r33] = r8 000008000000 7C81 nop.f 0 000008000000 7C82 nop.i 0 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 241 TimeUnix32ToVms64 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 7C90 L$270: // 072831 { .mfb 000008000000 7C90 nop.m 0 000008000000 7C91 nop.f 0 000108001100 7C92 br.ret.sptk.many rp ;; // br0 } .endp TimeUnix32ToVms64 Routine Size: 176 bytes, Routine Base: $CODE$ + 7BF0 .proc FormatProtection .align 32 .global FormatProtection FormatProtection: // 072839 { .mii 002C00912A00 7CA0 alloc r40 = rspfs, 2, 7, 0, 0 010802100200 7CA1 mov sptr = String // r8 = r33 // 072851 00A03A000200 7CA2 tbit.z pr8, pr7 = pmask, 0 // pr8, pr7 = r32, 0 // 072853 } { .mfb 000008000000 7CB0 nop.m 0 000008000000 7CB1 nop.f 0 008600006007 7CB2 (pr7) br.cond.dpnt.many L$236 ;; } { .mii 0120000A4240 7CC0 mov r9 = 82 010802102200 7CC1 adds sptr = 1, String // r8 = 1, r33 000008000000 7CC2 nop.i 0 ;; } { .mmi 008C02112000 7CD0 st1 [in1] = r9 ;; // [r33] = r9 000008000000 7CD1 nop.m 0 000008000000 7CD2 nop.i 0 } 7CE0 L$236: { .mmi 0101620042C0 7CE0 and r11 = 2, pmask ;; // r11 = 2, r32 // 072854 01C048B00000 7CE1 cmp.eq pr0, pr9 = r0, r11 000008000000 7CE2 nop.i 0 } { .mfb 000008000000 7CF0 nop.m 0 000008000000 7CF1 nop.f 0 008600004009 7CF2 (pr9) br.cond.dpnt.many L$238 ;; } { .mmi 0120000AE440 7D00 mov r17 = 87 ;; 00AC00822040 7D01 st1 [r8] = r17, 1 000008000000 7D02 nop.i 0 ;; } 7D10 L$238: { .mmi 0101620084C0 7D10 and r19 = 4, pmask ;; // r19 = 4, r32 // 072855 01C059300000 7D11 cmp.eq pr0, pr11 = r0, r19 000008000000 7D12 nop.i 0 } { .mfb Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 242 FormatProtection 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 7D20 nop.m 0 000008000000 7D21 nop.f 0 00860000400B 7D22 (pr11) br.cond.dpnt.many L$240 ;; } { .mmi 01200008A500 7D30 mov r20 = 69 ;; 00AC00828040 7D31 st1 [r8] = r20, 1 000008000000 7D32 nop.i 0 ;; } 7D40 L$240: { .mmi 010162010580 7D40 and r22 = 8, pmask ;; // r22 = 8, r32 // 072856 01C069600000 7D41 cmp.eq pr0, pr13 = r0, r22 000008000000 7D42 nop.i 0 } { .mfb 000008000000 7D50 nop.m 0 000008000000 7D51 nop.f 0 00860000400D 7D52 (pr13) br.cond.dpnt.many L$242 ;; } { .mmi 0120000885C0 7D60 mov r23 = 68 ;; 00AC0082E040 7D61 st1 [r8] = r23, 1 000008000000 7D62 nop.i 0 ;; } 7D70 L$242: { .mii 0120000586C0 7D70 mov r27 = 44 // 072857 010162020640 7D71 and ai = 16, pmask // r25 = 16, r32 // 072858 010800802680 7D72 adds sptr = 1, sptr ;; // r26 = 1, r8 // 072857 } { .mib 008C00836000 7D80 st1 [r8] = r27 01C079900000 7D81 cmp.eq pr0, pr15 = r0, ai // pr0, pr15 = r0, r25 // 072858 00860000400F 7D82 (pr15) br.cond.dpnt.many L$244 ;; } { .mmi 0120000A4740 7D90 mov r29 = 82 ;; 00AC01A3A040 7D91 st1 [r26] = r29, 1 000008000000 7D92 nop.i 0 ;; } 7DA0 L$244: { .mmi 0101620407C0 7DA0 and r31 = 32, pmask ;; // r31 = 32, r32 // 072859 01C039F00000 7DA1 cmp.eq pr0, pr7 = r0, r31 000008000000 7DA2 nop.i 0 } { .mfb 000008000000 7DB0 nop.m 0 000008000000 7DB1 nop.f 0 008600004007 7DB2 (pr7) br.cond.dpnt.many L$246 ;; } { .mmi 0120000AE880 7DC0 mov r34 = 87 ;; 00AC01A44040 7DC1 st1 [r26] = r34, 1 000008000000 7DC2 nop.i 0 ;; } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 243 FormatProtection 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 7DD0 L$246: { .mmi 010162080900 7DD0 and r36 = 64, pmask ;; // r36 = 64, r32 // 072860 01C04A400000 7DD1 cmp.eq pr0, pr9 = r0, r36 000008000000 7DD2 nop.i 0 } { .mfb 000008000000 7DE0 nop.m 0 000008000000 7DE1 nop.f 0 008600004009 7DE2 (pr9) br.cond.dpnt.many L$248 ;; } { .mmi 01200008A940 7DF0 mov r37 = 69 ;; 00AC01A4A040 7DF1 st1 [r26] = r37, 1 000008000000 7DF2 nop.i 0 ;; } 7E00 L$248: { .mmi 0120080009C0 7E00 mov r39 = 128 ;; // 072861 0100627400C0 7E01 and r3 = pmask, r39 // r3 = r32, r39 000008000000 7E02 nop.i 0 ;; } { .mfb 01C058300000 7E10 cmp.eq pr0, pr11 = r0, r3 000008000000 7E11 nop.f 0 00860000400B 7E12 (pr11) br.cond.dpnt.many L$250 ;; } { .mmi 012000088240 7E20 mov r9 = 68 ;; 00AC01A12040 7E21 st1 [r26] = r9, 1 000008000000 7E22 nop.i 0 ;; } 7E30 L$250: { .mii 008C01A36000 7E30 st1 [r26] = r27 // 072862 00A4020202C0 7E31 extr.u r11 = pmask, 8, 1 // r11 = r32, 8, 1 // 072863 010801A02440 7E32 adds sptr = 1, sptr ;; // r17 = 1, r26 // 072862 } { .mib 000008000000 7E40 nop.m 0 00A068B00380 7E41 tbit.z pr14, pr13 = r11, 0 // 072863 00860000400D 7E42 (pr13) br.cond.dpnt.many L$252 ;; } { .mmi 0120000A44C0 7E50 mov r19 = 82 ;; 00AC01126040 7E51 st1 [r17] = r19, 1 000008000000 7E52 nop.i 0 ;; } 7E60 L$252: { .mii 000008000000 7E60 nop.m 0 00A43A020800 7E61 extr.u in0 = pmask, 8, 8 ;; // r32 = r32, 8, 8 // 072864 010162004540 7E62 and r21 = 2, in0 ;; // r21 = 2, r32 } { .mfb 01C031500000 7E70 cmp.eq pr0, pr6 = r0, r21 000008000000 7E71 nop.f 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 244 FormatProtection 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 008600004006 7E72 (pr6) br.cond.dpnt.many L$254 ;; } { .mmi 0120000AE580 7E80 mov r22 = 87 ;; 00AC0112C040 7E81 st1 [r17] = r22, 1 000008000000 7E82 nop.i 0 ;; } 7E90 L$254: { .mmi 010162008600 7E90 and r24 = 4, in0 ;; // r24 = 4, r32 // 072865 01C039800000 7E91 cmp.eq pr0, pr7 = r0, r24 000008000000 7E92 nop.i 0 } { .mfb 000008000000 7EA0 nop.m 0 000008000000 7EA1 nop.f 0 008600004007 7EA2 (pr7) br.cond.dpnt.many L$256 ;; } { .mmi 01200008A640 7EB0 mov ai = 69 ;; // r25 = 69 00AC01132040 7EB1 st1 [r17] = ai, 1 // [r17] = r25, 1 000008000000 7EB2 nop.i 0 ;; } 7EC0 L$256: { .mmi 010162010700 7EC0 and r28 = 8, in0 ;; // r28 = 8, r32 // 072866 01C049C00000 7EC1 cmp.eq pr0, pr9 = r0, r28 000008000000 7EC2 nop.i 0 } { .mfb 000008000000 7ED0 nop.m 0 000008000000 7ED1 nop.f 0 008600004009 7ED2 (pr9) br.cond.dpnt.many L$258 ;; } { .mmi 012000088740 7EE0 mov r29 = 68 ;; 00AC0113A040 7EE1 st1 [r17] = r29, 1 000008000000 7EE2 nop.i 0 ;; } 7EF0 L$258: { .mmi 0101620207C0 7EF0 and r31 = 16, in0 // r31 = 16, r32 // 072868 008C01136000 7EF1 st1 [r17] = r27 // 072867 010801102880 7EF2 adds sptr = 1, sptr ;; // r34 = 1, r17 } { .mfb 01C059F00000 7F00 cmp.eq pr0, pr11 = r0, r31 // 072868 000008000000 7F01 nop.f 0 00860000400B 7F02 (pr11) br.cond.dpnt.many L$260 ;; } { .mmi 0120000A4900 7F10 mov r36 = 82 ;; 00AC02248040 7F11 st1 [r34] = r36, 1 000008000000 7F12 nop.i 0 ;; } 7F20 L$260: { .mmi Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 245 FormatProtection 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 010162040980 7F20 and r38 = 32, in0 ;; // r38 = 32, r32 // 072869 01C06A600000 7F21 cmp.eq pr0, pr13 = r0, r38 000008000000 7F22 nop.i 0 } { .mfb 000008000000 7F30 nop.m 0 000008000000 7F31 nop.f 0 00860000400D 7F32 (pr13) br.cond.dpnt.many L$262 ;; } { .mmi 0120000AE0C0 7F40 mov r3 = 87 ;; 00AC02206040 7F41 st1 [r34] = r3, 1 000008000000 7F42 nop.i 0 ;; } 7F50 L$262: { .mmi 010162080280 7F50 and r10 = 64, in0 ;; // r10 = 64, r32 // 072870 01C030A00000 7F51 cmp.eq pr0, pr6 = r0, r10 000008000000 7F52 nop.i 0 } { .mfb 000008000000 7F60 nop.m 0 000008000000 7F61 nop.f 0 008600004006 7F62 (pr6) br.cond.dpnt.many L$264 ;; } { .mmi 01200008A2C0 7F70 mov r11 = 69 ;; 00AC02216040 7F71 st1 [r34] = r11, 1 000008000000 7F72 nop.i 0 ;; } 7F80 L$264: { .mmi 010062740800 7F80 and in0 = in0, r39 ;; // r32 = r32, r39 // 072871 01C03A000000 7F81 cmp.eq pr0, pr7 = r0, in0 // pr0, pr7 = r0, r32 000008000000 7F82 nop.i 0 } { .mfb 000008000000 7F90 nop.m 0 000008000000 7F91 nop.f 0 008600004007 7F92 (pr7) br.cond.dpnt.many L$266 ;; } { .mmi 012000088680 7FA0 mov r26 = 68 ;; 00AC02234040 7FA1 st1 [r34] = r26, 1 000008000000 7FA2 nop.i 0 ;; } 7FB0 L$266: { .mmi 01002A144840 7FB0 sub in1 = sptr, String // r33 = r34, r33 // 072874 008C02200000 7FB1 st1 [r34] = r0 // 072873 000008000000 7FB2 nop.i 0 ;; } { .mib 000008000000 7FC0 nop.m 0 0000B2100200 7FC1 sxt4 r8 = in1 // r8 = r33 // 072874 000108001100 7FC2 br.ret.sptk.many rp ;; // br0 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 246 FormatProtection 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 .endp FormatProtection Routine Size: 816 bytes, Routine Base: $CODE$ + 7CA0 .proc GetJpiBytLm .align 32 .global GetJpiBytLm GetJpiBytLm: // 072882 { .mii 002C005188C0 7FD0 alloc r35 = rspfs, 0, 5, 7, 0 012000100200 7FD1 add r8 = @ltoffx(EfnWait), gp // r8 = @ltoffx(EfnWait), r1 // 072901 012000020380 7FD2 mov r14 = 16 // 072882 } { .mmi 010800C00080 7FE0 mov r2 = sp ;; // r2 = r12 0080C0800200 7FE1 ld8.mov r8 = [r8], EfnWait // 072901 010028E183C0 7FE2 sub r15 = sp, r14 // r15 = r12, r14 // 072882 } { .mii 012000100A00 7FF0 add out3 = @ltoffx(JpiItems), gp // r40 = @ltoffx(JpiItems), r1 // 072901 01200000E640 7FF1 mov ai = 7 ;; // r25 = 7 000188000880 7FF2 mov r34 = rp // r34 = br0 // 072882 } { .mii 0080C0F00380 8000 ld8 r14 = [r15] 010800F00300 8001 mov sp = r15 // r12 = r15 012000000AC0 8002 mov out6 = 0 ;; // r43 = 0 // 072901 } { .mmi 008080800200 8010 ld4 r8 = EfnWait // r8 = [r8] 0080C2800A00 8011 ld8.mov out3 = [r40], JpiItems 012000000A80 8012 mov out5 = 0 ;; // r42 = 0 } { .mii 010800F20A40 8020 adds out4 = 16, r15 // r41 = 16, r15 0120000009C0 8021 mov out2 = 0 // r39 = 0 012000100980 8022 add out1 = @gprel(Pid), gp // r38 = @gprel(Pid), r1 } { .mmi 010800100900 8030 mov r36 = gp ;; // r36 = r1 // 072882 000008000000 8031 nop.m 0 0000B0800940 8032 sxt4 out0 = r8 // r37 = r8 // 072901 } { .mfb 000008000000 8040 nop.m 0 000008000000 8041 nop.f 0 00A000001000 8042 br.call.sptk.many rp = SYS$GETJPIW ;; // br0 = SYS$GETJPIW } { .mii 010800C20800 8050 adds r32 = 16, sp // r32 = 16, r12 // 072902 00A0308001C0 8051 tbit.z pr7, pr6 = status, 0 // pr7, pr6 = r8, 0 010802400040 8052 mov gp = r36 ;; // r1 = r36 // 072901 } { .mmi 008042000800 8060 ld2 r32 = [r32] ;; // 072902 010802000206 8061 (pr6) mov status = r32 // r8 = r32 000008000000 8062 nop.i 0 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 247 GetJpiBytLm 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mib 000008000000 8070 nop.m 0 00A040800240 8071 tbit.z pr9, pr8 = status, 0 // pr9, pr8 = r8, 0 // 072903 008600006009 8072 (pr9) br.cond.dpnt.many L$233 ;; } { .mmi 012000100840 8080 add r33 = @gprel(JpiBytLm), gp ;; // r33 = @gprel(JpiBytLm), r1 008082100200 8081 ld4 r8 = JpiBytLm // r8 = [r33] 000008000000 8082 nop.i 0 ;; } { .mib 000008000000 8090 nop.m 0 0000B0800200 8091 sxt4 r8 = r8 00800000B000 8092 br.sptk.many L$234 ;; } 80A0 L$233: { .mii 012000100A00 80A0 add out3 = @ltoffx($LITERAL$), gp // r40 = @ltoffx($LITERAL$), r1 // 072904 012000008640 80A1 mov ai = 4 // r25 = 4 010800000980 80A2 mov out1 = r0 ;; // r38 = r0 } { .mii 0080C28009C0 80B0 ld8.mov out2 = [r40], $LITERAL$ 012080082A00 80B1 mov out3 = 2113 // r40 = 2113 0000B0800940 80B2 sxt4 out0 = status // r37 = r8 } { .mfb 000008000000 80C0 nop.m 0 000008000000 80C1 nop.f 0 00A000001000 80C2 br.call.sptk.many rp = // br0 = ErrorExitVmsStatus ErrorExitVmsStatus ;; } { .mfi 010802400040 80D0 mov gp = r36 // r1 = r36 000008000000 80D1 nop.f 0 000008000000 80D2 nop.i 0 } 80E0 L$234: // 072905 { .mii 000008000000 80E0 nop.m 0 000154046000 80E1 mov.i rspfs = r35 ;; 000E00144000 80E2 mov rp = r34 // br0 = r34 } { .mfb 010800C20300 80F0 adds sp = 16, sp // r12 = 16, r12 000008000000 80F1 nop.f 0 000108001100 80F2 br.ret.sptk.many rp ;; // br0 } .endp GetJpiBytLm Routine Size: 304 bytes, Routine Base: $CODE$ + 7FD0 .proc ClientHostString .align 32 .global ClientHostString ClientHostString: // 072913 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 248 ClientHostString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mii 002C00B20A40 8100 alloc r41 = rspfs, 1, 10, 5, 0 012010020380 8101 mov r14 = 272 000008000000 8102 nop.i 0 } { .mlx 01080A0802C0 8110 adds r11 = 192, in0 // r11 = 192, r32 // 072928 000000000004 8111 movl r8 = 17694975 ;; // 072922 0180171FC4 } { .mii 010028E183C0 8120 sub r15 = sp, r14 // r15 = r12, r14 // 072913 010800C00080 8121 mov r2 = sp // r2 = r12 000188000A00 8122 mov r40 = rp ;; // r40 = br0 } { .mii 0080C0F00380 8130 ld8 r14 = [r15] 010800F00300 8131 mov sp = r15 // r12 = r15 010800F203C0 8132 adds r15 = 16, r15 // 072922 } { .mmi 012000004640 8140 mov ai = 2 ;; // r25 = 2 // 072928 008C80F10000 8141 st4 [r15] = r8 // 072922 010800F20200 8142 adds r8 = 16, r15 } { .mmi 010800100A80 8150 mov r42 = gp ;; // r42 = r1 // 072913 010800F083C0 8151 adds r15 = 4, r15 // 072922 000008000000 8152 nop.i 0 ;; } { .mmi 00BC88F11B00 8160 st4 [r15] = r8, -20 ;; 008080B002C0 8161 ld4 r11 = [r11] // 072928 000008000000 8162 nop.i 0 ;; } { .mii 000008000000 8170 nop.m 0 0000B0B002C0 8171 sxt4 r11 = r11 ;; 010800B1CB00 8172 adds out1 = 14, r11 // r44 = 14, r11 // 072929 } { .mfb 010810BF0AC0 8180 adds out0 = 376, r11 // r43 = 376, r11 // 072928 000008000000 8181 nop.f 0 00A000001000 8182 br.call.sptk.many rp = DECC$STRCMP ;; // br0 = DECC$STRCMP } { .mii 01080A080840 8190 adds r33 = 192, in0 // r33 = 192, r32 // 072931 010802A00040 8191 mov gp = r42 // r1 = r42 // 072928 01C430800000 8192 cmp4.eq pr0, pr6 = r0, r8 ;; } { .mii 008082100840 81A0 ld4 r33 = [r33] // 072931 012000100B00 81A1 add out1 = @gprel(AddressFaoDsc), // r44 = @gprel(AddressFaoDsc), r1 // 072933 gp ;; 0000B2100840 81A2 sxt4 r33 = r33 ;; // 072931 } { .mmi Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 249 ClientHostString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 01080211CB80 81B0 adds out3 = 14, r33 ;; // r46 = 14, r33 010802E00880 81B1 mov r34 = out3 // r34 = r46 // 072935 000008000000 81B2 nop.i 0 } { .mfb 000008000000 81C0 nop.m 0 000008000000 81C1 nop.f 0 008600008006 81C2 (pr6) br.cond.dpnt.many L$226 ;; // 072928 } { .mii 010802C00AC0 81D0 mov out0 = out1 // r43 = r44 // 072930 012000008640 81D1 mov ai = 4 // r25 = 4 010800C20B40 81D2 adds out2 = 16, sp // r45 = 16, r12 } { .mfb 010800C30B00 81E0 adds out1 = 24, sp // r44 = 24, r12 000008000000 81E1 nop.f 0 00A000001000 81E2 br.call.sptk.many rp = SYS$FAO ;; // br0 = SYS$FAO } { .mfb 000008000000 81F0 nop.m 0 000008000000 81F1 nop.f 0 008000009000 81F2 br.sptk.many L$1134 ;; } 8200 L$226: // 072932 { .mii 0119FACF0AC0 8200 adds out0 = -8, out1 // r43 = -8, r44 // 072933 01200000A640 8201 mov ai = 5 // r25 = 5 010802200BC0 8202 mov out4 = r34 // r47 = r34 } { .mmi 010800C20B40 8210 adds out2 = 16, sp ;; // r45 = 16, r12 010800C30B00 8211 adds out1 = 24, sp // r44 = 24, r12 0108121F0B80 8212 adds out3 = 376, r33 // r46 = 376, r33 // 072934 } { .mfb 000008000000 8220 nop.m 0 000008000000 8221 nop.f 0 00A000001000 8222 br.call.sptk.many rp = SYS$FAO ;; // br0 = SYS$FAO // 072933 } 8230 L$1134: { .mii 010800C308C0 8230 adds r35 = 24, sp // r35 = 24, r12 // 072937 012FF80FE900 8231 addl r36 = 65535, r0 000008000000 8232 nop.i 0 } { .mlx 012000004640 8240 mov ai = 2 // r25 = 2 8000000003FF 8241 movl r37 = 4294967295 ;; 019FFFDFD2 } { .mii 0080C23008C0 8250 ld8 r35 = [r35] 010802000AC0 8251 mov out0 = rqptr // r43 = r32 010802A00040 8252 mov gp = r42 ;; // r1 = r42 // 072933 } { .mmi Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 250 ClientHostString 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0100623488C0 8260 and r35 = r36, r35 ;; // 072937 0108023028C0 8261 adds r35 = 1, r35 000008000000 8262 nop.i 0 ;; } { .mfb 010062546B00 8270 and out1 = r35, r37 // r44 = r35, r37 000008000000 8271 nop.f 0 00A000001000 8272 br.call.sptk.many rp = VmGetHeap ;; // br0 = VmGetHeap } { .mii 010800C309C0 8280 adds r39 = 24, sp // r39 = 24, r12 // 072938 010800800980 8281 mov cptr = r8 // r38 = r8 // 072937 012000006640 8282 mov ai = 3 // r25 = 3 // 072938 } { .mmi 010800C40B00 8290 adds out1 = 32, sp ;; // r44 = 32, r12 0080C27009C0 8291 ld8 r39 = [r39] 010800800AC0 8292 mov out0 = r8 // r43 = r8 } { .mmi 010802A00040 82A0 mov gp = r42 ;; // r1 = r42 // 072937 010062748900 82A1 and r36 = r36, r39 // 072938 000008000000 82A2 nop.i 0 ;; } { .mfb 010802402B40 82B0 adds out2 = 1, r36 // r45 = 1, r36 000008000000 82B1 nop.f 0 00A000001000 82B2 br.call.sptk.many rp = strzcpy ;; // br0 = strzcpy } { .mii 010802600200 82C0 mov r8 = cptr // r8 = r38 // 072939 010802A00040 82C1 mov gp = r42 // r1 = r42 // 072938 000154052000 82C2 mov.i rspfs = r41 ;; // 072939 } { .mii 000008000000 82D0 nop.m 0 000E00150000 82D1 mov rp = r40 // br0 = r40 010810C20300 82D2 adds sp = 272, sp // r12 = 272, r12 } { .mfb 000008000000 82E0 nop.m 0 000008000000 82E1 nop.f 0 000108001100 82E2 br.ret.sptk.many rp ;; // br0 } .endp ClientHostString Routine Size: 496 bytes, Routine Base: $CODE$ + 8100 .proc UserAtClient .align 32 .global UserAtClient UserAtClient: // 072946 { .mii 002C00B1CA40 82F0 alloc r41 = rspfs, 1, 10, 3, 0 012010000380 82F1 mov r14 = 256 0108220D0200 82F2 adds r8 = 616, in0 // r8 = 616, r32 // 072957 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 251 UserAtClient 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mmi 010800C00080 8300 mov r2 = sp ;; // r2 = r12 // 072946 010028E183C0 8301 sub r15 = sp, r14 // r15 = r12, r14 000188000A00 8302 mov r40 = rp ;; // r40 = br0 } { .mii 0080C0F00380 8310 ld8 r14 = [r15] 010800F00300 8311 mov sp = r15 // r12 = r15 010800100A80 8312 mov r42 = gp // r42 = r1 } { .mmi 008000800200 8320 ld1 r8 = [r8] ;; // 072957 000008000000 8321 nop.m 0 0000A0800200 8322 sxt1 r8 = r8 ;; } { .mfb 01C038800000 8330 cmp.eq pr0, pr7 = r0, r8 000008000000 8331 nop.f 0 008600008007 8332 (pr7) br.cond.dpnt.many L$189 ;; } { .mmi 01080A080800 8340 adds in0 = 192, in0 ;; // r32 = 192, r32 008082000800 8341 ld4 in0 = [in0] // r32 = [r32] 000008000000 8342 nop.i 0 ;; } { .mii 000008000000 8350 nop.m 0 0000B2000800 8351 sxt4 in0 = in0 ;; // r32 = r32 0108120F0200 8352 adds r8 = 376, in0 // r8 = 376, r32 } { .mfb 000008000000 8360 nop.m 0 000008000000 8361 nop.f 0 0080000BD000 8362 br.sptk.many L$191 ;; } 8370 L$189: { .mii 0108220D08C0 8370 adds r35 = 616, rqptr // r35 = 616, r32 // 072960 010800C20880 8371 adds r34 = 16, sp ;; // r34 = 16, r12 // 072959 010802300840 8372 mov r33 = r35 // 072960 } { .mmi 008002300280 8380 ld1 r10 = [r35] ;; 000008000000 8381 nop.m 0 0000A0A00280 8382 sxt1 r10 = r10 ;; } { .mfb 01C000A00280 8390 cmp.eq pr10, pr0 = r0, r10 000008000000 8391 nop.f 0 00860002400A 8392 (pr10) br.cond.dpnt.many L$193 ;; } { .mii 008002300440 83A0 ld1 r17 = [r35] // 072961 012000100940 83A1 add r37 = // r37 = @ltoffx(DECC$$GL___CTYPEA), r1 @ltoffx(DECC$$GL___CTYPEA), gp 012000100900 83A2 add r36 = // r36 = @ltoffx(DECC$$GA___CTYPET), r1 @ltoffx(DECC$$GA___CTYPET), gp Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 252 UserAtClient 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mmi 012010008980 83B0 mov r38 = 260 ;; 0080C2500940 83B1 ld8.mov r37 = [r37], DECC$$GL___CTYPEA 0000A1100440 83B2 sxt1 r17 = r17 } { .mfi 0080C2400900 83C0 ld8.mov r36 = [r36], DECC$$GA___CTYPET 000008000000 83C1 nop.f 0 000008000000 83C2 nop.i 0 ;; } 83D0 L$194: // 072960 { .mii 008082500480 83D0 ld4 r18 = [r37] // 072961 0108011004C0 83D1 mov r19 = r17 000008000000 83D2 nop.i 0 } { .mmi 008082400500 83E0 ld4 r20 = [r36] ;; 01C401200300 83E1 cmp4.eq pr12, pr0 = r0, r18 000008000000 83E2 nop.i 0 } { .mfb 000008000000 83F0 nop.m 0 000008000000 83F1 nop.f 0 00860000A00C 83F2 (pr12) br.cond.dpnt.many L$196 ;; } { .mii 000008000000 8400 nop.m 0 0000B1100440 8401 sxt4 r17 = r17 0000B1400500 8402 sxt4 r20 = r20 ;; } { .mmi 010089422440 8410 shladd r17 = r17, 2, r20 ;; 008081100440 8411 ld4 r17 = [r17] 000008000000 8412 nop.i 0 ;; } { .mmi 010062622440 8420 and r17 = r17, r38 ;; 01C469100000 8421 cmp4.eq pr0, pr13 = r0, r17 000008000000 8422 nop.i 0 } { .bbb 00860000A00D 8430 (pr13) br.cond.dpnt.many L$197 004000000000 8431 nop.b 0 008000007000 8432 br.sptk.many L$198 ;; } 8440 L$196: { .mib 012000002640 8440 mov ai = 1 // r25 = 1 0000B1300AC0 8441 sxt4 out0 = r19 // r43 = r19 00A000001000 8442 br.call.sptk.many rp = DECC$ISALNUM ;; // br0 = DECC$ISALNUM } { .mib 01C430800000 8450 cmp4.eq pr0, pr6 = r0, r8 010802A00040 8451 mov gp = r42 // r1 = r42 008600006006 8452 (pr6) br.cond.dpnt.many L$197 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 253 UserAtClient 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } 8460 L$198: { .mmi 0080023009C0 8460 ld1 r39 = [r35] ;; 01C8027BE2C0 8461 cmp.eq pr11, pr0 = 95, r39 01C84275A240 8462 cmp.eq pr9, pr8 = 45, r39 ;; } { .mfb 01C24000000B 8470 (pr11) cmp.eq.or.andcm pr0, pr8 = r0, r0 000008000000 8471 nop.f 0 008600008008 8472 (pr8) br.cond.dpnt.many L$193 ;; } 8480 L$197: { .mmi 0108023028C0 8480 adds r35 = 1, r35 ;; // 072960 0080023000C0 8481 ld1 r3 = [r35] 000008000000 8482 nop.i 0 ;; } { .mii 000008000000 8490 nop.m 0 0000A03000C0 8491 sxt1 r3 = r3 ;; 010800300440 8492 mov r17 = r3 // 072961 } { .mfb 01C060300000 84A0 cmp.eq pr0, pr12 = r0, r3 // 072960 000008000000 84A1 nop.f 0 0095FFFE600C 84A2 (pr12) br.cond.dptk.many L$194 ;; } 84B0 L$193: // 072961 { .mmi 0080023008C0 84B0 ld1 r35 = [r35] ;; // 072962 000008000000 84B1 nop.m 0 0000A23008C0 84B2 sxt1 r35 = r35 ;; } { .mfb 01C0023003C0 84C0 cmp.eq pr15, pr0 = r0, r35 000008000000 84C1 nop.f 0 00860000600F 84C2 (pr15) br.cond.dpnt.many L$200 ;; } { .mii 010800C202C0 84D0 adds r11 = 16, sp // r11 = 16, r12 012000044280 84D1 mov r10 = 34 010800C20240 84D2 adds r9 = 16, sp ;; // r9 = 16, r12 // 072959 } { .mii 008C00B14000 84E0 st1 [r11] = r10 // 072962 010800902880 84E1 adds sptr = 1, r9 // r34 = 1, r9 000008000000 84E2 nop.i 0 } 84F0 L$200: { .mmi 010800C20480 84F0 adds r18 = 16, sp ;; // r18 = 16, r12 // 072959 008002100500 84F1 ld1 r20 = [r33] // 072964 0108092FE4C0 84F2 adds r19 = 255, r18 ;; // 072959 } { .mii 01A439344000 8500 cmp4.ltu pr0, pr7 = sptr, r19 // pr0, pr7 = r34, r19 // 072964 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 254 UserAtClient 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0000A1400500 8501 sxt1 r20 = r20 ;; 01C0514002C0 8502 cmp.eq pr11, pr10 = r0, r20 ;; } { .mfb 01C2000002C7 8510 (pr7) cmp.eq.or.andcm pr11, pr0 = r0, r0 000008000000 8511 nop.f 0 00860001C00B 8512 (pr11) br.cond.dpnt.many L$202 ;; // 072963 } 8520 L$203: // 072965 { .mii 00AC02228040 8520 st1 [r34] = r20, 1 010802102840 8521 adds r33 = 1, r33 ;; // 072964 01A469344000 8522 cmp4.ltu pr0, pr13 = sptr, r19 // pr0, pr13 = r34, r19 } { .mmi 00A002102580 8530 ld1 r22 = [r33], 1 ;; 000008000000 8531 nop.m 0 0000A1600580 8532 sxt1 r22 = r22 ;; } { .mmi 01C041600240 8540 cmp.eq pr9, pr8 = r0, r22 ;; 01C20000024D 8541 (pr13) cmp.eq.or.andcm pr9, pr0 = r0, r0 000008000000 8542 nop.i 0 } { .mfb 000008000000 8550 nop.m 0 000008000000 8551 nop.f 0 008600014009 8552 (pr9) br.cond.dpnt.many L$202 ;; // 072963 } { .mmi 00AC0222C040 8560 st1 [r34] = r22, 1 ;; // 072965 008002100600 8561 ld1 r24 = [r33] // 072964 01A439344000 8562 cmp4.ltu pr0, pr7 = sptr, r19 ;; // pr0, pr7 = r34, r19 } { .mii 000008000000 8570 nop.m 0 0000A1800600 8571 sxt1 r24 = r24 ;; 01C0718003C0 8572 cmp.eq pr15, pr14 = r0, r24 ;; } { .mfb 01C2000003C7 8580 (pr7) cmp.eq.or.andcm pr15, pr0 = r0, r0 000008000000 8581 nop.f 0 00860000E00F 8582 (pr15) br.cond.dpnt.many L$202 ;; // 072963 } { .mii 008C02230000 8590 st1 [r34] = r24 // 072965 010822200680 8591 adds r26 = 512, r34 010802202880 8592 adds r34 = 1, r34 } { .mmi 010822100640 85A0 adds ai = 512, r33 ;; // r25 = 512, r33 010802102840 85A1 adds r33 = 1, r33 // 072964 01A469344000 85A2 cmp4.ltu pr0, pr13 = sptr, r19 // pr0, pr13 = r34, r19 } { .mmi 00CB41A00000 85B0 lfetch.excl [r26] ;; // 072965 008002100700 85B1 ld1 r28 = [r33] // 072964 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 255 UserAtClient 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 85B2 nop.i 0 } { .mmi 00CB01900000 85C0 lfetch [ai] ;; // [r25] // 072965 000008000000 85C1 nop.m 0 0000A1C00500 85C2 sxt1 r20 = r28 ;; // 072964 } { .mmi 01C0514002C0 85D0 cmp.eq pr11, pr10 = r0, r20 ;; 01C25000000D 85D1 (pr13) cmp.eq.or.andcm pr0, pr10 = r0, r0 000008000000 85D2 nop.i 0 } { .mfb 000008000000 85E0 nop.m 0 000008000000 85E1 nop.f 0 0095FFFE800A 85E2 (pr10) br.cond.dptk.many L$203 ;; // 072963 } 85F0 L$202: // 072965 { .mii 010800C20740 85F0 adds r29 = 16, sp // r29 = 16, r12 // 072966 01A449344000 85F1 cmp4.ltu pr0, pr9 = sptr, r19 // pr0, pr9 = r34, r19 000008000000 85F2 nop.i 0 ;; } { .mmi 008001D00740 8600 ld1 r29 = [r29] ;; 01C839D44180 8601 cmp.eq pr6, pr7 = 34, r29 000008000000 8602 nop.i 0 ;; } { .mfb 01C2000001C9 8610 (pr9) cmp.eq.or.andcm pr7, pr0 = r0, r0 000008000000 8611 nop.f 0 008600004007 8612 (pr7) br.cond.dpnt.many L$207 ;; } { .mmi 012000044780 8620 mov r30 = 34 ;; 00AC0223C040 8621 st1 [r34] = r30, 1 000008000000 8622 nop.i 0 ;; } 8630 L$207: { .mmi 0108D2068AC0 8630 adds out0 = 3380, in0 ;; // r43 = 3380, r32 // 072967 008082B00AC0 8631 ld4 out0 = [out0] // r43 = [r43] 000008000000 8632 nop.i 0 ;; } { .mfb 01C4000563C0 8640 cmp4.eq pr15, pr0 = out0, r0 // pr15, pr0 = r43, r0 000008000000 8641 nop.f 0 00860002A00F 8642 (pr15) br.cond.dpnt.many L$209 ;; } { .mfb 01A469344000 8650 cmp4.ltu pr0, pr13 = sptr, r19 // pr0, pr13 = r34, r19 // 072969 000008000000 8651 nop.f 0 00860000400D 8652 (pr13) br.cond.dpnt.many L$211 ;; } { .mmi 01200005CB00 8660 mov out1 = 46 ;; // r44 = 46 00AC02258040 8661 st1 [r34] = out1, 1 // [r34] = r44, 1 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 256 UserAtClient 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 8662 nop.i 0 ;; } 8670 L$211: { .mii 0108D2068200 8670 adds r8 = 3380, in0 // r8 = 3380, r32 // 072970 01A459344000 8671 cmp4.ltu pr0, pr11 = sptr, r19 // pr0, pr11 = r34, r19 // 072971 000008000000 8672 nop.i 0 ;; } { .mmi 008080800200 8680 ld4 cptr = [r8] ;; // r8 = [r8] // 072970 000008000000 8681 nop.m 0 0000B0800200 8682 sxt4 cptr = cptr ;; // r8 = r8 } { .mmi 0080008009C0 8690 ld1 r39 = [r8] ;; // 072971 000008000000 8691 nop.m 0 0000A27009C0 8692 sxt1 r39 = r39 ;; } { .mmi 01C042700240 86A0 cmp.eq pr9, pr8 = r0, r39 ;; 01C20000024B 86A1 (pr11) cmp.eq.or.andcm pr9, pr0 = r0, r0 000008000000 86A2 nop.i 0 } { .mfb 000008000000 86B0 nop.m 0 000008000000 86B1 nop.f 0 00860001C009 86B2 (pr9) br.cond.dpnt.many L$209 ;; // 072970 } 86C0 L$213: // 072972 { .mii 00AC0224E040 86C0 st1 [r34] = r39, 1 010800802200 86C1 adds r8 = 1, r8 ;; // 072971 01A479344000 86C2 cmp4.ltu pr0, pr15 = sptr, r19 // pr0, pr15 = r34, r19 } { .mmi 00A000802440 86D0 ld1 r17 = [r8], 1 ;; 000008000000 86D1 nop.m 0 0000A1100440 86D2 sxt1 r17 = r17 ;; } { .mmi 01C0311001C0 86E0 cmp.eq pr7, pr6 = r0, r17 ;; 01C2000001CF 86E1 (pr15) cmp.eq.or.andcm pr7, pr0 = r0, r0 000008000000 86E2 nop.i 0 } { .mfb 000008000000 86F0 nop.m 0 000008000000 86F1 nop.f 0 008600014007 86F2 (pr7) br.cond.dpnt.many L$209 ;; // 072970 } { .mmi 00AC02222040 8700 st1 [r34] = r17, 1 ;; // 072972 008000800940 8701 ld1 r37 = [r8] // 072971 01A459344000 8702 cmp4.ltu pr0, pr11 = sptr, r19 ;; // pr0, pr11 = r34, r19 } { .mii 000008000000 8710 nop.m 0 0000A2500940 8711 sxt1 r37 = r37 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 257 UserAtClient 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 01C062500340 8712 cmp.eq pr13, pr12 = r0, r37 ;; } { .mfb 01C20000034B 8720 (pr11) cmp.eq.or.andcm pr13, pr0 = r0, r0 000008000000 8721 nop.f 0 00860000E00D 8722 (pr13) br.cond.dpnt.many L$209 ;; // 072970 } { .mii 008C0224A000 8730 st1 [r34] = r37 // 072972 0108222008C0 8731 adds r35 = 512, r34 010802202880 8732 adds r34 = 1, r34 } { .mmi 010820800980 8740 adds r38 = 512, r8 ;; 010800802200 8741 adds r8 = 1, r8 // 072971 01A479344000 8742 cmp4.ltu pr0, pr15 = sptr, r19 // pr0, pr15 = r34, r19 } { .mmi 00CB42300000 8750 lfetch.excl [r35] ;; // 072972 008000800280 8751 ld1 r10 = [r8] // 072971 000008000000 8752 nop.i 0 } { .mmi 00CB02600000 8760 lfetch [r38] ;; // 072972 000008000000 8761 nop.m 0 0000A0A009C0 8762 sxt1 r39 = r10 ;; // 072971 } { .mmi 01C042700240 8770 cmp.eq pr9, pr8 = r0, r39 ;; 01C24000000F 8771 (pr15) cmp.eq.or.andcm pr0, pr8 = r0, r0 000008000000 8772 nop.i 0 } { .mfb 000008000000 8780 nop.m 0 000008000000 8781 nop.f 0 0095FFFE8008 8782 (pr8) br.cond.dptk.many L$213 ;; // 072970 } 8790 L$209: // 072973 { .mfb 01A439344000 8790 cmp4.ltu pr0, pr7 = sptr, r19 // pr0, pr7 = r34, r19 // 072974 000008000000 8791 nop.f 0 008600004007 8792 (pr7) br.cond.dpnt.many L$217 ;; } { .mmi 0120000802C0 87A0 mov r11 = 64 ;; 00AC02216040 87A1 st1 [r34] = r11, 1 000008000000 87A2 nop.i 0 ;; } 87B0 L$217: { .mii 01080A080580 87B0 adds r22 = 192, in0 // r22 = 192, r32 // 072975 01A459344000 87B1 cmp4.ltu pr0, pr11 = sptr, r19 // pr0, pr11 = r34, r19 // 072976 000008000000 87B2 nop.i 0 ;; } { .mmi 008081600580 87C0 ld4 r22 = [r22] ;; // 072975 000008000000 87C1 nop.m 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 258 UserAtClient 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0000B1600580 87C2 sxt4 r22 = r22 ;; } { .mmi 0108116F0580 87D0 adds cptr = 376, r22 ;; // r22 = 376, r22 0080016005C0 87D1 ld1 r23 = [r22] // 072976 000008000000 87D2 nop.i 0 ;; } { .mii 000008000000 87E0 nop.m 0 0000A17005C0 87E1 sxt1 r23 = r23 ;; 01C061700340 87E2 cmp.eq pr13, pr12 = r0, r23 ;; } { .mfb 01C20000034B 87F0 (pr11) cmp.eq.or.andcm pr13, pr0 = r0, r0 000008000000 87F1 nop.f 0 00860001C00D 87F2 (pr13) br.cond.dpnt.many L$219 ;; // 072975 } 8800 L$220: // 072977 { .mii 00AC0222E040 8800 st1 [r34] = r23, 1 010801602580 8801 adds r22 = 1, r22 ;; // 072976 01A449344000 8802 cmp4.ltu pr0, pr9 = sptr, r19 // pr0, pr9 = r34, r19 } { .mmi 00A001602680 8810 ld1 r26 = [r22], 1 ;; 000008000000 8811 nop.m 0 0000A1A00680 8812 sxt1 r26 = r26 ;; } { .mmi 01C071A003C0 8820 cmp.eq pr15, pr14 = r0, r26 ;; 01C2000003C9 8821 (pr9) cmp.eq.or.andcm pr15, pr0 = r0, r0 000008000000 8822 nop.i 0 } { .mfb 000008000000 8830 nop.m 0 000008000000 8831 nop.f 0 00860001400F 8832 (pr15) br.cond.dpnt.many L$219 ;; // 072975 } { .mmi 00AC02234040 8840 st1 [r34] = r26, 1 ;; // 072977 0080016006C0 8841 ld1 r27 = [r22] // 072976 01A459344000 8842 cmp4.ltu pr0, pr11 = sptr, r19 ;; // pr0, pr11 = r34, r19 } { .mii 000008000000 8850 nop.m 0 0000A1B006C0 8851 sxt1 r27 = r27 ;; 01C031B001C0 8852 cmp.eq pr7, pr6 = r0, r27 ;; } { .mfb 01C2000001CB 8860 (pr11) cmp.eq.or.andcm pr7, pr0 = r0, r0 000008000000 8861 nop.f 0 00860000E007 8862 (pr7) br.cond.dpnt.many L$219 ;; // 072975 } { .mii 008C02236000 8870 st1 [r34] = r27 // 072977 010822200500 8871 adds r20 = 512, r34 010802202880 8872 adds r34 = 1, r34 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 259 UserAtClient 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mmi 010821600700 8880 adds r28 = 512, r22 ;; 010801602580 8881 adds r22 = 1, r22 // 072976 01A449344000 8882 cmp4.ltu pr0, pr9 = sptr, r19 // pr0, pr9 = r34, r19 } { .mmi 00CB41400000 8890 lfetch.excl [r20] ;; // 072977 008001600740 8891 ld1 r29 = [r22] // 072976 000008000000 8892 nop.i 0 } { .mmi 00CB01C00000 88A0 lfetch [r28] ;; // 072977 000008000000 88A1 nop.m 0 0000A1D005C0 88A2 sxt1 r23 = r29 ;; // 072976 } { .mmi 01C061700340 88B0 cmp.eq pr13, pr12 = r0, r23 ;; 01C260000009 88B1 (pr9) cmp.eq.or.andcm pr0, pr12 = r0, r0 000008000000 88B2 nop.i 0 } { .mfb 000008000000 88C0 nop.m 0 000008000000 88C1 nop.f 0 0095FFFE800C 88C2 (pr12) br.cond.dptk.many L$220 ;; // 072975 } 88D0 L$219: // 072977 { .mii 010029244480 88D0 sub r18 = sptr, r18 // r18 = r34, r18 // 072980 012000004640 88D1 mov ai = 2 // r25 = 2 010802000AC0 88D2 mov out0 = rqptr // r43 = r32 } { .mmi 008C02200000 88E0 st1 [r34] = r0 ;; // 072978 010801202900 88E1 adds len = 1, r18 // r36 = 1, r18 // 072980 000008000000 88E2 nop.i 0 ;; } { .mib 000008000000 88F0 nop.m 0 0000B2400B00 88F1 sxt4 out1 = len // r44 = r36 00A000001000 88F2 br.call.sptk.many rp = VmGetHeap ;; // br0 = VmGetHeap } { .mii 010800800980 8900 mov cptr = r8 // r38 = r8 012000006640 8901 mov ai = 3 // r25 = 3 // 072981 0000B2400B40 8902 sxt4 out2 = len // r45 = r36 } { .mmi 010800C20B00 8910 adds out1 = 16, sp ;; // r44 = 16, r12 010800800AC0 8911 mov out0 = r8 // r43 = r8 010802A00040 8912 mov gp = r42 ;; // r1 = r42 // 072980 } { .mfb 000008000000 8920 nop.m 0 000008000000 8921 nop.f 0 00A000001000 8922 br.call.sptk.many rp = strzcpy ;; // br0 = strzcpy // 072981 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 260 UserAtClient 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mii 010802600200 8930 mov r8 = cptr // r8 = r38 // 072982 010802A00040 8931 mov gp = r42 // r1 = r42 // 072981 000008000000 8932 nop.i 0 ;; } 8940 L$191: // 072982 { .mii 000008000000 8940 nop.m 0 000154052000 8941 mov.i rspfs = r41 ;; 000E00150000 8942 mov rp = r40 // br0 = r40 } { .mfb 010810C00300 8950 adds sp = 256, sp // r12 = 256, r12 000008000000 8951 nop.f 0 000108001100 8952 br.ret.sptk.many rp ;; // br0 } .endp UserAtClient Routine Size: 1648 bytes, Routine Base: $CODE$ + 82F0 .proc ConvertFromUtf8 .align 32 .global ConvertFromUtf8 ConvertFromUtf8: // 072995 { .mii 002C00B18A40 8960 alloc r41 = rspfs, 3, 8, 1, 0 000188000A00 8961 mov r40 = rp // r40 = br0 01DC3A1FE000 8962 cmp4.eq pr0, pr7 = -1, in1 // pr0, pr7 = -1, r33 // 073013 } { .mmi 010802100200 8970 mov UtfCount = in1 ;; // r8 = r33 // 072995 010800100A80 8971 mov r42 = gp // r42 = r1 000008000000 8972 nop.i 0 } { .mfb 000008000000 8980 nop.m 0 000008000000 8981 nop.f 0 008600006007 8982 (pr7) br.cond.dpnt.many L$135 ;; // 073013 } { .mib 012000002640 8990 mov ai = 1 // r25 = 1 010802000AC0 8991 mov out0 = UtfPtr // r43 = r32 00A000001000 8992 br.call.sptk.many rp = DECC$STRLEN ;; // br0 = DECC$STRLEN } { .mfi 010802A00040 89A0 mov gp = r42 // r1 = r42 000008000000 89A1 nop.f 0 000008000000 89A2 nop.i 0 } 89B0 L$135: { .mfb 018438010000 89B0 cmp4.lt pr0, pr7 = UtfCount, r0 // pr0, pr7 = r8, r0 // 073015 000008000000 89B1 nop.f 0 008600004007 89B2 (pr7) br.cond.dpnt.many L$138 ;; } { .mfb 0119F80FE200 89C0 adds r8 = -1, r0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 261 ConvertFromUtf8 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 89C1 nop.f 0 0080000AD000 89C2 br.sptk.many L$139 ;; } 89D0 L$138: { .mii 010802000900 89D0 mov cptr = UtfPtr // r36 = r32 // 073018 0000B08008C0 89D1 sxt4 r35 = UtfCount ;; // r35 = r8 0100023408C0 89D2 add zptr = UtfPtr, r35 ;; // r35 = r32, r35 } { .mfb 01A44A340200 89E0 cmp4.ltu pr8, pr9 = UtfPtr, zptr // pr8, pr9 = r32, r35 000008000000 89E1 nop.f 0 008600034009 89E2 (pr9) br.cond.dpnt.many L$141 ;; } { .mii 0119FA3F8940 89F0 adds r37 = -4, zptr // r37 = -4, r35 012008080980 89F1 mov r38 = 192 ;; // 073019 01A46A540000 89F2 cmp4.ltu pr0, pr13 = UtfPtr, r37 // pr0, pr13 = r32, r37 // 073018 } { .mmi 01A4525462C0 8A00 cmp4.ltu pr11, pr10 = zptr, r37 ;; // pr11, pr10 = r35, r37 01C2000002CD 8A01 (pr13) cmp.eq.or.andcm pr11, pr0 = r0, r0 000008000000 8A02 nop.i 0 } { .mfb 000008000000 8A10 nop.m 0 000008000000 8A11 nop.f 0 00860002600B 8A12 (pr11) br.cond.dpnt.many L$151 ;; } 8A20 L$144: { .mii 0080024009C0 8A20 ld1 r39 = [r36] // 073019 012008080840 8A21 mov in1 = 192 ;; // r33 = 192 01006264E9C0 8A22 and r39 = r39, r38 ;; } { .mfb 01C00214E3C0 8A30 cmp.eq pr15, pr0 = r39, in1 // pr15, pr0 = r39, r33 000008000000 8A31 nop.f 0 00860002A00F 8A32 (pr15) br.cond.dpnt.many L$141 ;; } { .mii 010802402900 8A40 adds r36 = 1, r36 012008080240 8A41 mov r9 = 192 000008000000 8A42 nop.i 0 ;; } { .mmi 0080024000C0 8A50 ld1 r3 = [r36] ;; 0100626060C0 8A51 and r3 = r3, r38 000008000000 8A52 nop.i 0 ;; } { .mfb 01C0009061C0 8A60 cmp.eq pr7, pr0 = r3, r9 000008000000 8A61 nop.f 0 008600024007 8A62 (pr7) br.cond.dpnt.many L$141 ;; } { .mii 010802402900 8A70 adds r36 = 1, r36 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 262 ConvertFromUtf8 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0120080802C0 8A71 mov r11 = 192 000008000000 8A72 nop.i 0 ;; } { .mmi 008002400280 8A80 ld1 r10 = [r36] ;; 010062614280 8A81 and r10 = r10, r38 000008000000 8A82 nop.i 0 ;; } { .mfb 01C040B14240 8A90 cmp.eq pr9, pr8 = r10, r11 000008000000 8A91 nop.f 0 00860001E009 8A92 (pr9) br.cond.dpnt.many L$141 ;; } { .mii 010802402900 8AA0 adds r36 = 1, r36 012008080480 8AA1 mov r18 = 192 000008000000 8AA2 nop.i 0 ;; } { .mmi 008002400440 8AB0 ld1 r17 = [r36] ;; 010062622440 8AB1 and r17 = r17, r38 000008000000 8AB2 nop.i 0 ;; } { .mfb 01C001222340 8AC0 cmp.eq pr13, pr0 = r17, r18 000008000000 8AC1 nop.f 0 00860001800D 8AC2 (pr13) br.cond.dpnt.many L$141 ;; } { .mii 010802402900 8AD0 adds r36 = 1, r36 012008080500 8AD1 mov r20 = 192 ;; 010842400540 8AD2 adds r21 = 1024, r36 } { .mmi 0080024004C0 8AE0 ld1 r19 = [r36] ;; 0100626264C0 8AE1 and r19 = r19, r38 000008000000 8AE2 nop.i 0 } { .mmi 00CB01500000 8AF0 lfetch [r21] ;; 01C0014262C0 8AF1 cmp.eq pr11, pr0 = r19, r20 000008000000 8AF2 nop.i 0 } { .mfb 000008000000 8B00 nop.m 0 000008000000 8B01 nop.f 0 00860001000B 8B02 (pr11) br.cond.dpnt.many L$141 ;; } { .mmi 010802402900 8B10 adds r36 = 1, r36 ;; 01A402548380 8B11 cmp4.ltu pr14, pr0 = cptr, r37 // pr14, pr0 = r36, r37 // 073018 000008000000 8B12 nop.i 0 } { .mfb 000008000000 8B20 nop.m 0 000008000000 8B21 nop.f 0 0095FFFE000E 8B22 (pr14) br.cond.dptk.many L$144 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 263 ConvertFromUtf8 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mfb 01A43A348000 8B30 cmp4.ltu pr0, pr7 = cptr, zptr // pr0, pr7 = r36, r35 000008000000 8B31 nop.f 0 00860000A007 8B32 (pr7) br.cond.dpnt.many L$141 ;; } 8B40 L$151: { .mii 008002400580 8B40 ld1 r22 = [r36] // 073019 0120080805C0 8B41 mov r23 = 192 ;; 01006262C580 8B42 and r22 = r22, r38 ;; } { .mfb 01C04172C240 8B50 cmp.eq pr9, pr8 = r22, r23 000008000000 8B51 nop.f 0 008600006009 8B52 (pr9) br.cond.dpnt.many L$141 ;; } { .mmi 010802402900 8B60 adds r36 = 1, r36 ;; 01A402348300 8B61 cmp4.ltu pr12, pr0 = cptr, zptr // pr12, pr0 = r36, r35 // 073018 000008000000 8B62 nop.i 0 } { .mfb 000008000000 8B70 nop.m 0 000008000000 8B71 nop.f 0 0095FFFFA00C 8B72 (pr12) br.cond.dptk.many L$151 ;; } 8B80 L$141: // 073019 { .mbb 01A402348280 8B80 cmp4.ltu pr10, pr0 = cptr, zptr // pr10, pr0 = r36, r35 // 073022 00860000200A 8B81 (pr10) br.cond.dpnt.many L$153 008000073000 8B82 br.sptk.many L$1135 ;; } 8B90 L$153: { .mii 008002400600 8B90 ld1 r24 = [r36] // 073023 0120080FE640 8B91 mov ai = 255 // r25 = 255 0120080FE680 8B92 mov r26 = 255 ;; } { .mfb 01C071930000 8BA0 cmp.eq pr0, pr14 = r24, ai // pr0, pr14 = r24, r25 000008000000 8BA1 nop.f 0 00860000400E 8BA2 (pr14) br.cond.dpnt.many L$155 ;; } { .mfb 01002A048200 8BB0 sub r8 = cptr, UtfPtr // r8 = r36, r32 000008000000 8BB1 nop.f 0 00800006D000 8BB2 br.sptk.many L$1135 ;; } 8BC0 L$155: { .mii 010061A44680 8BC0 and r26 = SubsChar, r26 // r26 = r34, r26 // 073037 0120080F0AC0 8BC1 mov out0 = 248 // r43 = 248 // 073028 0120080E07C0 8BC2 mov r31 = 240 } { .mmi 012008080780 8BD0 mov r30 = 192 ;; // 073050 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 264 ConvertFromUtf8 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 01C031A001C0 8BD1 cmp.eq pr7, pr6 = r0, r26 // 073037 0120080C0740 8BD2 mov r29 = 224 // 073040 } { .mii 010802400700 8BE0 mov sptr = cptr // r28 = r36 // 073025 0000822006C0 8BE1 zxt1 r27 = SubsChar ;; // r27 = r34 // 073037 01C000001247 8BE2 (pr7) cmp.eq.unc pr9, pr0 = r0, r0 // 073059 } { .mfi 01C000001206 8BF0 (pr6) cmp.eq.unc pr8, pr0 = r0, r0 000008000000 8BF1 nop.f 0 000008000000 8BF2 nop.i 0 ;; } 8C00 L$157: // 073026 { .mii 008002400840 8C00 ld1 in1 = [r36] // r33 = [r36] // 073028 0120080E00C0 8C01 mov r3 = 240 ;; 010062B429C0 8C02 and r39 = in1, out0 ;; // r39 = r33, r43 } { .mfb 01C06034E000 8C10 cmp.eq pr0, pr12 = r39, r3 000008000000 8C11 nop.f 0 00860001C00C 8C12 (pr12) br.cond.dpnt.many L$158 ;; } { .mmi 010802402900 8C20 adds r36 = 1, r36 ;; 01A45A348000 8C21 cmp4.ltu pr0, pr11 = cptr, zptr // pr0, pr11 = r36, r35 // 073031 000008000000 8C22 nop.i 0 } { .mfb 000008000000 8C30 nop.m 0 000008000000 8C31 nop.f 0 00860005800B 8C32 (pr11) br.cond.dpnt.many utf8_nbg ;; } { .mii 00A002402240 8C40 ld1 r9 = [r36], 1 // 073032 012008000280 8C41 mov r10 = 128 ;; 010061E12240 8C42 and r9 = r9, r30 ;; } { .mfb 01C070A12000 8C50 cmp.eq pr0, pr14 = r9, r10 000008000000 8C51 nop.f 0 00860005400E 8C52 (pr14) br.cond.dpnt.many utf8_nbg ;; } { .mfb 01A43A348000 8C60 cmp4.ltu pr0, pr7 = cptr, zptr // pr0, pr7 = r36, r35 // 073033 000008000000 8C61 nop.f 0 008600052007 8C62 (pr7) br.cond.dpnt.many utf8_nbg ;; } { .mmi 00A0024022C0 8C70 ld1 r11 = [r36], 1 ;; // 073034 010061E162C0 8C71 and r11 = r11, r30 000008000000 8C72 nop.i 0 ;; } { .mfb 01C060A16000 8C80 cmp.eq pr0, pr12 = r11, r10 000008000000 8C81 nop.f 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 265 ConvertFromUtf8 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 00860004E00C 8C82 (pr12) br.cond.dpnt.many utf8_nbg ;; } { .mfb 01A45A348000 8C90 cmp4.ltu pr0, pr11 = cptr, zptr // pr0, pr11 = r36, r35 // 073035 000008000000 8C91 nop.f 0 00860004C00B 8C92 (pr11) br.cond.dpnt.many utf8_nbg ;; } { .mmi 008002400440 8CA0 ld1 r17 = [r36] ;; // 073036 010061E22440 8CA1 and r17 = r17, r30 000008000000 8CA2 nop.i 0 ;; } { .mbb 01C070A22000 8CB0 cmp.eq pr0, pr14 = r17, r10 00860004800E 8CB1 (pr14) br.cond.dpnt.many utf8_nbg 008600004008 8CB2 (pr8) br.cond.dpnt.many L$166 ;; // 073037 } { .mfb 000008000000 8CC0 nop.m 0 000008000000 8CC1 nop.f 0 008600044009 8CC2 (pr9) br.cond.dpnt.many L$167 ;; } 8CD0 L$166: { .mmi 01A402348300 8CD0 cmp4.ltu pr12, pr0 = cptr, zptr // pr12, pr0 = r36, r35 // 073026 00AC01C36040 8CD1 st1 [r28] = r27, 1 // 073037 000008000000 8CD2 nop.i 0 ;; } { .bbb 0095FFFE400C 8CE0 (pr12) br.cond.dptk.many L$157 // 073026 008000045000 8CE1 br.sptk.many L$185 004000000000 8CE2 nop.b 0 ;; } 8CF0 L$158: // 073039 { .mii 0120080C0500 8CF0 mov r20 = 224 // 073040 010061F424C0 8CF1 and r19 = in1, r31 ;; // r19 = r33, r31 01C0314261C0 8CF2 cmp.eq pr7, pr6 = r19, r20 } { .mfb 000008000000 8D00 nop.m 0 000008000000 8D01 nop.f 0 008600016006 8D02 (pr6) br.cond.dpnt.many L$168 ;; } { .mmi 010802402900 8D10 adds r36 = 1, r36 ;; 01A46A348000 8D11 cmp4.ltu pr0, pr13 = cptr, zptr // pr0, pr13 = r36, r35 // 073043 000008000000 8D12 nop.i 0 } { .mfb 000008000000 8D20 nop.m 0 000008000000 8D21 nop.f 0 00860003A00D 8D22 (pr13) br.cond.dpnt.many utf8_nbg ;; } { .mii 00A002402540 8D30 ld1 r21 = [r36], 1 // 073044 012008000940 8D31 mov r37 = 128 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 266 ConvertFromUtf8 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 010061E2A540 8D32 and r21 = r21, r30 ;; } { .mfb 01C05252A000 8D40 cmp.eq pr0, pr10 = r21, r37 000008000000 8D41 nop.f 0 00860003600A 8D42 (pr10) br.cond.dpnt.many utf8_nbg ;; } { .mfb 01A47A348000 8D50 cmp4.ltu pr0, pr15 = cptr, zptr // pr0, pr15 = r36, r35 // 073045 000008000000 8D51 nop.f 0 00860003400F 8D52 (pr15) br.cond.dpnt.many utf8_nbg ;; } { .mmi 008002400580 8D60 ld1 r22 = [r36] ;; // 073046 010061E2C580 8D61 and r22 = r22, r30 000008000000 8D62 nop.i 0 ;; } { .mbb 01C03252C000 8D70 cmp.eq pr0, pr6 = r22, r37 008600030006 8D71 (pr6) br.cond.dpnt.many utf8_nbg 008600004008 8D72 (pr8) br.cond.dpnt.many L$174 ;; // 073047 } { .mfb 000008000000 8D80 nop.m 0 000008000000 8D81 nop.f 0 00860002C009 8D82 (pr9) br.cond.dpnt.many L$167 ;; } 8D90 L$174: { .mmi 01A402348300 8D90 cmp4.ltu pr12, pr0 = cptr, zptr // pr12, pr0 = r36, r35 // 073026 00AC01C36040 8D91 st1 [r28] = r27, 1 // 073047 000008000000 8D92 nop.i 0 ;; } { .bbb 0095FFFCC00C 8DA0 (pr12) br.cond.dptk.many L$157 // 073026 00800002D000 8DA1 br.sptk.many L$185 004000000000 8DA2 nop.b 0 ;; } 8DB0 L$168: // 073049 { .mii 012008080600 8DB0 mov r24 = 192 // 073050 010061D42980 8DB1 and r38 = in1, r29 ;; // r38 = r33, r29 01C06184C000 8DB2 cmp.eq pr0, pr12 = r38, r24 } { .mfb 000008000000 8DC0 nop.m 0 000008000000 8DC1 nop.f 0 00860002200C 8DC2 (pr12) br.cond.dpnt.many L$175 ;; } { .mii 010802402200 8DD0 adds r8 = 1, cptr // r8 = 1, r36 // 073065 010162138640 8DD1 and ai = 28, in1 ;; // r25 = 28, r33 // 073053 01A47A310380 8DD2 cmp4.ltu pr14, pr15 = r8, zptr // pr14, pr15 = r8, r35 // 073056 } { .mmi 01C0019002C0 8DE0 cmp.eq pr11, pr0 = r0, ai ;; // pr11, pr0 = r0, r25 // 073053 01C0000011CF 8DE1 (pr15) cmp.eq.unc pr7, pr0 = r0, r0 // 073065 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 267 ConvertFromUtf8 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 01C00000118E 8DE2 (pr14) cmp.eq.unc pr6, pr0 = r0, r0 } { .bbb 00860000E00B 8DF0 (pr11) br.cond.dpnt.many L$178 // 073053 008600002006 8DF1 (pr6) br.cond.dpnt.many L$179 // 073056 008600020007 8DF2 (pr7) br.cond.dpnt.many utf8_nbg ;; } 8E00 L$179: { .mii 008000800880 8E00 ld1 in2 = [r8] // r34 = [r8] // 073057 012008000680 8E01 mov r26 = 128 ;; 010061E44880 8E02 and in2 = in2, r30 ;; // r34 = r34, r30 } { .mfb 01C061A44000 8E10 cmp.eq pr0, pr12 = in2, r26 // pr0, pr12 = r34, r26 000008000000 8E11 nop.f 0 00860001C00C 8E12 (pr12) br.cond.dpnt.many utf8_nbg ;; } { .mmi 010800802900 8E20 adds cptr = 1, r8 ;; // r36 = 1, r8 // 073058 01A47A348000 8E21 cmp4.ltu pr0, pr15 = cptr, zptr // pr0, pr15 = r36, r35 000008000000 8E22 nop.i 0 } { .bbb 00860001800F 8E30 (pr15) br.cond.dpnt.many utf8_nbg 008600002008 8E31 (pr8) br.cond.dpnt.many L$182 // 073059 008600016009 8E32 (pr9) br.cond.dpnt.many L$167 ;; } 8E40 L$182: { .mmi 01A402348300 8E40 cmp4.ltu pr12, pr0 = cptr, zptr // pr12, pr0 = r36, r35 // 073026 00AC01C36040 8E41 st1 [r28] = r27, 1 // 073059 000008000000 8E42 nop.i 0 ;; } { .bbb 0095FFFB600C 8E50 (pr12) br.cond.dptk.many L$157 // 073026 008000017000 8E51 br.sptk.many L$185 004000000000 8E52 nop.b 0 ;; } 8E60 L$178: // 073061 { .mmi 0101621069C0 8E60 and r39 = 3, in1 ;; // r39 = 3, r33 // 073064 000008000000 8E61 nop.m 0 00A7CB94E9C0 8E62 shl ch = r39, 6 // r39 = r39, 6 } { .bbb 008600002006 8E70 (pr6) br.cond.dpnt.many L$183 // 073065 004000000000 8E71 nop.b 0 008600010007 8E72 (pr7) br.cond.dpnt.many utf8_nbg ;; } 8E80 L$183: { .mii 008000800240 8E80 ld1 r9 = [r8] // 073066 012008000280 8E81 mov r10 = 128 ;; 010061E122C0 8E82 and r11 = r9, r30 ;; } { .mfb Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 268 ConvertFromUtf8 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 01C050A16000 8E90 cmp.eq pr0, pr10 = r11, r10 000008000000 8E91 nop.f 0 00860000C00A 8E92 (pr10) br.cond.dpnt.many utf8_nbg ;; } { .mii 01016097E240 8EA0 and r9 = 63, r9 // 073067 010800802900 8EA1 adds cptr = 1, r8 ;; // r36 = 1, r8 // 073069 01007094E240 8EA2 or r9 = ch, r9 // r9 = r39, r9 // 073067 } { .mmi 01A402348300 8EB0 cmp4.ltu pr12, pr0 = cptr, zptr ;; // pr12, pr0 = r36, r35 // 073026 00AC01C12040 8EB1 st1 [r28] = r9, 1 // 073068 000008000000 8EB2 nop.i 0 ;; } { .bbb 0095FFFA800C 8EC0 (pr12) br.cond.dptk.many L$157 // 073026 008000009000 8EC1 br.sptk.many L$185 004000000000 8EC2 nop.b 0 ;; } 8ED0 L$175: // 073072 { .mmi 010802402900 8ED0 adds r36 = 1, r36 00AC01C42040 8ED1 st1 [r28] = in1, 1 // [r28] = r33, 1 // 073075 000008000000 8ED2 nop.i 0 ;; } 8EE0 L$167: // 073026 { .mbb 01A402348300 8EE0 cmp4.ltu pr12, pr0 = cptr, zptr // pr12, pr0 = r36, r35 0095FFFA400C 8EE1 (pr12) br.cond.dptk.many L$157 008000005000 8EE2 br.sptk.many L$185 ;; } 8EF0 utf8_nbg: // 073082 { .mfb 0119F80FE200 8EF0 adds r8 = -1, r0 // 073083 000008000000 8EF1 nop.f 0 008000007000 8EF2 br.sptk.many L$139 ;; } 8F00 L$185: // 073077 { .mii 008C01C00000 8F00 st1 [r28] = r0 // 073078 01002A038200 8F01 sub r8 = sptr, UtfPtr // r8 = r28, r32 // 073080 000008000000 8F02 nop.i 0 ;; } 8F10 L$1135: { .mib 000008000000 8F10 nop.m 0 0000B0800200 8F11 sxt4 r8 = r8 004000000000 8F12 nop.b 0 } 8F20 L$139: { .mii 000008000000 8F20 nop.m 0 000154052000 8F21 mov.i rspfs = r41 ;; 000E00150000 8F22 mov rp = r40 // br0 = r40 } { .mfb 000008000000 8F30 nop.m 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 269 ConvertFromUtf8 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 8F31 nop.f 0 000108001100 8F32 br.ret.sptk.many rp ;; // br0 } .endp ConvertFromUtf8 Routine Size: 1504 bytes, Routine Base: $CODE$ + 8960 .proc ConvertToUtf8 .align 32 .global ConvertToUtf8 ConvertToUtf8: // 073096 { .mii 002C00B18A40 8F40 alloc r41 = rspfs, 3, 8, 1, 0 000188000A00 8F41 mov r40 = rp // r40 = br0 01DC3A1FE000 8F42 cmp4.eq pr0, pr7 = -1, in1 // pr0, pr7 = -1, r33 // 073114 } { .mmi 0108000008C0 8F50 mov HiBitCount = r0 ;; // r35 = r0 // 073103 010802100200 8F51 mov TextLength = in1 // r8 = r33 // 073096 010800100A80 8F52 mov r42 = gp // r42 = r1 } { .mfb 000008000000 8F60 nop.m 0 000008000000 8F61 nop.f 0 008600006007 8F62 (pr7) br.cond.dpnt.many L$112 ;; // 073114 } { .mib 012000002640 8F70 mov ai = 1 // r25 = 1 010802000AC0 8F71 mov out0 = TextPtr // r43 = r32 00A000001000 8F72 br.call.sptk.many rp = DECC$STRLEN ;; // br0 = DECC$STRLEN } { .mfi 010802A00040 8F80 mov gp = r42 // r1 = r42 000008000000 8F81 nop.f 0 000008000000 8F82 nop.i 0 } 8F90 L$112: { .mii 010802000940 8F90 mov cptr = TextPtr // r37 = r32 // 073116 0000B0800900 8F91 sxt4 r36 = TextLength ;; // r36 = r8 010002440900 8F92 add r36 = TextPtr, r36 ;; // r36 = r32, r36 } { .mfb 01A43A440000 8FA0 cmp4.ltu pr0, pr7 = TextPtr, r36 // pr0, pr7 = r32, r36 000008000000 8FA1 nop.f 0 00860002E007 8FA2 (pr7) br.cond.dpnt.many L$115 ;; } { .mii 0119FA4F8980 8FB0 adds r38 = -4, r36 0120080009C0 8FB1 mov r39 = 128 ;; // 073117 01A45A640000 8FB2 cmp4.ltu pr0, pr11 = TextPtr, r38 // pr0, pr11 = r32, r38 // 073116 } { .mmi 01A442648240 8FC0 cmp4.ltu pr9, pr8 = r36, r38 ;; 01C20000024B 8FC1 (pr11) cmp.eq.or.andcm pr9, pr0 = r0, r0 000008000000 8FC2 nop.i 0 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 270 ConvertToUtf8 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mfb 000008000000 8FD0 nop.m 0 000008000000 8FD1 nop.f 0 008600020009 8FD2 (pr9) br.cond.dpnt.many L$120 ;; } 8FE0 L$118: { .mii 008002500840 8FE0 ld1 in1 = [r37] // r33 = [r37] // 073117 010802302240 8FE1 adds r9 = 1, HiBitCount // r9 = 1, r35 0108025084C0 8FE2 adds r19 = 4, cptr ;; // r19 = 4, r37 // 073116 } { .mii 010802502940 8FF0 adds r37 = 1, r37 // 073117 0000A2100840 8FF1 sxt1 in1 = in1 ;; // r33 = r33 010062742840 8FF2 and in1 = in1, r39 // r33 = r33, r39 } { .mmi 00A0025020C0 9000 ld1 r3 = [r37], 1 ;; 008002500280 9001 ld1 r10 = [r37] 0000A03000C0 9002 sxt1 r3 = r3 } { .mii 010802502940 9010 adds r37 = 1, r37 01C062100000 9011 cmp.eq pr0, pr12 = r0, in1 ;; // pr0, pr12 = r0, r33 0100627060C0 9012 and r3 = r3, r39 } { .mii 008002500440 9020 ld1 r17 = [r37] 0000A0A00280 9021 sxt1 r10 = r10 ;; 010802502940 9022 adds r37 = 1, r37 } { .mii 0108009008CC 9030 (pr12) mov HiBitCount = r9 // r35 = r9 01C070300000 9031 cmp.eq pr0, pr14 = r0, r3 010062714280 9032 and r10 = r10, r39 ;; } { .mii 0108023022C0 9040 adds r11 = 1, HiBitCount // r11 = 1, r35 0000A1100440 9041 sxt1 r17 = r17 01C030A00000 9042 cmp.eq pr0, pr6 = r0, r10 } { .mmi 008002500500 9050 ld1 r20 = [r37] ;; 010800B008CE 9051 (pr14) mov HiBitCount = r11 // r35 = r11 010062722440 9052 and r17 = r17, r39 } { .mii 010842500940 9060 adds r37 = 1024, r37 0000A1400500 9061 sxt1 r20 = r20 ;; 010802302480 9062 adds r18 = 1, HiBitCount // r18 = 1, r35 } { .mii 01C051100000 9070 cmp.eq pr0, pr10 = r0, r17 010062728500 9071 and r20 = r20, r39 ;; 0108012008C6 9072 (pr6) mov HiBitCount = r18 // r35 = r18 } { .mii Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 271 ConvertToUtf8 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 00CB02500000 9080 lfetch [r37] 01C041400000 9081 cmp.eq pr0, pr8 = r0, r20 010801302940 9082 adds cptr = 1, r19 ;; // r37 = 1, r19 // 073116 } { .mii 010802302540 9090 adds r21 = 1, HiBitCount // r21 = 1, r35 // 073117 01A40264A340 9091 cmp4.ltu pr13, pr0 = cptr, r38 ;; // pr13, pr0 = r37, r38 // 073116 0108015008CA 9092 (pr10) mov HiBitCount = r21 ;; // r35 = r21 // 073117 } { .mmi 010802302580 90A0 adds r22 = 1, HiBitCount ;; // r22 = 1, r35 0108016008C8 90A1 (pr8) mov HiBitCount = r22 // r35 = r22 000008000000 90A2 nop.i 0 } { .mfb 000008000000 90B0 nop.m 0 000008000000 90B1 nop.f 0 0095FFFE600D 90B2 (pr13) br.cond.dptk.many L$118 ;; // 073116 } { .mfb 01A47244A000 90C0 cmp4.ltu pr0, pr14 = cptr, r36 // pr0, pr14 = r37, r36 000008000000 90C1 nop.f 0 00860000A00E 90C2 (pr14) br.cond.dpnt.many L$115 ;; } 90D0 L$120: { .mii 00A0025025C0 90D0 ld1 r23 = [r37], 1 // 073117 010802302600 90D1 adds r24 = 1, HiBitCount ;; // r24 = 1, r35 0000A17005C0 90D2 sxt1 r23 = r23 } { .mmi 01A40244A2C0 90E0 cmp4.ltu pr11, pr0 = cptr, r36 ;; // pr11, pr0 = r37, r36 // 073116 01006272E5C0 90E1 and r23 = r23, r39 // 073117 000008000000 90E2 nop.i 0 ;; } { .mmi 01C039700000 90F0 cmp.eq pr0, pr7 = r0, r23 ;; 0108018008C7 90F1 (pr7) mov HiBitCount = r24 // r35 = r24 000008000000 90F2 nop.i 0 } { .mfb 000008000000 9100 nop.m 0 000008000000 9101 nop.f 0 0095FFFFA00B 9102 (pr11) br.cond.dptk.many L$120 ;; // 073116 } 9110 L$115: // 073117 { .mbb 01C44A300000 9110 cmp4.eq pr0, pr9 = r0, HiBitCount // pr0, pr9 = r0, r35 // 073119 008600002009 9111 (pr9) br.cond.dpnt.many L$121 008000027000 9112 br.sptk.many L$126 ;; } 9120 L$121: { .mii 010002310200 9120 add r8 = TextLength, HiBitCount // r8 = r8, r35 // 073121 0119FA2FE880 9121 adds in2 = -1, in2 ;; // r34 = -1, r34 // 073119 018402210300 9122 cmp4.lt pr12, pr0 = r8, in2 // pr12, pr0 = r8, r34 // 073121 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 272 ConvertToUtf8 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mfb 000008000000 9130 nop.m 0 000008000000 9131 nop.f 0 00860000400C 9132 (pr12) br.cond.dpnt.many L$124 ;; } { .mfb 0119F80FE200 9140 adds r8 = -1, r0 000008000000 9141 nop.f 0 008000023000 9142 br.sptk.many L$123 ;; } 9150 L$124: { .mii 0119FA4FE900 9150 adds r36 = -1, r36 0000B23008C0 9151 sxt4 r35 = HiBitCount ;; // r35 = r35 // 073123 0100023488C0 9152 add r35 = cptr, r35 // r35 = r36, r35 } { .mmi 01A402048380 9160 cmp4.ltu pr14, pr0 = cptr, TextPtr ;; // pr14, pr0 = r36, r32 // 073125 0108023028C0 9161 adds r35 = 1, r35 // 073124 000008000000 9162 nop.i 0 ;; } { .mib 008C02300000 9170 st1 [r35] = r0 0119FA3FE640 9171 adds sptr = -1, sptr // r25 = -1, r35 00860001A00E 9172 (pr14) br.cond.dpnt.many L$126 ;; // 073125 } { .mii 012008000700 9180 mov r28 = 128 // 073127 0120080806C0 9181 mov r27 = 192 // 073130 000008000000 9182 nop.i 0 ;; } 9190 L$128: // 073125 { .mii 008002400740 9190 ld1 r29 = [r36] // 073127 0119FA4FEAC0 9191 adds out0 = -1, cptr // r43 = -1, r36 // 073130 0119F99FE7C0 9192 adds r31 = -1, sptr ;; // r31 = -1, r25 // 073133 } { .mii 000008000000 91A0 nop.m 0 0000A1D00740 91A1 sxt1 r29 = r29 ;; // 073127 010061C3A780 91A2 and r30 = r29, r28 ;; } { .mfb 01C001E001C0 91B0 cmp.eq pr7, pr0 = r0, r30 000008000000 91B1 nop.f 0 00860000E007 91B2 (pr7) br.cond.dpnt.many L$130 ;; } { .mmi 010161D7E840 91C0 and in1 = 63, r29 ;; // r33 = 63, r29 // 073129 0119FA100840 91C1 adds in1 = -128, in1 // r33 = -128, r33 000008000000 91C2 nop.i 0 ;; } { .mii 008C01942000 91D0 st1 [ai] = in1 // [r25] = r33 0119F9FFE640 91D1 adds sptr = -1, r31 // r25 = -1, r31 // 073130 000008000000 91D2 nop.i 0 ;; } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 273 ConvertToUtf8 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mmi 008002400900 91E0 ld1 r36 = [r36] ;; 000008000000 91E1 nop.m 0 0000A2400900 91E2 sxt1 r36 = r36 ;; } { .mmi 010061B48900 91F0 and r36 = r36, r27 ;; 000008000000 91F1 nop.m 0 00A5CA41A900 91F2 shr r36 = r36, 6 ;; } { .mii 0111724800C0 9200 or r3 = -64, r36 010802B00900 9201 mov cptr = out0 // r36 = r43 000008000000 9202 nop.i 0 ;; } { .mfb 008C01F06000 9210 st1 [r31] = r3 000008000000 9211 nop.f 0 008000005000 9212 br.sptk.many L$131 ;; // 073132 } 9220 L$130: { .mii 008C0193A000 9220 st1 [ai] = r29 // [r25] = r29 // 073133 010801F00640 9221 mov sptr = r31 // r25 = r31 010802B00900 9222 mov cptr = out0 ;; // r36 = r43 } 9230 L$131: // 073125 { .mfb 01A45A048000 9230 cmp4.ltu pr0, pr11 = cptr, TextPtr // pr0, pr11 = r36, r32 000008000000 9231 nop.f 0 0095FFFEC00B 9232 (pr11) br.cond.dptk.many L$128 ;; } 9240 L$126: // 073134 { .mib 000008000000 9240 nop.m 0 0000B0800200 9241 sxt4 r8 = r8 // 073136 004000000000 9242 nop.b 0 } 9250 L$123: { .mii 000008000000 9250 nop.m 0 000154052000 9251 mov.i rspfs = r41 ;; 000E00150000 9252 mov rp = r40 // br0 = r40 } { .mfb 000008000000 9260 nop.m 0 000008000000 9261 nop.f 0 000108001100 9262 br.ret.sptk.many rp ;; // br0 } .endp ConvertToUtf8 Routine Size: 816 bytes, Routine Base: $CODE$ + 8F40 .proc ConvertUtf8ToEscape .align 32 .global ConvertUtf8ToEscape ConvertUtf8ToEscape: // 073147 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 274 ConvertUtf8ToEscape 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mmi 002C00912A00 9270 alloc r40 = rspfs, 3, 6, 0, 0 008002000240 9271 ld1 r9 = [in0] // r9 = [r32] // 073167 010802000280 9272 mov cptr = FileSpec ;; // r10 = r32 } { .mii 000008000000 9280 nop.m 0 0000A0900240 9281 sxt1 r9 = r9 ;; 01C038900200 9282 cmp.eq pr8, pr7 = r0, r9 ;; } { .mib 01C000001288 9290 (pr8) cmp.eq.unc pr10, pr0 = r0, r0 01C000001247 9291 (pr7) cmp.eq.unc pr9, pr0 = r0, r0 008600004009 9292 (pr9) br.cond.dpnt.many L$78 ;; } { .mfb 000008000000 92A0 nop.m 0 000008000000 92A1 nop.f 0 00860000C00A 92A2 (pr10) br.cond.dpnt.many L$77 ;; } 92B0 L$78: { .mmi 008000A002C0 92B0 ld1 r11 = [r10] ;; // 073168 0119F8B002C0 92B1 adds r11 = -128, r11 000008000000 92B2 nop.i 0 ;; } { .mfb 01A858B3E000 92C0 cmp.ltu pr0, pr11 = 31, r11 000008000000 92C1 nop.f 0 00860000800B 92C2 (pr11) br.cond.dpnt.many L$77 ;; } { .mmi 010800A02280 92D0 adds r10 = 1, r10 ;; // 073167 008000A00440 92D1 ld1 r17 = [r10] 000008000000 92D2 nop.i 0 ;; } { .mii 000008000000 92E0 nop.m 0 0000A1100440 92E1 sxt1 r17 = r17 ;; 01C069100000 92E2 cmp.eq pr0, pr13 = r0, r17 } { .mfb 000008000000 92F0 nop.m 0 000008000000 92F1 nop.f 0 0095FFFF800D 92F2 (pr13) br.cond.dptk.many L$78 ;; } 9300 L$77: // 073169 { .mmi 008000A00280 9300 ld1 r10 = [r10] ;; // 073171 000008000000 9301 nop.m 0 0000A0A00280 9302 sxt1 r10 = r10 ;; } { .mfb 01C078A00000 9310 cmp.eq pr0, pr15 = r0, r10 000008000000 9311 nop.f 0 00860000400F 9312 (pr15) br.cond.dpnt.many L$82 ;; } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 275 ConvertUtf8ToEscape 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mfb 012000000200 9320 mov r8 = 0 000008000000 9321 nop.f 0 000108001100 9322 br.ret.sptk.many rp ;; // br0 // 073213 } 9330 L$82: // 073171 { .mfb 01C43A042000 9330 cmp4.eq pr0, pr7 = BufferPtr, FileSpec // pr0, pr7 = r33, r32 // 073173 000008000000 9331 nop.f 0 00860002A007 9332 (pr7) br.cond.dpnt.many L$85 ;; } { .mii 012000100480 9340 add r18 = @ltoffx(ScratchBuffer), // r18 = @ltoffx(ScratchBuffer), r1 // 073176 gp 010802000500 9341 mov cptr = FileSpec // r20 = r32 // 073177 000008000000 9342 nop.i 0 ;; } { .mmi 0080C1200480 9350 ld8.mov r18 = [r18], ScratchBuffer ;; // 073176 0108192FE4C0 9351 adds r19 = 511, r18 010801200540 9352 mov sptr = r18 ;; // r21 = r18 } { .mmi 01A461324000 9360 cmp4.ltu pr0, pr12 = r18, r19 ;; // 073177 01C20000028C 9361 (pr12) cmp.eq.or.andcm pr10, pr0 = r0, r0 000008000000 9362 nop.i 0 } { .mfb 000008000000 9370 nop.m 0 000008000000 9371 nop.f 0 00860001C00A 9372 (pr10) br.cond.dpnt.many L$88 ;; } { .mmi 008002000800 9380 ld1 in0 = [in0] ;; // r32 = [r32] 000008000000 9381 nop.m 0 0000A2000800 9382 sxt1 in0 = in0 ;; // r32 = r32 } 9390 L$89: { .mii 00AC01540040 9390 st1 [r21] = in0, 1 // [r21] = r32, 1 010801402500 9391 adds r20 = 1, r20 ;; 01A47932A000 9392 cmp4.ltu pr0, pr15 = sptr, r19 // pr0, pr15 = r21, r19 } { .mmi 00A0014025C0 93A0 ld1 r23 = [r20], 1 ;; 000008000000 93A1 nop.m 0 0000A17005C0 93A2 sxt1 r23 = r23 ;; } { .mmi 01C069700380 93B0 cmp.eq pr14, pr13 = r0, r23 ;; 01C20000038F 93B1 (pr15) cmp.eq.or.andcm pr14, pr0 = r0, r0 000008000000 93B2 nop.i 0 } { .mfb 000008000000 93C0 nop.m 0 000008000000 93C1 nop.f 0 00860001200E 93C2 (pr14) br.cond.dpnt.many L$88 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 276 ConvertUtf8ToEscape 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mmi 00AC0152E040 93D0 st1 [r21] = r23, 1 ;; 008001400640 93D1 ld1 ai = [r20] // r25 = [r20] 01A46132A000 93D2 cmp4.ltu pr0, pr12 = sptr, r19 ;; // pr0, pr12 = r21, r19 } { .mii 000008000000 93E0 nop.m 0 0000A1900640 93E1 sxt1 ai = ai ;; // r25 = r25 01C039900200 93E2 cmp.eq pr8, pr7 = r0, ai ;; // pr8, pr7 = r0, r25 } { .mfb 01C20000020C 93F0 (pr12) cmp.eq.or.andcm pr8, pr0 = r0, r0 000008000000 93F1 nop.f 0 00860000C008 93F2 (pr8) br.cond.dpnt.many L$88 ;; } { .mii 00AC01532040 9400 st1 [r21] = ai, 1 // [r21] = r25, 1 010841400680 9401 adds r26 = 1024, r20 010801402500 9402 adds r20 = 1, r20 ;; } { .mii 008001400700 9410 ld1 r28 = [r20] 01A47932A000 9411 cmp4.ltu pr0, pr15 = sptr, r19 // pr0, pr15 = r21, r19 000008000000 9412 nop.i 0 } { .mmi 00CB01A00000 9420 lfetch [r26] ;; 000008000000 9421 nop.m 0 0000A1C00800 9422 sxt1 in0 = r28 ;; // r32 = r28 } { .mmi 01C04A000280 9430 cmp.eq pr10, pr9 = r0, in0 ;; // pr10, pr9 = r0, r32 01C24800000F 9431 (pr15) cmp.eq.or.andcm pr0, pr9 = r0, r0 000008000000 9432 nop.i 0 } { .mfb 000008000000 9440 nop.m 0 000008000000 9441 nop.f 0 0095FFFEA009 9442 (pr9) br.cond.dptk.many L$89 ;; } 9450 L$88: { .mfb 01A40132A340 9450 cmp4.ltu pr13, pr0 = sptr, r19 // pr13, pr0 = r21, r19 // 073178 000008000000 9451 nop.f 0 00860000400D 9452 (pr13) br.cond.dpnt.many L$92 ;; } { .mmb 0119F80FE200 9460 adds r8 = -1, r0 // 073181 008C02100000 9461 st1 [in1] = r0 // [r33] = r0 // 073180 000108001100 9462 br.ret.sptk.many rp ;; // br0 // 073213 } 9470 L$92: // 073182 { .mfb 008C01500000 9470 st1 [r21] = r0 // 073183 000008000000 9471 nop.f 0 008000005000 9472 br.sptk.many L$94 ;; // 073186 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 277 ConvertUtf8ToEscape 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } 9480 L$85: { .mfi 010802000480 9480 mov cptr = FileSpec // r18 = r32 // 073187 000008000000 9481 nop.f 0 000008000000 9482 nop.i 0 } 9490 L$94: { .mii 0108021007C0 9490 mov sptr = BufferPtr // r31 = r33 // 073189 0000B2200880 9491 sxt4 in2 = BufferSize ;; // r34 = r34 010002242880 9492 add in2 = BufferPtr, in2 // r34 = r33, r34 } { .mmi 008001200780 94A0 ld1 r30 = [r18] ;; // 073190 0119FA2FE880 94A1 adds in2 = -1, in2 // r34 = -1, r34 // 073189 0000A1E00780 94A2 sxt1 r30 = r30 ;; // 073190 } { .mii 01A442242000 94B0 cmp4.ltu pr0, pr8 = BufferPtr, zptr // pr0, pr8 = r33, r34 01C059E00300 94B1 cmp.eq pr12, pr11 = r0, r30 ;; 01C200000308 94B2 (pr8) cmp.eq.or.andcm pr12, pr0 = r0, r0 } { .mfb 000008000000 94C0 nop.m 0 000008000000 94C1 nop.f 0 00860002800C 94C2 (pr12) br.cond.dpnt.many L$96 ;; } { .mii 0120001008C0 94D0 add r35 = @ltoffx(HexDigit), gp // r35 = @ltoffx(HexDigit), r1 // 073196 0120000BC940 94D1 mov r37 = 94 // 073194 0120080E0900 94D2 mov r36 = 240 ;; // 073195 } { .mfi 0080C23008C0 94E0 ld8.mov r35 = [r35], HexDigit // 073196 000008000000 94E1 nop.f 0 000008000000 94E2 nop.i 0 ;; } 94F0 L$97: // 073190 { .mmi 008001200980 94F0 ld1 r38 = [r18] ;; // 073192 0119FA600980 94F1 adds r38 = -128, r38 010801F029C0 94F2 adds r39 = 1, sptr ;; // r39 = 1, r31 // 073200 } { .mfb 01A80263E3C0 9500 cmp.ltu pr15, pr0 = 31, r38 // 073192 000008000000 9501 nop.f 0 00860001800F 9502 (pr15) br.cond.dpnt.many L$101 ;; } { .mii 008C01F4A000 9510 st1 [r31] = r37 // 073194 01A45224E000 9511 cmp4.ltu pr0, pr10 = r39, zptr // pr0, pr10 = r39, r34 // 073195 0108027007C0 9512 mov sptr = r39 // r31 = r39 // 073194 } { .mfb 000008000000 9520 nop.m 0 000008000000 9521 nop.f 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 278 ConvertUtf8ToEscape 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 00860000800A 9522 (pr10) br.cond.dpnt.many L$103 ;; // 073195 } { .mmi 008001200240 9530 ld1 r9 = [r18] ;; 010062412240 9531 and r9 = r9, r36 000008000000 9532 nop.i 0 ;; } { .mii 000008000000 9540 nop.m 0 00A5D8912240 9541 shr r9 = r9, 4 ;; 010000946240 9542 add r9 = r35, r9 ;; } { .mmi 008000900240 9550 ld1 r9 = [r9] ;; 008C02712000 9551 st1 [r39] = r9 0108027027C0 9552 adds sptr = 1, r39 ;; // r31 = 1, r39 } 9560 L$103: { .mfb 01A47223E000 9560 cmp4.ltu pr0, pr14 = sptr, zptr // pr0, pr14 = r31, r34 // 073196 000008000000 9561 nop.f 0 00860000800E 9562 (pr14) br.cond.dpnt.many L$105 ;; } { .mmi 008001200440 9570 ld1 r17 = [r18] ;; 01016111E440 9571 and r17 = 15, r17 000008000000 9572 nop.i 0 ;; } { .mmi 010001146440 9580 add r17 = r35, r17 ;; 008001100440 9581 ld1 r17 = [r17] 000008000000 9582 nop.i 0 ;; } { .mmi 00AC01F22040 9590 st1 [r31] = r17, 1 ;; 000008000000 9591 nop.m 0 000008000000 9592 nop.i 0 } 95A0 L$105: { .mfi 010801202480 95A0 adds r18 = 1, r18 000008000000 95A1 nop.f 0 000008000000 95A2 nop.i 0 ;; } { .mfb 000008000000 95B0 nop.m 0 000008000000 95B1 nop.f 0 008000005000 95B2 br.sptk.many L$106 ;; // 073199 } 95C0 L$101: { .mmi 00A001202580 95C0 ld1 r22 = [r18], 1 ;; // 073200 008C01F2C000 95C1 st1 [r31] = r22 0108027007C0 95C2 mov sptr = r39 ;; // r31 = r39 } 95D0 L$106: // 073190 { .mii Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 279 ConvertUtf8ToEscape 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 008001200600 95D0 ld1 r24 = [r18] 01A44223E000 95D1 cmp4.ltu pr0, pr8 = sptr, zptr ;; // pr0, pr8 = r31, r34 0000A1800600 95D2 sxt1 r24 = r24 ;; } { .mmi 01C059800300 95E0 cmp.eq pr12, pr11 = r0, r24 ;; 01C258000008 95E1 (pr8) cmp.eq.or.andcm pr0, pr11 = r0, r0 000008000000 95E2 nop.i 0 } { .mfb 000008000000 95F0 nop.m 0 000008000000 95F1 nop.f 0 0095FFFE000B 95F2 (pr11) br.cond.dptk.many L$97 ;; } 9600 L$96: // 073201 { .mfb 01A40223E180 9600 cmp4.ltu pr6, pr0 = sptr, zptr // pr6, pr0 = r31, r34 // 073203 000008000000 9601 nop.f 0 008600004006 9602 (pr6) br.cond.dpnt.many L$107 ;; } { .mmb 0119F80FE200 9610 adds r8 = -1, r0 // 073206 008C02100000 9611 st1 [in1] = r0 // [r33] = r0 // 073205 000108001100 9612 br.ret.sptk.many rp ;; // br0 // 073213 } 9620 L$107: // 073207 { .mmi 01002A13E840 9620 sub in1 = sptr, BufferPtr // r33 = r31, r33 // 073213 008C01F00000 9621 st1 [r31] = r0 // 073209 000008000000 9622 nop.i 0 ;; } { .mib 000008000000 9630 nop.m 0 0000B2100200 9631 sxt4 r8 = in1 // r8 = r33 // 073213 000108001100 9632 br.ret.sptk.many rp ;; // br0 } .endp ConvertUtf8ToEscape Routine Size: 976 bytes, Routine Base: $CODE$ + 9270 .proc GenerateCspNonce .align 32 .global GenerateCspNonce GenerateCspNonce: // 073221 { .mii 002C00B1CA40 9640 alloc r41 = rspfs, 1, 10, 3, 0 01081A090200 9641 adds r8 = 456, in0 // r8 = 456, r32 // 073230 000188000A00 9642 mov r40 = rp ;; // r40 = br0 // 073221 } { .mii 008000800240 9650 ld1 r9 = [r8] // 073230 01081A090840 9651 adds r33 = 456, rqptr // r33 = 456, r32 010800100A80 9652 mov r42 = gp ;; // r42 = r1 // 073221 } { .mii 000008000000 9660 nop.m 0 0000A0900240 9661 sxt1 r9 = r9 ;; // 073230 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 280 GenerateCspNonce 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 01C000900200 9662 cmp.eq pr8, pr0 = r0, r9 } { .bbb 008600002008 9670 (pr8) br.cond.dpnt.many L$73 004000000000 9671 nop.b 0 008000021000 9672 br.sptk.many L$1137 ;; } 9680 L$73: { .mii 012000100880 9680 add r34 = @ltoffx(CspNonce), gp // r34 = @ltoffx(CspNonce), r1 // 073232 012000002640 9681 mov ai = 1 // r25 = 1 000008000000 9682 nop.i 0 ;; } { .mmi 0080C2200880 9690 ld8.mov r34 = [r34], CspNonce ;; 00A0C2210AC0 9691 ld8 out0 = [r34], 8 // r43 = [r34], 8 000008000000 9692 nop.i 0 } { .mfb 000008000000 96A0 nop.m 0 000008000000 96A1 nop.f 0 00A000001000 96A2 br.call.sptk.many rp = SYS$GETTIM ;; // br0 = SYS$GETTIM } { .mii 00A0C22108C0 96B0 ld8 r35 = [r34], 8 // 073233 010802A00040 96B1 mov gp = r42 // r1 = r42 // 073232 012000006640 96B2 mov ai = 3 // r25 = 3 // 073236 } { .mmi 010802100B40 96C0 mov out2 = r33 ;; // r45 = r33 012000100940 96C1 add r37 = @ltoff(HttpdProcess+52), // r37 = @ltoff(HttpdProcess+52), r1 // 073234 gp 00A7D3A46900 96C2 shl r36 = r35, 5 // 073233 } { .mmi 012000030B00 96D0 mov out1 = 24 ;; // r44 = 24 // 073236 010002348900 96D1 add r36 = r36, r35 // 073233 000008000000 96D2 nop.i 0 } { .mmi 0080C2500940 96E0 ld8 r37 = HttpdProcess ;; // r37 = [r37] // 073234 010082348900 96E1 shladd r36 = r36, 1, r35 // 073233 000008000000 96E2 nop.i 0 ;; } { .mmi 01008A348900 96F0 shladd r36 = r36, 2, r35 008082500940 96F1 ld4 r37 = HttpdProcess // r37 = [r37] // 073234 000008000000 96F2 nop.i 0 ;; } { .mii 010082348900 9700 shladd r36 = r36, 1, r35 // 073233 0000B2500940 9701 sxt4 r37 = r37 ;; // 073234 010082348900 9702 shladd r36 = r36, 1, r35 // 073233 } { .mmi 00BCCA24BE00 9710 st8 [r34] = r37, -8 ;; // 073234 010092348900 9711 shladd r36 = r36, 3, r35 // 073233 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 281 GenerateCspNonce 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 9712 nop.i 0 ;; } { .mmi 010082348900 9720 shladd r36 = r36, 1, r35 ;; 01008A3488C0 9721 shladd r35 = r36, 2, r35 000008000000 9722 nop.i 0 ;; } { .mmi 0108023028C0 9730 adds r35 = 1, r35 ;; 00BCCA247E00 9731 st8 [r34] = r35, -8 000008000000 9732 nop.i 0 ;; } { .mfb 010802200AC0 9740 mov out0 = r34 // r43 = r34 // 073236 000008000000 9741 nop.f 0 00A000001000 9742 br.call.sptk.many rp = Md5HexString ;; // br0 = Md5HexString } { .mii 01081A0CE900 9750 adds r36 = 487, in0 // r36 = 487, r32 // 073237 010802A00040 9751 mov gp = r42 // r1 = r42 // 073236 000008000000 9752 nop.i 0 ;; } { .mfi 008C02400000 9760 st1 [r36] = r0 // 073237 000008000000 9761 nop.f 0 000008000000 9762 nop.i 0 } 9770 L$1137: // 073239 { .mii 010802100200 9770 mov r8 = r33 000154052000 9771 mov.i rspfs = r41 ;; 000E00150000 9772 mov rp = r40 // br0 = r40 } { .mfb 000008000000 9780 nop.m 0 000008000000 9781 nop.f 0 000108001100 9782 br.ret.sptk.many rp ;; // br0 } .endp GenerateCspNonce Routine Size: 336 bytes, Routine Base: $CODE$ + 9640 .proc GenerateUniqueId .align 32 .global GenerateUniqueId GenerateUniqueId: // 073247 { .mii 002C00B1CA40 9790 alloc r41 = rspfs, 1, 10, 3, 0 012000100840 9791 add r33 = @ltoffx(UniqueId), gp // r33 = @ltoffx(UniqueId), r1 // 073257 000188000A00 9792 mov r40 = rp ;; // r40 = br0 // 073247 } { .mii 0080C2100840 97A0 ld8.mov r33 = [r33], UniqueId // 073257 012000002640 97A1 mov ai = 1 // r25 = 1 010800100A80 97A2 mov r42 = gp ;; // r42 = r1 // 073247 } { .mfb Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 282 GenerateUniqueId 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 00A0C2120AC0 97B0 ld8 out0 = [r33], 16 // r43 = [r33], 16 // 073257 000008000000 97B1 nop.f 0 00A000001000 97B2 br.call.sptk.many rp = SYS$GETTIM ;; // br0 = SYS$GETTIM } { .mii 0080C2100880 97C0 ld8 r34 = [r33] // 073259 010802A00040 97C1 mov gp = r42 // r1 = r42 // 073257 010802110B40 97C2 adds out2 = 8, r33 // r45 = 8, r33 // 073261 } { .mmi 012000006640 97D0 mov ai = 3 ;; // r25 = 3 012000100900 97D1 add r36 = @ltoff(HttpdProcess+52), // r36 = @ltoff(HttpdProcess+52), r1 // 073258 gp 00A7D3A448C0 97D2 shl r35 = r34, 5 // 073259 } { .mmi 012000030B00 97E0 mov out1 = 24 ;; // r44 = 24 // 073261 0100022468C0 97E1 add r35 = r35, r34 // 073259 000008000000 97E2 nop.i 0 } { .mmi 0080C2400900 97F0 ld8 r36 = HttpdProcess ;; // r36 = [r36] // 073258 0100822468C0 97F1 shladd r35 = r35, 1, r34 // 073259 000008000000 97F2 nop.i 0 ;; } { .mmi 01008A2468C0 9800 shladd r35 = r35, 2, r34 008082400900 9801 ld4 r36 = HttpdProcess // r36 = [r36] // 073258 000008000000 9802 nop.i 0 ;; } { .mii 0100822468C0 9810 shladd r35 = r35, 1, r34 // 073259 0000B2400900 9811 sxt4 r36 = r36 ;; // 073258 0100822468C0 9812 shladd r35 = r35, 1, r34 // 073259 } { .mmi 0119FA1F0840 9820 adds r33 = -8, r33 ;; // 073258 0100922468C0 9821 shladd r35 = r35, 3, r34 // 073259 000008000000 9822 nop.i 0 } { .mmi 00ACC2148200 9830 st8 [r33] = r36, 8 ;; // 073258 0100822468C0 9831 shladd r35 = r35, 1, r34 // 073259 000008000000 9832 nop.i 0 ;; } { .mmi 01008A246880 9840 shladd r34 = r35, 2, r34 ;; 010802202880 9841 adds r34 = 1, r34 000008000000 9842 nop.i 0 ;; } { .mmi 00BCCA145C00 9850 st8 [r33] = r34, -16 ;; 010802100AC0 9851 mov out0 = r33 // r43 = r33 // 073261 000008000000 9852 nop.i 0 } { .mfb 000008000000 9860 nop.m 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 283 GenerateUniqueId 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 9861 nop.f 0 00A000001000 9862 br.call.sptk.many rp = Md5HexString ;; // br0 = Md5HexString } { .mmi 010802156840 9870 adds r33 = 43, r33 ;; // 073262 008C02100000 9871 st1 [r33] = r0 0119FA1DA200 9872 adds r8 = -19, r33 // 073264 } { .mmi 010802A00040 9880 mov gp = r42 ;; // r1 = r42 // 073261 000008000000 9881 nop.m 0 000154052000 9882 mov.i rspfs = r41 ;; // 073264 } { .mib 000008000000 9890 nop.m 0 000E00150000 9891 mov rp = r40 // br0 = r40 000108001100 9892 br.ret.sptk.many rp ;; // br0 } .endp GenerateUniqueId Routine Size: 272 bytes, Routine Base: $CODE$ + 9790 .proc SysTrnLnm .align 32 .global SysTrnLnm SysTrnLnm: // 073274 { .mmi 002C00B20A40 98A0 alloc r41 = rspfs, 1, 10, 5, 0 008002000200 98A1 ld1 r8 = [in0] // r8 = [r32] // 073301 000188000A00 98A2 mov r40 = rp ;; // r40 = br0 // 073274 } { .mii 010802000240 98B0 mov cptr = LogName // r9 = r32 // 073301 0000A0800200 98B1 sxt1 r8 = r8 010800100A80 98B2 mov r42 = gp ;; // r42 = r1 // 073274 } { .mfb 01C000800200 98C0 cmp.eq pr8, pr0 = r0, r8 // 073301 000008000000 98C1 nop.f 0 008600020008 98C2 (pr8) br.cond.dpnt.many L$59 ;; } 98D0 L$60: { .mmi 010800902240 98D0 adds r9 = 1, r9 ;; 008000900280 98D1 ld1 r10 = [r9] 000008000000 98D2 nop.i 0 ;; } { .mii 000008000000 98E0 nop.m 0 0000A0A00280 98E1 sxt1 r10 = r10 ;; 01C000A00280 98E2 cmp.eq pr10, pr0 = r0, r10 } { .mfb 000008000000 98F0 nop.m 0 000008000000 98F1 nop.f 0 00860001A00A 98F2 (pr10) br.cond.dpnt.many L$59 ;; } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 284 SysTrnLnm 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mmi 010800902240 9900 adds r9 = 1, r9 ;; 0080009002C0 9901 ld1 r11 = [r9] 000008000000 9902 nop.i 0 ;; } { .mii 000008000000 9910 nop.m 0 0000A0B002C0 9911 sxt1 r11 = r11 ;; 01C000B00300 9912 cmp.eq pr12, pr0 = r0, r11 } { .mfb 000008000000 9920 nop.m 0 000008000000 9921 nop.f 0 00860001400C 9922 (pr12) br.cond.dpnt.many L$59 ;; } { .mmi 010800902240 9930 adds r9 = 1, r9 ;; 008000900440 9931 ld1 r17 = [r9] 000008000000 9932 nop.i 0 ;; } { .mii 000008000000 9940 nop.m 0 0000A1100440 9941 sxt1 r17 = r17 ;; 01C001100380 9942 cmp.eq pr14, pr0 = r0, r17 } { .mfb 000008000000 9950 nop.m 0 000008000000 9951 nop.f 0 00860000E00E 9952 (pr14) br.cond.dpnt.many L$59 ;; } { .mmi 010800902240 9960 adds r9 = 1, r9 ;; 008000900480 9961 ld1 r18 = [r9] 000008000000 9962 nop.i 0 ;; } { .mii 000008000000 9970 nop.m 0 0000A1200480 9971 sxt1 r18 = r18 ;; 01C001200180 9972 cmp.eq pr6, pr0 = r0, r18 } { .mfb 000008000000 9980 nop.m 0 000008000000 9981 nop.f 0 008600008006 9982 (pr6) br.cond.dpnt.many L$59 ;; } { .mmi 010800902240 9990 adds r9 = 1, r9 ;; 0080009004C0 9991 ld1 r19 = [r9] 010840900500 9992 adds r20 = 1024, r9 ;; } { .mii 00CB01400000 99A0 lfetch [r20] 0000A13004C0 99A1 sxt1 r19 = r19 ;; 01C039300000 99A2 cmp.eq pr0, pr7 = r0, r19 } { .mfb 000008000000 99B0 nop.m 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 285 SysTrnLnm 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 99B1 nop.f 0 0095FFFE4007 99B2 (pr7) br.cond.dptk.many L$60 ;; } 99C0 L$59: { .mii 012000100880 99C0 add r34 = @ltoffx(LogValue), gp // r34 = @ltoffx(LogValue), r1 // 073305 012010000B00 99C1 mov out1 = 256 // r44 = 256 01002A012840 99C2 sub r33 = cptr, LogName ;; // r33 = r9, r32 // 073302 } { .mmi 0080C2200880 99D0 ld8.mov r34 = [r34], LogValue ;; // 073305 010802200AC0 99D1 mov out0 = r34 // r43 = r34 000008000000 99D2 nop.i 0 } { .mfb 000008000000 99E0 nop.m 0 000008000000 99E1 nop.f 0 00A000001000 99E2 br.call.sptk.many rp = OTS$ZERO ;; // br0 = OTS$ZERO } { .mii 010802A00040 99F0 mov gp = r42 // r1 = r42 01200000A640 99F1 mov ai = 5 // r25 = 5 // 073307 012000000B80 99F2 mov out3 = 0 // r46 = 0 } { .mmi 012000000AC0 9A00 mov out0 = 0 ;; // r43 = 0 0120001008C0 9A01 add r35 = @gprel(LogNameDsc), gp // r35 = @gprel(LogNameDsc), r1 // 073302 012000100BC0 9A02 add out4 = @ltoffx(LnmItems), gp // r47 = @ltoffx(LnmItems), r1 // 073307 } { .mmi 012000100B00 9A10 add out1 = @gprel(LnmTableDsc), gp ;; // r44 = @gprel(LnmTableDsc), r1 00AC42342100 9A11 st2 [r35] = r33, 4 // 073302 010802C10B40 9A12 adds out2 = 8, out1 ;; // r45 = 8, r44 // 073307 } { .mmi 0080C2F00BC0 9A20 ld8.mov out4 = [r47], LnmItems ;; 008C82340000 9A21 st4 [r35] = LogName // [r35] = r32 // 073303 000008000000 9A22 nop.i 0 } { .mfb 000008000000 9A30 nop.m 0 000008000000 9A31 nop.f 0 00A000001000 9A32 br.call.sptk.many rp = SYS$TRNLNM ;; // br0 = SYS$TRNLNM // 073307 } { .mii 010802A00040 9A40 mov gp = r42 // r1 = r42 0120400009C0 9A41 mov r39 = 1024 // 073308 00A0308001C0 9A42 tbit.z pr7, pr6 = r8, 0 ;; } { .mmi 012000100980 9A50 add r38 = @gprel(LnmAttributes), // r38 = @gprel(LnmAttributes), r1 gp ;; 008082600980 9A51 ld4 r38 = LnmAttributes // r38 = [r38] 000008000000 9A52 nop.i 0 ;; } { .mmi 01006274C980 9A60 and r38 = r38, r39 ;; Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 286 SysTrnLnm 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 01C402600240 9A61 cmp4.eq pr9, pr0 = r0, r38 000008000000 9A62 nop.i 0 ;; } { .mfb 01C230000009 9A70 (pr9) cmp.eq.or.andcm pr0, pr6 = r0, r0 000008000000 9A71 nop.f 0 008600004006 9A72 (pr6) br.cond.dpnt.many L$67 ;; } { .mfb 010800000200 9A80 mov r8 = r0 000008000000 9A81 nop.f 0 008000005000 9A82 br.sptk.many L$69 ;; } 9A90 L$67: { .mfi 010802200200 9A90 mov r8 = r34 // 073310 000008000000 9A91 nop.f 0 000008000000 9A92 nop.i 0 } 9AA0 L$69: { .mii 000008000000 9AA0 nop.m 0 000154052000 9AA1 mov.i rspfs = r41 ;; 000E00150000 9AA2 mov rp = r40 // br0 = r40 } { .mfb 000008000000 9AB0 nop.m 0 000008000000 9AB1 nop.f 0 000108001100 9AB2 br.ret.sptk.many rp ;; // br0 } .endp SysTrnLnm Routine Size: 544 bytes, Routine Base: $CODE$ + 98A0 .proc SetGlobalSymbol .align 32 .global SetGlobalSymbol SetGlobalSymbol: // 073318 { .mii 002C00B1CA40 9AC0 alloc r41 = rspfs, 2, 9, 3, 0 012000100880 9AC1 add r34 = @gprel(NameDsc), gp // r34 = @gprel(NameDsc), r1 // 073334 000188000A00 9AC2 mov r40 = rp ;; // r40 = br0 // 073318 } { .mii 012000002640 9AD0 mov ai = 1 // r25 = 1 // 073335 010802000AC0 9AD1 mov out0 = Name // r43 = r32 010802208880 9AD2 adds r34 = 4, r34 // 073334 } { .mmi 010800100A80 9AE0 mov r42 = gp ;; // r42 = r1 // 073318 00AC82240200 9AE1 st4 [r34] = Name, 8 // [r34] = r32, 8 // 073334 000008000000 9AE2 nop.i 0 } { .mfb 000008000000 9AF0 nop.m 0 000008000000 9AF1 nop.f 0 00A000001000 9AF2 br.call.sptk.many rp = DECC$STRLEN ;; // br0 = DECC$STRLEN // 073335 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 287 SetGlobalSymbol 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mii 012000002640 9B00 mov ai = 1 // r25 = 1 // 073337 010802100AC0 9B01 mov out0 = String // r43 = r33 010802A00040 9B02 mov gp = r42 // r1 = r42 // 073335 } { .mmi 00BC8A243D00 9B10 st4 [r34] = String, -12 ;; // [r34] = r33, -12 // 073336 00AC42210200 9B11 st2 [r34] = r8, 8 // 073335 000008000000 9B12 nop.i 0 } { .mfb 000008000000 9B20 nop.m 0 000008000000 9B21 nop.f 0 00A000001000 9B22 br.call.sptk.many rp = DECC$STRLEN ;; // br0 = DECC$STRLEN // 073337 } { .mii 010802A00040 9B30 mov gp = r42 // r1 = r42 012000006640 9B31 mov ai = 3 // r25 = 3 // 073339 000008000000 9B32 nop.i 0 } { .mmi 008C42210000 9B40 st2 [r34] = r8 ;; // 073337 012000100AC0 9B41 add out0 = @gprel(NameDsc), gp // r43 = @gprel(NameDsc), r1 // 073339 000008000000 9B42 nop.i 0 ;; } { .mib 010802B20B40 9B50 adds out2 = 16, out0 // r45 = 16, r43 010802B10B00 9B51 adds out1 = 8, out0 // r44 = 8, r43 00A000001000 9B52 br.call.sptk.many rp = LIB$SET_SYMBOL ;; // br0 = LIB$SET_SYMBOL } { .mii 010802A00040 9B60 mov gp = r42 // r1 = r42 0000B0800200 9B61 sxt4 r8 = r8 ;; // 073340 000154052000 9B62 mov.i rspfs = r41 ;; } { .mib 000008000000 9B70 nop.m 0 000E00150000 9B71 mov rp = r40 // br0 = r40 000108001100 9B72 br.ret.sptk.many rp ;; // br0 } .endp SetGlobalSymbol Routine Size: 192 bytes, Routine Base: $CODE$ + 9AC0 .proc FloatDeltaTime .align 32 .global FloatDeltaTime FloatDeltaTime: // 073348 { .mii 002C00616900 9B80 alloc r36 = rspfs, 1, 5, 5, 0 012000020380 9B81 mov r14 = 16 010800C00080 9B82 mov r2 = sp ;; // r2 = r12 } { .mib 010028E183C0 9B90 sub r15 = sp, r14 // r15 = r12, r14 0001880008C0 9B91 mov r35 = rp // r35 = br0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 288 FloatDeltaTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 004000000000 9B92 nop.b 0 ;; } { .mii 0080C0F00380 9BA0 ld8 r14 = [r15] 010800F00300 9BA1 mov sp = r15 // r12 = r15 010800100940 9BA2 mov r37 = gp // r37 = r1 } { .mmi 008082000200 9BB0 ld4 r8 = [in0] ;; // r8 = [r32] // 073360 01D8388FE000 9BB1 cmp.eq pr0, pr7 = -1, r8 000008000000 9BB2 nop.i 0 } { .mfb 000008000000 9BC0 nop.m 0 000008000000 9BC1 nop.f 0 008600004007 9BC2 (pr7) br.cond.dpnt.many L$51 ;; } { .mfb 000008000000 9BD0 nop.m 0 000080000200 9BD1 mov f8 = f0 008000013000 9BD2 br.sptk.many L$53 ;; } 9BE0 L$51: { .mii 012000006640 9BE0 mov ai = 3 // r25 = 3 // 073363 010802000A00 9BE1 mov out2 = DeltaTimePtr // r40 = r32 010800C209C0 9BE2 adds out1 = 16, sp // r39 = 16, r12 } { .mfb 012000100980 9BF0 add out0 = @gprel(LibDeltaSecs), // r38 = @gprel(LibDeltaSecs), r1 gp 000008000000 9BF1 nop.f 0 00A000001000 9BF2 br.call.sptk.many rp = // br0 = LIB$CVTS_FROM_INTERNAL_TIME LIB$CVTS_FROM_INTERNAL_TIME ;; } { .mib 010802500040 9C00 mov gp = r37 // r1 = r37 00A0308001C0 9C01 tbit.z pr7, pr6 = status, 0 // pr7, pr6 = r8, 0 // 073372 00860000A006 9C02 (pr6) br.cond.dpnt.many L$54 ;; } { .mii 012000100A80 9C10 add out4 = @ltoffx($LITERAL$), gp // r42 = @ltoffx($LITERAL$), r1 // 073374 012000100840 9C11 add r33 = @ltoff($LITERAL$+32), gp // r33 = @ltoff($LITERAL$+32), r1 01200000A640 9C12 mov ai = 5 // r25 = 5 } { .mmi 010800000980 9C20 mov out0 = r0 ;; // r38 = r0 0080C2A00A40 9C21 ld8.mov out3 = [r42], $LITERAL$ 0120A002EA80 9C22 mov out4 = 2583 // r42 = 2583 } { .mib 0080C2100A00 9C30 ld8 out2 = $LITERAL$ // r40 = [r33] 0000B08009C0 9C31 sxt4 out1 = status // r39 = r8 00A000001000 9C32 br.call.sptk.many rp = ErrorNoticed ;; // br0 = ErrorNoticed } { .mfb 010802500040 9C40 mov gp = r37 // r1 = r37 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 289 FloatDeltaTime 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000080000200 9C41 mov f8 = f0 // 073375 008000005000 9C42 br.sptk.many L$53 ;; } 9C50 L$54: // 073376 { .mmi 010800C20880 9C50 adds r34 = 16, sp ;; // r34 = 16, r12 // 073378 00C082200200 9C51 ldfs f8 = [r34] 000008000000 9C52 nop.i 0 ;; } 9C60 L$53: { .mii 000008000000 9C60 nop.m 0 000154048000 9C61 mov.i rspfs = r36 ;; 000E00146000 9C62 mov rp = r35 // br0 = r35 } { .mfb 010800C20300 9C70 adds sp = 16, sp // r12 = 16, r12 000008000000 9C71 nop.f 0 000108001100 9C72 br.ret.sptk.many rp ;; // br0 } .endp FloatDeltaTime Routine Size: 256 bytes, Routine Base: $CODE$ + 9B80 .proc BytesPerSecond .align 32 .global BytesPerSecond BytesPerSecond: // 073386 { .mii 002C00A1EA00 9C80 alloc r40 = rspfs, 3, 7, 5, 0 012000040380 9C81 mov r14 = 32 010800C00080 9C82 mov r2 = sp // r2 = r12 } { .mmi 010800100A40 9C90 mov r41 = gp ;; // r41 = r1 010028E183C0 9C91 sub r15 = sp, r14 // r15 = r12, r14 0001880009C0 9C92 mov r39 = rp ;; // r39 = br0 } { .mii 0080C0F00380 9CA0 ld8 r14 = [r15] 010800F00300 9CA1 mov sp = r15 // r12 = r15 000008000000 9CA2 nop.i 0 } { .mmi 008082200240 9CB0 ld4 r9 = [in2] ;; // r9 = [r34] // 073405 010800F40380 9CB1 adds r14 = 32, r15 // 073386 01D8009FE280 9CB2 cmp.eq pr10, pr0 = -1, r9 // 073405 } { .mmi 01C438900200 9CC0 cmp4.eq pr8, pr7 = r0, r9 ;; 00EEC0E04400 9CC1 stf.spill [r14] = f2, 16 // 073386 01C23800000A 9CC2 (pr10) cmp.eq.or.andcm pr0, pr7 = r0, r0 // 073405 } { .mfb 000008000000 9CD0 nop.m 0 000080000080 9CD1 mov fbytes = f0 // f2 = f0 // 073397 008600004007 9CD2 (pr7) br.cond.dpnt.many L$33 ;; // 073405 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 290 BytesPerSecond 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mfb 000008000000 9CE0 nop.m 0 000008000000 9CE1 nop.f 0 008000069000 9CE2 br.sptk.many L$45 ;; } 9CF0 L$33: { .mfb 01C400040300 9CF0 cmp4.eq pr12, pr0 = BytesRxPtr, r0 // pr12, pr0 = r32, r0 // 073407 000008000000 9CF1 nop.f 0 00860001A00C 9CF2 (pr12) br.cond.dpnt.many L$37 ;; } { .mlx 010802008800 9D00 adds in0 = 4, in0 // r32 = 4, r32 // 073409 8107C0000000 9D01 movl r11 = 4751297606875873280 ;; 0180000005 } { .mmi 00B08A0F8280 9D10 ld4 r10 = [in0], -4 // r10 = [r32], -4 00C7C8016280 9D11 setf.d f10 = r11 000008000000 9D12 nop.i 0 ;; } { .mmi 00C708014180 9D20 setf.sig f6 = r10 008082000800 9D21 ld4 in0 = [in0] // r32 = [r32] // 073408 000008000000 9D22 nop.i 0 ;; } { .mfi 00C708040200 9D30 setf.sig f8 = in0 // f8 = r32 000008000000 9D31 nop.f 0 000008000000 9D32 nop.i 0 ;; } { .mfi 000008000000 9D40 nop.m 0 0100086001C0 9D41 fcvt.xuf f7 = f6 // 073409 000008000000 9D42 nop.i 0 ;; } { .mfi 000008000000 9D50 nop.m 0 010008800240 9D51 fcvt.xuf f9 = f8 // 073408 000008000000 9D52 nop.i 0 ;; } { .mfi 000008000000 9D60 nop.m 0 0124087001C0 9D61 fnorm.d.s1 f7 = f7 // 073409 000008000000 9D62 nop.i 0 ;; } { .mfi 000008000000 9D70 nop.m 0 012408900240 9D71 fnorm.d.s1 f9 = f9 // 073408 000008000000 9D72 nop.i 0 ;; } { .mfi 000008000000 9D80 nop.m 0 0120507001C0 9D81 fmpy.d f7 = f7, f10 // 073409 000008000000 9D82 nop.i 0 ;; } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 291 BytesPerSecond 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mfi 000008000000 9D90 nop.m 0 01200890E1C0 9D91 fadd.d f7 = f9, f7 // 073408 000008000000 9D92 nop.i 0 ;; } { .mfi 000008000000 9DA0 nop.m 0 0120087001C0 9DA1 fadd.d f7 = f7, f0 000008000000 9DA2 nop.i 0 ;; } { .mfi 000008000000 9DB0 nop.m 0 011008700080 9DB1 fma.s f2 = f7, f1, f0 000008000000 9DB2 nop.i 0 } 9DC0 L$37: // 073409 { .mfb 01C400042380 9DC0 cmp4.eq pr14, pr0 = BytesTxPtr, r0 // pr14, pr0 = r33, r0 // 073410 000008000000 9DC1 nop.f 0 00860001A00E 9DC2 (pr14) br.cond.dpnt.many L$39 ;; } { .mlx 010802108840 9DD0 adds in1 = 4, in1 // r33 = 4, r33 // 073412 0107C0000000 9DD1 movl r18 = 4751297606875873280 ;; 0180000009 } { .mmi 00B08A1F8440 9DE0 ld4 r17 = [in1], -4 // r17 = [r33], -4 00C7C80243C0 9DE1 setf.d f15 = r18 000008000000 9DE2 nop.i 0 ;; } { .mmi 00C7080222C0 9DF0 setf.sig f11 = r17 008082100840 9DF1 ld4 in1 = [in1] // r33 = [r33] // 073411 000008000000 9DF2 nop.i 0 ;; } { .mfi 00C708042340 9E00 setf.sig f13 = in1 // f13 = r33 012008200080 9E01 fma.d f2 = fbytes, f1, f0 // f2 = f2, f1, f0 000008000000 9E02 nop.i 0 ;; } { .mfi 000008000000 9E10 nop.m 0 010008B00300 9E11 fcvt.xuf f12 = f11 // 073412 000008000000 9E12 nop.i 0 ;; } { .mfi 000008000000 9E20 nop.m 0 010008D00380 9E21 fcvt.xuf f14 = f13 // 073411 000008000000 9E22 nop.i 0 ;; } { .mfi 000008000000 9E30 nop.m 0 012408C00300 9E31 fnorm.d.s1 f12 = f12 // 073412 000008000000 9E32 nop.i 0 ;; } { .mfi Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 292 BytesPerSecond 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 9E40 nop.m 0 012408E00380 9E41 fnorm.d.s1 f14 = f14 // 073411 000008000000 9E42 nop.i 0 ;; } { .mfi 000008000000 9E50 nop.m 0 012078C00300 9E51 fmpy.d f12 = f12, f15 // 073412 000008000000 9E52 nop.i 0 ;; } { .mfi 000008000000 9E60 nop.m 0 012008E18300 9E61 fadd.d f12 = f14, f12 // 073411 000008000000 9E62 nop.i 0 ;; } { .mfi 000008000000 9E70 nop.m 0 012008218080 9E71 fadd.d f2 = f2, f12 000008000000 9E72 nop.i 0 ;; } { .mfi 000008000000 9E80 nop.m 0 011008200080 9E81 fma.s f2 = f2, f1, f0 000008000000 9E82 nop.i 0 } 9E90 L$39: // 073412 { .mii 012000006640 9E90 mov ai = 3 // r25 = 3 // 073420 010802200B00 9E91 mov out2 = DeltaTimePtr // r44 = r34 010800C20AC0 9E92 adds out1 = 16, sp ;; // r43 = 16, r12 } { .mfb 012000100A80 9EA0 add out0 = @gprel(LibDeltaSecs), // r42 = @gprel(LibDeltaSecs), r1 gp 000008000000 9EA1 nop.f 0 00A000001000 9EA2 br.call.sptk.many rp = // br0 = LIB$CVTS_FROM_INTERNAL_TIME LIB$CVTS_FROM_INTERNAL_TIME ;; } { .mib 010802900040 9EB0 mov gp = r41 // r1 = r41 00A0308001C0 9EB1 tbit.z pr7, pr6 = status, 0 // pr7, pr6 = r8, 0 // 073422 008600010006 9EB2 (pr6) br.cond.dpnt.many L$40 ;; } { .mmi 0128454088C0 9EC0 addl r35 = 1410052, r0 ;; // 073424 01C402310240 9EC1 cmp4.eq pr9, pr0 = status, r35 // pr9, pr0 = r8, r35 000008000000 9EC2 nop.i 0 } { .mfb 000008000000 9ED0 nop.m 0 000008000000 9ED1 nop.f 0 00860000A009 9ED2 (pr9) br.cond.dpnt.many L$43 ;; } { .mii 012000100B80 9EE0 add out4 = @ltoffx($LITERAL$), gp // r46 = @ltoffx($LITERAL$), r1 // 073425 012000100900 9EE1 add r36 = @ltoff($LITERAL$+32), gp // r36 = @ltoff($LITERAL$+32), r1 01200000A640 9EE2 mov ai = 5 // r25 = 5 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 293 BytesPerSecond 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mmi 010800000A80 9EF0 mov out0 = r0 ;; // r42 = r0 0080C2E00B40 9EF1 ld8.mov out3 = [r46], $LITERAL$ 0120A0094B80 9EF2 mov out4 = 2634 // r46 = 2634 } { .mib 0080C2400B00 9F00 ld8 out2 = $LITERAL$ // r44 = [r36] 0000B0800AC0 9F01 sxt4 out1 = status // r43 = r8 00A000001000 9F02 br.call.sptk.many rp = ErrorNoticed ;; // br0 = ErrorNoticed } { .mfi 010802900040 9F10 mov gp = r41 // r1 = r41 000008000000 9F11 nop.f 0 000008000000 9F12 nop.i 0 } 9F20 L$43: { .mfb 000008000000 9F20 nop.m 0 000008000000 9F21 nop.f 0 008000021000 9F22 br.sptk.many L$45 ;; } 9F30 L$40: // 073427 { .mlx 010800C20940 9F30 adds r37 = 16, sp // r37 = 16, r12 // 073430 0000000001DC 9F31 movl r38 = 2000000000 ;; 01928AC013 } { .mfi 00C082500180 9F40 ldfs f6 = [r37] 000008000000 9F41 nop.f 0 000008000000 9F42 nop.i 0 ;; } { .mfi 000008000000 9F50 nop.m 0 0002306041C0 9F51 frcpa f7, pr6 = fbytes, f6 // f7, pr6 = f2, f6 000008000000 9F52 nop.i 0 ;; } { .mfi 000008000000 9F60 nop.m 0 010438200206 9F61 (pr6) fma.s1 f8 = fbytes, f7, f0 // f8 = f2, f7, f0 000008000000 9F62 nop.i 0 } { .mfi 000008000000 9F70 nop.m 0 018438602246 9F71 (pr6) fnma.s1 f9 = f6, f7, f1 000008000000 9F72 nop.i 0 ;; } { .mfi 000008000000 9F80 nop.m 0 010440910206 9F81 (pr6) fma.s1 f8 = f9, f8, f8 000008000000 9F82 nop.i 0 } { .mfi 000008000000 9F90 nop.m 0 010448900246 9F91 (pr6) fma.s1 f9 = f9, f9, f0 000008000000 9F92 nop.i 0 ;; } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 294 BytesPerSecond 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mfi 000008000000 9FA0 nop.m 0 010440910206 9FA1 (pr6) fma.s1 f8 = f9, f8, f8 000008000000 9FA2 nop.i 0 } { .mfi 000008000000 9FB0 nop.m 0 010448900246 9FB1 (pr6) fma.s1 f9 = f9, f9, f0 000008000000 9FB2 nop.i 0 ;; } { .mfi 000008000000 9FC0 nop.m 0 012440910206 9FC1 (pr6) fma.d.s1 f8 = f9, f8, f8 000008000000 9FC2 nop.i 0 ;; } { .mfi 000008000000 9FD0 nop.m 0 0110088001C6 9FD1 (pr6) fma.s f7 = f8, f1, f0 000008000000 9FD2 nop.i 0 ;; } { .mfi 000008000000 9FE0 nop.m 0 0000D800E280 9FE1 fcvt.fxu.trunc f10 = f7 000008000000 9FE2 nop.i 0 ;; } { .mmi 008708014200 9FF0 getf.sig bps = f10 ;; // r8 = f10 01A442610000 9FF1 cmp4.ltu pr0, pr8 = bps, r38 // pr0, pr8 = r8, r38 000008000000 9FF2 nop.i 0 } { .mfb 000008000000 A000 nop.m 0 000008000000 A001 nop.f 0 008600004008 A002 (pr8) br.cond.dpnt.many L$45 ;; } { .mib 000008000000 A010 nop.m 0 0000B0800200 A011 sxt4 r8 = r8 // 073431 008000005000 A012 br.sptk.many L$35 ;; } A020 L$45: // 073432 { .mfi 012000000200 A020 mov r8 = 0 // 073433 000008000000 A021 nop.f 0 000008000000 A022 nop.i 0 } A030 L$35: { .mmi 010800C40380 A030 adds r14 = 32, sp ;; // r14 = 32, r12 00F6C8EE0080 A031 ldf.fill f2 = [r14], -16 000154050000 A032 mov.i rspfs = r40 ;; } { .mii 000008000000 A040 nop.m 0 000E0014E000 A041 mov rp = r39 // br0 = r39 010800C40300 A042 adds sp = 32, sp // r12 = 32, r12 } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 295 BytesPerSecond 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mfb 000008000000 A050 nop.m 0 000008000000 A051 nop.f 0 000108001100 A052 br.ret.sptk.many rp ;; // br0 } .endp BytesPerSecond Routine Size: 992 bytes, Routine Base: $CODE$ + 9C80 .proc PercentOf32 .align 32 .global PercentOf32 PercentOf32: // 073442 { .mib 002C00306880 A060 alloc r34 = rspfs, 2, 1, 0, 0 01C402100200 A061 cmp4.eq pr8, pr0 = r0, arg2 // pr8, pr0 = r0, r33 // 073455 008600044008 A062 (pr8) br.cond.dpnt.many L$28 ;; } { .mii 000008000000 A070 nop.m 0 000092000800 A071 zxt4 in0 = arg1 // r32 = r32 // 073459 000092100840 A072 zxt4 in1 = arg2 ;; // r33 = r33 } { .mmi 00C708040180 A080 setf.sig f6 = in0 // f6 = r32 00C708042200 A081 setf.sig f8 = in1 // f8 = r33 000008000000 A082 nop.i 0 ;; } { .mlx 000008000000 A090 nop.m 0 010164000000 A091 movl r8 = 4636737291354636288 ;; 0180000004 } { .mlx 00C7C8010280 A0A0 setf.d f10 = r8 8000000000FC A0A1 movl r11 = 1056964608 ;; // 073461 0180000005 } { .mfi 00C7880168C0 A0B0 setf.s f35 = r11 000008000000 A0B1 nop.f 0 000008000000 A0B2 nop.i 0 ;; } { .mfi 000008000000 A0C0 nop.m 0 010008800240 A0C1 fcvt.xuf f9 = f8 // 073459 000008000000 A0C2 nop.i 0 } { .mfi 000008000000 A0D0 nop.m 0 0100086001C0 A0D1 fcvt.xuf f7 = f6 000008000000 A0D2 nop.i 0 ;; } { .mfi 000008000000 A0E0 nop.m 0 012408900240 A0E1 fnorm.d.s1 f9 = f9 000008000000 A0E2 nop.i 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 296 PercentOf32 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 } { .mfi 000008000000 A0F0 nop.m 0 0124087001C0 A0F1 fnorm.d.s1 f7 = f7 000008000000 A0F2 nop.i 0 ;; } { .mfi 000008000000 A100 nop.m 0 0120507001C0 A101 fmpy.d f7 = f7, f10 000008000000 A102 nop.i 0 ;; } { .mfi 000008000000 A110 nop.m 0 00024890E2C0 A111 frcpa f11, pr9 = f7, f9 000008000000 A112 nop.i 0 ;; } { .mfi 000008000000 A120 nop.m 0 010458700309 A121 (pr9) fma.s1 f12 = f7, f11, f0 000008000000 A122 nop.i 0 } { .mfi 000008000000 A130 nop.m 0 018458902349 A131 (pr9) fnma.s1 f13 = f9, f11, f1 000008000000 A132 nop.i 0 ;; } { .mfi 000008000000 A140 nop.m 0 010460D18309 A141 (pr9) fma.s1 f12 = f13, f12, f12 000008000000 A142 nop.i 0 } { .mfi 000008000000 A150 nop.m 0 010468D00389 A151 (pr9) fma.s1 f14 = f13, f13, f0 000008000000 A152 nop.i 0 ;; } { .mfi 000008000000 A160 nop.m 0 010458D163C9 A161 (pr9) fma.s1 f15 = f13, f11, f11 000008000000 A162 nop.i 0 ;; } { .mfi 000008000000 A170 nop.m 0 010460E18309 A171 (pr9) fma.s1 f12 = f14, f12, f12 000008000000 A172 nop.i 0 } { .mfi 000008000000 A180 nop.m 0 010470E00349 A181 (pr9) fma.s1 f13 = f14, f14, f0 000008000000 A182 nop.i 0 ;; } { .mfi 000008000000 A190 nop.m 0 010478E1E3C9 A191 (pr9) fma.s1 f15 = f14, f15, f15 000008000000 A192 nop.i 0 ;; } { .mfi Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 297 PercentOf32 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 A1A0 nop.m 0 012460D18309 A1A1 (pr9) fma.d.s1 f12 = f13, f12, f12 000008000000 A1A2 nop.i 0 ;; } { .mfi 000008000000 A1B0 nop.m 0 010478D1E3C9 A1B1 (pr9) fma.s1 f15 = f13, f15, f15 000008000000 A1B2 nop.i 0 ;; } { .mfi 000008000000 A1C0 nop.m 0 01A46090E349 A1C1 (pr9) fnma.d.s1 f13 = f9, f12, f7 000008000000 A1C2 nop.i 0 ;; } { .mfi 000008000000 A1D0 nop.m 0 012078D182C9 A1D1 (pr9) fma.d f11 = f13, f15, f12 000008000000 A1D2 nop.i 0 ;; } { .mfi 000008000000 A1E0 nop.m 0 011008B002C0 A1E1 fma.s f11 = f11, f1, f0 000008000000 A1E2 nop.i 0 ;; } { .mfi 000008000000 A1F0 nop.m 0 0000D0016800 A1F1 fcvt.fx.trunc f32 = fperc // f32 = f11 // 073460 000008000000 A1F2 nop.i 0 ;; } { .mmi 008708040240 A200 getf.sig iperc = f32 ;; // r9 = f32 000008000000 A201 nop.m 0 0000B0900280 A202 sxt4 r10 = iperc // r10 = r9 // 073461 } { .mmi 010800902440 A210 adds r17 = 1, iperc ;; // r17 = 1, r9 00C708014840 A211 setf.sig f33 = r10 000008000000 A212 nop.i 0 ;; } { .mfi 000008000000 A220 nop.m 0 0000E0042880 A221 fcvt.xf f34 = f33 000008000000 A222 nop.i 0 ;; } { .mfi 000008000000 A230 nop.m 0 01140A200880 A231 fnorm.s.s1 f34 = f34 000008000000 A232 nop.i 0 ;; } { .mfi 000008000000 A240 nop.m 0 015008B442C0 A241 fsub.s f11 = fperc, f34 // f11 = f11, f34 000008000000 A242 nop.i 0 ;; } { .mfi 000008000000 A250 nop.m 0 008258B46280 A251 fcmp.le pr10, pr11 = f35, f11 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 298 PercentOf32 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 A252 nop.i 0 ;; } { .mmi 01080110020A A260 (pr10) mov r8 = r17 ;; 01080090020B A261 (pr11) mov r8 = iperc // r8 = r9 000008000000 A262 nop.i 0 ;; } { .mib 000008000000 A270 nop.m 0 0000B0800200 A271 sxt4 r8 = r8 // 073462 000108001100 A272 br.ret.sptk.many rp ;; // br0 // 073464 } A280 L$28: // 073463 { .mfb 012000000200 A280 mov r8 = 0 // 073464 000008000000 A281 nop.f 0 000108001100 A282 br.ret.sptk.many rp ;; // br0 } .endp PercentOf32 Routine Size: 560 bytes, Routine Base: $CODE$ + A060 .proc PercentOf64 .align 32 .global PercentOf64 PercentOf64: // 073473 { .mib 002C00306880 A290 alloc r34 = rspfs, 2, 1, 0, 0 01C400042200 A291 cmp4.eq pr8, pr0 = arg2, r0 // pr8, pr0 = r33, r0 // 073486 008600020008 A292 (pr8) br.cond.dpnt.many L$20 ;; } { .mii 0111621F04C0 A2A0 and r19 = -8, in1 // r19 = -8, r33 // 073489 0111620F0240 A2A1 and r9 = -8, in0 ;; // r9 = -8, r32 // 073488 01C061342000 A2A2 cmp.eq pr0, pr12 = in1, r19 // pr0, pr12 = r33, r19 // 073489 } { .mii 00A0C1310580 A2B0 ld8 r22 = [r19], 8 01C050940000 A2B1 cmp.eq pr0, pr10 = in0, r9 ;; // pr0, pr10 = r32, r9 // 073488 009E1004250C A2B2 (pr12) dep r20 = in1, r0, 3, 3 // r20 = r33, r0, 3, 3 // 073489 } { .mmi 00A0C0910440 A2C0 ld8 r17 = [r9], 8 ;; // 073488 0080C130054C A2C1 (pr12) ld8 r21 = [r19] // 073489 009E1004028A A2C2 (pr10) dep r10 = in0, r0, 3, 3 ;; // r10 = r32, r0, 3, 3 // 073488 } { .mmi 0080C09002CA A2D0 (pr10) ld8 r11 = [r9] ;; 000008000000 A2D1 nop.m 0 00F20162858C A2D2 (pr12) shr.u r22 = r22, r20 // 073489 } { .mmi 01012948050C A2E0 (pr12) sub r20 = 64, r20 ;; 000008000000 A2E1 nop.m 0 00F20111444A A2E2 (pr10) shr.u r17 = r17, r10 // 073488 } { .mmi Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 299 PercentOf64 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 010128A8028A A2F0 (pr10) sub r10 = 64, r10 ;; 000008000000 A2F1 nop.m 0 00F24142A54C A2F2 (pr12) shl r21 = r21, r20 ;; // 073489 } { .mii 000008000000 A300 nop.m 0 00F240A162CA A301 (pr10) shl r11 = r11, r10 ;; // 073488 01007162A58C A302 (pr12) or r22 = r21, r22 ;; // 073489 } { .mii 00C70802C200 A310 setf.sig f8 = r22 01007111644A A311 (pr10) or r17 = r11, r17 // 073488 000008000000 A312 nop.i 0 ;; } { .mfi 00C708022180 A320 setf.sig f6 = r17 000008000000 A321 nop.f 0 000008000000 A322 nop.i 0 ;; } { .mfi 000008000000 A330 nop.m 0 010008800240 A331 fcvt.xuf farg2 = f8 // f9 = f8 // 073489 000008000000 A332 nop.i 0 ;; } { .mfi 000008000000 A340 nop.m 0 0100086001C0 A341 fcvt.xuf farg1 = f6 // f7 = f6 // 073488 000008000000 A342 nop.i 0 ;; } { .mfi 000008000000 A350 nop.m 0 011408900240 A351 fnorm.s.s1 farg2 = farg2 // f9 = f9 // 073489 000008000000 A352 nop.i 0 ;; } { .mfi 000008000000 A360 nop.m 0 0114087001C0 A361 fnorm.s.s1 farg1 = farg1 // f7 = f7 // 073488 000008000000 A362 nop.i 0 ;; } { .mfi 000008000000 A370 nop.m 0 008070012340 A371 fcmp.eq pr13, pr14 = farg2, f0 // pr13, pr14 = f9, f0 // 073490 000008000000 A372 nop.i 0 ;; } { .mfb 000008000000 A380 nop.m 0 000008000000 A381 nop.f 0 00860000400E A382 (pr14) br.cond.dpnt.many L$24 ;; } A390 L$20: // 073495 { .mfb 012000000200 A390 mov r8 = 0 // 073496 000008000000 A391 nop.f 0 000108001100 A392 br.ret.sptk.many rp ;; // br0 } A3A0 L$24: // 073490 { .mfi Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 300 PercentOf64 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 A3A0 nop.m 0 0120087001C0 A3A1 fma.d f7 = farg1, f1, f0 // f7 = f7, f1, f0 // 073491 000008000000 A3A2 nop.i 0 } { .mlx 000008000000 A3B0 nop.m 0 810164000000 A3B1 movl r23 = 4636737291354636288 ;; 018000000B } { .mlx 00C7C802E280 A3C0 setf.d f10 = r23 0000000000FC A3C1 movl r26 = 1056964608 // 073493 018000000D } { .mfi 000008000000 A3D0 nop.m 0 012008900240 A3D1 fma.d f9 = farg2, f1, f0 // f9 = f9, f1, f0 // 073491 000008000000 A3D2 nop.i 0 ;; } { .mfi 00C7880348C0 A3E0 setf.s f35 = r26 // 073493 000008000000 A3E1 nop.f 0 000008000000 A3E2 nop.i 0 ;; } { .mfi 000008000000 A3F0 nop.m 0 0120507001C0 A3F1 fmpy.d f7 = f7, f10 // 073491 000008000000 A3F2 nop.i 0 ;; } { .mfi 000008000000 A400 nop.m 0 00027890E2C0 A401 frcpa f11, pr15 = f7, f9 000008000000 A402 nop.i 0 ;; } { .mfi 000008000000 A410 nop.m 0 01045870030F A411 (pr15) fma.s1 f12 = f7, f11, f0 000008000000 A412 nop.i 0 } { .mfi 000008000000 A420 nop.m 0 01845890234F A421 (pr15) fnma.s1 f13 = f9, f11, f1 000008000000 A422 nop.i 0 ;; } { .mfi 000008000000 A430 nop.m 0 010460D1830F A431 (pr15) fma.s1 f12 = f13, f12, f12 000008000000 A432 nop.i 0 } { .mfi 000008000000 A440 nop.m 0 010468D0038F A441 (pr15) fma.s1 f14 = f13, f13, f0 000008000000 A442 nop.i 0 ;; } { .mfi 000008000000 A450 nop.m 0 010458D163CF A451 (pr15) fma.s1 f15 = f13, f11, f11 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 301 PercentOf64 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000008000000 A452 nop.i 0 ;; } { .mfi 000008000000 A460 nop.m 0 010460E1830F A461 (pr15) fma.s1 f12 = f14, f12, f12 000008000000 A462 nop.i 0 } { .mfi 000008000000 A470 nop.m 0 010470E0034F A471 (pr15) fma.s1 f13 = f14, f14, f0 000008000000 A472 nop.i 0 ;; } { .mfi 000008000000 A480 nop.m 0 010478E1E3CF A481 (pr15) fma.s1 f15 = f14, f15, f15 000008000000 A482 nop.i 0 ;; } { .mfi 000008000000 A490 nop.m 0 012460D1830F A491 (pr15) fma.d.s1 f12 = f13, f12, f12 000008000000 A492 nop.i 0 ;; } { .mfi 000008000000 A4A0 nop.m 0 010478D1E3CF A4A1 (pr15) fma.s1 f15 = f13, f15, f15 000008000000 A4A2 nop.i 0 ;; } { .mfi 000008000000 A4B0 nop.m 0 01A46090E34F A4B1 (pr15) fnma.d.s1 f13 = f9, f12, f7 000008000000 A4B2 nop.i 0 ;; } { .mfi 000008000000 A4C0 nop.m 0 012078D182CF A4C1 (pr15) fma.d f11 = f13, f15, f12 000008000000 A4C2 nop.i 0 ;; } { .mfi 000008000000 A4D0 nop.m 0 011008B002C0 A4D1 fma.s f11 = f11, f1, f0 000008000000 A4D2 nop.i 0 ;; } { .mfi 000008000000 A4E0 nop.m 0 0000D0016800 A4E1 fcvt.fx.trunc f32 = fqperc // f32 = f11 // 073492 000008000000 A4E2 nop.i 0 ;; } { .mmi 008708040600 A4F0 getf.sig iqperc = f32 ;; // r24 = f32 000008000000 A4F1 nop.m 0 0000B1800640 A4F2 sxt4 ai = iqperc // r25 = r24 // 073493 } { .mmi 0108018026C0 A500 adds r27 = 1, iqperc ;; // r27 = 1, r24 00C708032840 A501 setf.sig f33 = ai // f33 = r25 000008000000 A502 nop.i 0 ;; } Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 302 PercentOf64 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 { .mfi 000008000000 A510 nop.m 0 0000E0042880 A511 fcvt.xf f34 = f33 000008000000 A512 nop.i 0 ;; } { .mfi 000008000000 A520 nop.m 0 01140A200880 A521 fnorm.s.s1 f34 = f34 000008000000 A522 nop.i 0 ;; } { .mfi 000008000000 A530 nop.m 0 015008B442C0 A531 fsub.s f11 = fqperc, f34 // f11 = f11, f34 000008000000 A532 nop.i 0 ;; } { .mfi 000008000000 A540 nop.m 0 008238B46180 A541 fcmp.le pr6, pr7 = f35, f11 000008000000 A542 nop.i 0 ;; } { .mmi 010801B00206 A550 (pr6) mov r8 = r27 ;; 010801800207 A551 (pr7) mov r8 = iqperc // r8 = r24 000008000000 A552 nop.i 0 ;; } { .mib 000008000000 A560 nop.m 0 0000B0800200 A561 sxt4 r8 = r8 // 073494 000108001100 A562 br.ret.sptk.many rp ;; // br0 // 073496 } .endp PercentOf64 Routine Size: 736 bytes, Routine Base: $CODE$ + A290 .proc ipow .align 32 .global ipow ipow: // 073504 { .mii 002C00306880 A570 alloc r34 = rspfs, 2, 1, 0, 0 012000002200 A571 mov result = 1 // r8 = 1 // 073510 01C402100200 A572 cmp4.eq pr8, pr0 = r0, exp // pr8, pr0 = r0, r33 // 073516 } { .mfb 000008000000 A580 nop.m 0 000008000000 A581 nop.f 0 008600014008 A582 (pr8) br.cond.dpnt.many L$12 ;; } A590 L$13: { .mib 000008000000 A590 nop.m 0 00A04A100280 A591 tbit.z pr10, pr9 = exp, 0 // pr10, pr9 = r33, 0 // 073518 008600004009 A592 (pr9) br.cond.dpnt.many L$17 ;; } { .mfb 000008000000 A5A0 nop.m 0 000008000000 A5A1 nop.f 0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 303 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 008000009000 A5A2 br.sptk.many L$1138 ;; } A5B0 L$17: { .mmi 00C708040200 A5B0 setf.sig f8 = base // f8 = r32 00C7080101C0 A5B1 setf.sig f7 = result // f7 = r8 000008000000 A5B2 nop.i 0 ;; } { .mfi 000008000000 A5C0 nop.m 0 01D040700180 A5C1 xma.l f6 = f7, f8, f0 000008000000 A5C2 nop.i 0 ;; } { .mfi 00870800C200 A5D0 getf.sig r8 = f6 000008000000 A5D1 nop.f 0 000008000000 A5D2 nop.i 0 } A5E0 L$1138: { .mii 00C7080402C0 A5E0 setf.sig f11 = base // f11 = r32 // 073520 0000B2100840 A5E1 sxt4 in1 = exp ;; // r33 = r33 // 073519 00A5F2106840 A5E2 shr exp = in1, 1 // r33 = r33, 1 } { .mmi 00C708040280 A5F0 setf.sig f10 = base ;; // f10 = r32 // 073520 01C45A100000 A5F1 cmp4.eq pr0, pr11 = r0, exp // pr0, pr11 = r0, r33 // 073516 000008000000 A5F2 nop.i 0 ;; } { .mfi 000008000000 A600 nop.m 0 01D058A00240 A601 xma.l f9 = f10, f11, f0 // 073520 000008000000 A602 nop.i 0 ;; } { .mfb 008708012800 A610 getf.sig base = f9 // r32 = f9 000008000000 A611 nop.f 0 0095FFFF000B A612 (pr11) br.cond.dptk.many L$13 ;; // 073516 } A620 L$12: // 073521 { .mib 000008000000 A620 nop.m 0 0000B0800200 A621 sxt4 r8 = r8 // 073523 000108001100 A622 br.ret.sptk.many rp ;; // br0 } .endp ipow Routine Size: 192 bytes, Routine Base: $CODE$ + A570 .common TimeUtcDelta64, 8, 1 .common TimeAheadOfGmt, 4, 1 .common TimeGmtString, 16, 1 .common TimeZoneString, 16, 1 .psect $READONLY$, CON, LCL, SHR, NOEXE, NOWRT, NOVEC, NOSHORT .lcomm _SIG_EMPTY_SET, 8, 8 .lcomm _SIG_FULL_SET, 8, 8 .lcomm $$1, 1, 1 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 304 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 .lcomm fill$$1, 7, 8 .lcomm $$2, 7, 8 .lcomm fill$$2, 1, 1 .lcomm $$3, 8, 8 .lcomm $$4, 7, 8 .lcomm fill$$3, 1, 1 .lcomm $$5, 7, 8 .lcomm fill$$4, 1, 1 .lcomm $$6, 1, 1 .lcomm fill$$5, 7, 8 .lcomm $$7, 8, 8 .lcomm $$8, 6, 8 .lcomm fill$$6, 2, 2 .lcomm $$9, 6, 8 .lcomm fill$$7, 2, 2 .lcomm $$10, 4, 4 .lcomm fill$$8, 4, 4 .lcomm $$11, 5, 8 .lcomm fill$$9, 3, 4 .lcomm $$12, 5, 8 .lcomm fill$$10, 3, 4 .lcomm $$13, 7, 8 .lcomm fill$$11, 1, 1 .lcomm $$14, 8, 8 .lcomm $$15, 1, 1 .lcomm fill$$12, 7, 8 .lcomm $$16, 1, 1 .lcomm fill$$13, 7, 8 .lcomm $$17, 1, 1 .lcomm fill$$14, 7, 8 .lcomm $$18, 1, 1 .lcomm fill$$15, 7, 8 .lcomm $$19, 4, 4 .lcomm fill$$16, 4, 4 .lcomm $$20, 4, 4 .lcomm fill$$17, 4, 4 .lcomm $$21, 4, 4 .lcomm fill$$18, 4, 4 .lcomm $$22, 4, 4 .lcomm fill$$19, 4, 4 .lcomm $$23, 4, 4 .lcomm fill$$20, 4, 4 .lcomm $$24, 4, 4 .lcomm fill$$21, 4, 4 .lcomm $$25, 4, 4 .lcomm fill$$22, 4, 4 .lcomm $$26, 4, 4 .lcomm fill$$23, 4, 4 .lcomm $$27, 4, 4 .lcomm fill$$24, 4, 4 .lcomm $$28, 4, 4 .lcomm fill$$25, 4, 4 .lcomm $$29, 4, 4 .lcomm fill$$26, 4, 4 .lcomm $$30, 4, 4 .lcomm fill$$27, 4, 4 .lcomm $$31, 7, 8 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 305 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 .lcomm fill$$28, 1, 1 .lcomm $$32, 6, 8 .lcomm fill$$29, 2, 2 .lcomm $$33, 1, 1 .lcomm fill$$30, 7, 8 .lcomm $$34, 8, 8 .lcomm $$35, 1, 1 .lcomm fill$$31, 7, 8 .lcomm $$36, 7, 8 .lcomm fill$$32, 1, 1 .lcomm $$37, 5, 8 .lcomm fill$$33, 3, 4 .lcomm $$38, 1, 1 .lcomm fill$$34, 7, 8 .lcomm $$39, 1, 1 .lcomm fill$$35, 7, 8 .lcomm $$40, 1, 1 .lcomm fill$$36, 7, 8 .lcomm $$41, 10, 16 .lcomm fill$$37, 6, 8 .lcomm $$42, 9, 16 .lcomm fill$$38, 7, 8 .lcomm $$43, 9, 16 .lcomm fill$$39, 7, 8 .lcomm $$44, 9, 16 .lcomm fill$$40, 7, 8 .lcomm $$45, 10, 16 .lcomm fill$$41, 6, 8 .lcomm $$46, 9, 16 .lcomm fill$$42, 7, 8 .lcomm $$47, 9, 16 .lcomm fill$$43, 7, 8 .lcomm $$48, 37, 16 .lcomm fill$$44, 3, 4 .lcomm $$49, 41, 16 .lcomm fill$$45, 7, 8 .lcomm $$50, 37, 16 .lcomm fill$$46, 3, 4 .lcomm $$51, 39, 16 .lcomm fill$$47, 1, 1 .lcomm $$52, 21, 16 .lcomm fill$$48, 3, 4 .lcomm $$53, 11, 16 .lcomm fill$$49, 5, 8 .lcomm $$54, 13, 16 .lcomm fill$$50, 3, 4 .lcomm start$$fill, 8, 8 .lcomm NameDsc, 8, 8 .lcomm ValueDsc, 8, 8 .lcomm fill$$51, 8, 8 .lcomm LnmTableDsc, 8, 8 .lcomm LogNameDsc, 8, 8 .lcomm NameAddressFaoDsc, 8, 8 .lcomm AddressFaoDsc, 8, 8 .lcomm fill$$52, 16, 16 .lcomm TimeFaoDsc, 8, 8 .lcomm TimeBufDsc, 8, 8 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 306 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 .lcomm AgoFaoDsc, 8, 8 .lcomm AgoBufDsc, 8, 8 .lcomm fill$$53, 8, 8 .lcomm DateFaoDsc, 8, 8 .lcomm TimeDsc, 8, 8 .lcomm TimeFaoDsc, 8, 8 .lcomm TimeFaoDsc, 8, 8 .lcomm TimeStringDsc, 8, 8 .lcomm UtcTimeFaoDsc, 8, 8 .lcomm TimeStringDsc, 8, 8 .lcomm LocalTimeFaoDsc, 8, 8 .lcomm HttpTimeFaoDsc, 8, 8 .lcomm TimeStringDsc, 8, 8 .lcomm HttpTimeFaoDsc, 8, 8 .lcomm TimeStringDsc, 8, 8 .lcomm LnmItems, 36, 16 .lcomm fill$$54, 4, 4 .lcomm HexDigit, 17, 16 .lcomm fill$$55, 7, 8 .lcomm JpiItems, 24, 16 .lcomm MonthName, 52, 16 .lcomm LogValue, 256, 16 .lcomm UniqueId, 24, 16 .lcomm UniqueIdString, 33, 16 .lcomm fill$$56, 7, 8 .lcomm CspNonce, 24, 16 .lcomm ScratchBuffer, 512, 16 .lcomm TimeBuf, 32, 16 .lcomm buf, 512, 16 .lcomm TimeString, 16, 16 .lcomm ValueLength, 8, 8 .lcomm LnmAttributes, 4, 4 .lcomm JpiBytLm, 4, 4 .lcomm bidx, 4, 4 _SIG_EMPTY_SET: 00 0000 .repeat 8 data1 0x00 .endr _SIG_FULL_SET: FF 0008 data1 0xFF FF 0009 data1 0xFF FF 000A data1 0xFF FF 000B data1 0xFF FF 000C data1 0xFF FF 000D data1 0xFF FF 000E data1 0xFF FF 000F data1 0xFF 00 0010 $$55: string "\X00" 646E6F4D 0018 $$56: string "Monday\X00" 007961 001C 73657554 0020 $$57: string "Tuesday\X00" 00796164 0024 64697246 0028 $$58: string "Friday\X00" 007961 002C Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 307 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 646E7553 0030 $$59: string "Sunday\X00" 007961 0034 00 0038 $$60: string "\X00" 756E614A 0040 $$61: string "January\X00" 00797261 0044 6372614D 0048 $$62: string "March\X00" 0068 004C 69727041 0050 $$63: string "April\X00" 006C 0054 0079614D 0058 $$64: string "May\X00" 656E754A 0060 $$65: string "June\X00" 00 0064 796C754A 0068 $$66: string "July\X00" 00 006C 75677541 0070 $$67: string "August\X00" 007473 0074 6F74634F 0078 $$68: string "October\X00" 00726562 007C 00 0080 $$69: string "\X00" 00 0088 $$70: string "\X00" 00 0090 $$71: string "\X00" 00 0098 $$72: string "\X00" 006E614A 00A0 $$73: string "Jan\X00" 00626546 00A8 $$74: string "Feb\X00" 0072614D 00B0 $$75: string "Mar\X00" 00727041 00B8 $$76: string "Apr\X00" 0079614D 00C0 $$77: string "May\X00" 006E754A 00C8 $$78: string "Jun\X00" 006C754A 00D0 $$79: string "Jul\X00" 00677541 00D8 $$80: string "Aug\X00" 00706553 00E0 $$81: string "Sep\X00" 0074634F 00E8 $$82: string "Oct\X00" Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 308 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 00766F4E 00F0 $$83: string "Nov\X00" 00636544 00F8 $$84: string "Dec\X00" 25333121 0100 $$85: string "!13%D\X00\X00" 000044 0104 54253821 0108 $$86: string "!8%T\X00\X00" 0000 010C 00 0110 $$87: string "\X00" 214C5521 0118 $$88: string "!UL!AZ\X00\X00" 00005A41 011C 00 0120 $$89: string "\X00" 25303221 0128 $$90: string "!20%D\X00\X00" 000044 012C 005A4121 0130 $$91: string "!AZ\X00\X00" 00 0134 00 0138 $$92: string "\X00" 00 0140 $$93: string "\X00" 00 0148 $$94: string "\X00" 6E646557 0150 $$95: string "Wednesday\X00" 61647365 0154 0079 0158 72756854 0160 $$96: string "Thursday\X00" 79616473 0164 00 0168 75746153 0170 $$97: string "Saturday\X00" 79616472 0174 00 0178 72626546 0180 $$98: string "February\X00" 79726175 0184 00 0188 74706553 0190 $$99: string "September\X00" 65626D65 0194 0072 0198 65766F4E 01A0 $$100: string "November\X00" 7265626D 01A4 00 01A8 65636544 01B0 $$101: string "December\X00" 7265626D 01B4 00 01B8 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 309 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 5A413321 01C0 $$102: string "!3AZ, !2ZW !3AZ !4ZW !2ZW:!2ZW:!2ZW\X00\X00" 3221202C 01C4 2120575A 01C8 205A4133 01CC 575A3421 01D0 5A322120 01D4 32213A57 01D8 213A575A 01DC 00575A32 01E0 00 01E4 5A413321 01E8 $$103: string "!3AZ, !2ZW !3AZ !4ZW !2ZW:!2ZW:!2ZW GMT\X00\X00" 3221202C 01EC 2120575A 01F0 205A4133 01F4 575A3421 01F8 5A322120 01FC 32213A57 0200 213A575A 0204 20575A32 0208 00544D47 020C 00 0210 4C5A3421 0218 $$104: string "!4ZL!2ZL!2ZLT!2ZL!2ZL!2ZL.!2ZL+0000\X00\X00" 4C5A3221 021C 4C5A3221 0220 5A322154 0224 5A32214C 0228 5A32214C 022C 32212E4C 0230 302B4C5A 0234 00303030 0238 00 023C 4C5A3421 0240 $$105: string "!4ZL-!2ZL-!2ZLT!2ZL:!2ZL:!2ZL.!2ZL!AZ\X00\X00" 5A32212D 0244 32212D4C 0248 21544C5A 024C 3A4C5A32 0250 4C5A3221 0254 5A32213A 0258 32212E4C 025C 41214C5A 0260 00005A 0264 4C5A3221 0268 $$106: string "!2ZL !2ZL:!2ZL:!2ZL\X00\X00" 5A322120 026C 32213A4C 0270 213A4C5A 0274 004C5A32 0278 00 027C 205A4121 0280 $$107: string "!AZ (!AZ)\X00\X00" 5A412128 0284 000029 0288 244D4E4C 0290 $$108: string "LNM$FILE_DEV\X00" Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 310 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 454C4946 0294 5645445F 0298 00 029C .psect DeltaOneDay, OVR, GBL, NOSHR, NOEXE, NOWRT, NOVEC, NOSHORT .global DeltaOneDay D5964000 0000 DeltaOneDay: data8 0xFFFFFF36D5964000 // data8 -864000000000 FFFFFF36 0004 .psect DeltaOneHour, OVR, GBL, NOSHR, NOEXE, NOWRT, NOVEC, NOSHORT .global DeltaOneHour 9E3B9800 0000 DeltaOneHour: data8 0xFFFFFFF79E3B9800 // data8 -36000000000 FFFFFFF7 0004 .psect Delta01Sec, OVR, GBL, NOSHR, NOEXE, NOWRT, NOVEC, NOSHORT .global Delta01Sec FF676980 0000 Delta01Sec: data8 0xFFFFFFFFFF676980 // data8 -10000000 FFFFFFFF 0004 .psect Delta02Sec, OVR, GBL, NOSHR, NOEXE, NOWRT, NOVEC, NOSHORT .global Delta02Sec FECED300 0000 Delta02Sec: data8 0xFFFFFFFFFECED300 // data8 -20000000 FFFFFFFF 0004 .psect Delta05Sec, OVR, GBL, NOSHR, NOEXE, NOWRT, NOVEC, NOSHORT .global Delta05Sec FD050F80 0000 Delta05Sec: data8 0xFFFFFFFFFD050F80 // data8 -50000000 FFFFFFFF 0004 .psect Delta10Sec, OVR, GBL, NOSHR, NOEXE, NOWRT, NOVEC, NOSHORT .global Delta10Sec FA0A1F00 0000 Delta10Sec: data8 0xFFFFFFFFFA0A1F00 // data8 -100000000 FFFFFFFF 0004 .psect Delta30Sec, OVR, GBL, NOSHR, NOEXE, NOWRT, NOVEC, NOSHORT .global Delta30Sec EE1E5D00 0000 Delta30Sec: data8 0xFFFFFFFFEE1E5D00 // data8 -300000000 FFFFFFFF 0004 .psect Delta60Sec, OVR, GBL, NOSHR, NOEXE, NOWRT, NOVEC, NOSHORT .global Delta60Sec DC3CBA00 0000 Delta60Sec: data8 0xFFFFFFFFDC3CBA00 // data8 -600000000 FFFFFFFF 0004 .psect Delta001mSec, OVR, GBL, NOSHR, NOEXE, NOWRT, NOVEC, NOSHORT .global Delta001mSec FFFFD8F0 0000 Delta001mSec: data8 0xFFFFFFFFFFFFD8F0 // data8 -10000 FFFFFFFF 0004 .psect Delta010mSec, OVR, GBL, NOSHR, NOEXE, NOWRT, NOVEC, NOSHORT .global Delta010mSec FFFE7960 0000 Delta010mSec: data8 0xFFFFFFFFFFFE7960 // data8 -100000 FFFFFFFF 0004 .psect Delta100mSec, OVR, GBL, NOSHR, NOEXE, NOWRT, NOVEC, NOSHORT .global Delta100mSec Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 311 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 FFF0BDC0 0000 Delta100mSec: data8 0xFFFFFFFFFFF0BDC0 // data8 -1000000 FFFFFFFF 0004 .psect Delta001uSec, OVR, GBL, NOSHR, NOEXE, NOWRT, NOVEC, NOSHORT .global Delta001uSec FFFFFFF6 0000 Delta001uSec: data8 0xFFFFFFFFFFFFFFF6 // data8 -10 FFFFFFFF 0004 .psect Delta010uSec, OVR, GBL, NOSHR, NOEXE, NOWRT, NOVEC, NOSHORT .global Delta010uSec FFFFFF9C 0000 Delta010uSec: data8 0xFFFFFFFFFFFFFF9C // data8 -100 FFFFFFFF 0004 .psect Delta100uSec, OVR, GBL, NOSHR, NOEXE, NOWRT, NOVEC, NOSHORT .global Delta100uSec FFFFFC18 0000 Delta100uSec: data8 0xFFFFFFFFFFFFFC18 // data8 -1000 FFFFFFFF 0004 .psect DayName, OVR, GBL, NOSHR, NOEXE, WRT, NOVEC, NOSHORT .global DayName DayName: 00000000 0000 data4 _SIG_EMPTY_SET+16 00000000 0004 data4 _SIG_EMPTY_SET+24 00000000 0008 data4 _SIG_EMPTY_SET+32 00000000 000C data4 _SIG_EMPTY_SET+336 00000000 0010 data4 _SIG_EMPTY_SET+352 00000000 0014 data4 _SIG_EMPTY_SET+40 00000000 0018 data4 _SIG_EMPTY_SET+368 00000000 001C data4 _SIG_EMPTY_SET+48 .psect MonthName, OVR, GBL, NOSHR, NOEXE, WRT, NOVEC, NOSHORT .global MonthName MonthName: 00000000 0000 data4 _SIG_EMPTY_SET+56 00000000 0004 data4 _SIG_EMPTY_SET+64 00000000 0008 data4 _SIG_EMPTY_SET+384 00000000 000C data4 _SIG_EMPTY_SET+72 00000000 0010 data4 _SIG_EMPTY_SET+80 00000000 0014 data4 _SIG_EMPTY_SET+88 00000000 0018 data4 _SIG_EMPTY_SET+96 00000000 001C data4 _SIG_EMPTY_SET+104 00000000 0020 data4 _SIG_EMPTY_SET+112 00000000 0024 data4 _SIG_EMPTY_SET+400 00000000 0028 data4 _SIG_EMPTY_SET+120 00000000 002C data4 _SIG_EMPTY_SET+416 00000000 0030 data4 _SIG_EMPTY_SET+432 .psect ToUpperCase, OVR, GBL, NOSHR, NOEXE, WRT, NOVEC, NOSHORT .global ToUpperCase ToUpperCase: 00000000 0000 data4 0x0 // data4 0 00000001 0004 data4 0x1 // data4 1 00000002 0008 data4 0x2 // data4 2 00000003 000C data4 0x3 // data4 3 00000004 0010 data4 0x4 // data4 4 00000005 0014 data4 0x5 // data4 5 00000006 0018 data4 0x6 // data4 6 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 312 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 00000007 001C data4 0x7 // data4 7 00000008 0020 data4 0x8 // data4 8 00000009 0024 data4 0x9 // data4 9 0000000A 0028 data4 0xA // data4 10 0000000B 002C data4 0xB // data4 11 0000000C 0030 data4 0xC // data4 12 0000000D 0034 data4 0xD // data4 13 0000000E 0038 data4 0xE // data4 14 0000000F 003C data4 0xF // data4 15 00000010 0040 data4 0x10 // data4 16 00000011 0044 data4 0x11 // data4 17 00000012 0048 data4 0x12 // data4 18 00000013 004C data4 0x13 // data4 19 00000014 0050 data4 0x14 // data4 20 00000015 0054 data4 0x15 // data4 21 00000016 0058 data4 0x16 // data4 22 00000017 005C data4 0x17 // data4 23 00000018 0060 data4 0x18 // data4 24 00000019 0064 data4 0x19 // data4 25 0000001A 0068 data4 0x1A // data4 26 0000001B 006C data4 0x1B // data4 27 0000001C 0070 data4 0x1C // data4 28 0000001D 0074 data4 0x1D // data4 29 0000001E 0078 data4 0x1E // data4 30 0000001F 007C data4 0x1F // data4 31 00000020 0080 data4 0x20 // data4 32 00000021 0084 data4 0x21 // data4 33 00000022 0088 data4 0x22 // data4 34 00000023 008C data4 0x23 // data4 35 00000024 0090 data4 0x24 // data4 36 00000025 0094 data4 0x25 // data4 37 00000026 0098 data4 0x26 // data4 38 00000027 009C data4 0x27 // data4 39 00000028 00A0 data4 0x28 // data4 40 00000029 00A4 data4 0x29 // data4 41 0000002A 00A8 data4 0x2A // data4 42 0000002B 00AC data4 0x2B // data4 43 0000002C 00B0 data4 0x2C // data4 44 0000002D 00B4 data4 0x2D // data4 45 0000002E 00B8 data4 0x2E // data4 46 0000002F 00BC data4 0x2F // data4 47 00000030 00C0 data4 0x30 // data4 48 00000031 00C4 data4 0x31 // data4 49 00000032 00C8 data4 0x32 // data4 50 00000033 00CC data4 0x33 // data4 51 00000034 00D0 data4 0x34 // data4 52 00000035 00D4 data4 0x35 // data4 53 00000036 00D8 data4 0x36 // data4 54 00000037 00DC data4 0x37 // data4 55 00000038 00E0 data4 0x38 // data4 56 00000039 00E4 data4 0x39 // data4 57 0000003A 00E8 data4 0x3A // data4 58 0000003B 00EC data4 0x3B // data4 59 0000003C 00F0 data4 0x3C // data4 60 0000003D 00F4 data4 0x3D // data4 61 0000003E 00F8 data4 0x3E // data4 62 0000003F 00FC data4 0x3F // data4 63 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 313 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 00000040 0100 data4 0x40 // data4 64 00000041 0104 data4 0x41 // data4 65 00000042 0108 data4 0x42 // data4 66 00000043 010C data4 0x43 // data4 67 00000044 0110 data4 0x44 // data4 68 00000045 0114 data4 0x45 // data4 69 00000046 0118 data4 0x46 // data4 70 00000047 011C data4 0x47 // data4 71 00000048 0120 data4 0x48 // data4 72 00000049 0124 data4 0x49 // data4 73 0000004A 0128 data4 0x4A // data4 74 0000004B 012C data4 0x4B // data4 75 0000004C 0130 data4 0x4C // data4 76 0000004D 0134 data4 0x4D // data4 77 0000004E 0138 data4 0x4E // data4 78 0000004F 013C data4 0x4F // data4 79 00000050 0140 data4 0x50 // data4 80 00000051 0144 data4 0x51 // data4 81 00000052 0148 data4 0x52 // data4 82 00000053 014C data4 0x53 // data4 83 00000054 0150 data4 0x54 // data4 84 00000055 0154 data4 0x55 // data4 85 00000056 0158 data4 0x56 // data4 86 00000057 015C data4 0x57 // data4 87 00000058 0160 data4 0x58 // data4 88 00000059 0164 data4 0x59 // data4 89 0000005A 0168 data4 0x5A // data4 90 0000005B 016C data4 0x5B // data4 91 0000005C 0170 data4 0x5C // data4 92 0000005D 0174 data4 0x5D // data4 93 0000005E 0178 data4 0x5E // data4 94 0000005F 017C data4 0x5F // data4 95 00000060 0180 data4 0x60 // data4 96 00000041 0184 data4 0x41 // data4 65 00000042 0188 data4 0x42 // data4 66 00000043 018C data4 0x43 // data4 67 00000044 0190 data4 0x44 // data4 68 00000045 0194 data4 0x45 // data4 69 00000046 0198 data4 0x46 // data4 70 00000047 019C data4 0x47 // data4 71 00000048 01A0 data4 0x48 // data4 72 00000049 01A4 data4 0x49 // data4 73 0000004A 01A8 data4 0x4A // data4 74 0000004B 01AC data4 0x4B // data4 75 0000004C 01B0 data4 0x4C // data4 76 0000004D 01B4 data4 0x4D // data4 77 0000004E 01B8 data4 0x4E // data4 78 0000004F 01BC data4 0x4F // data4 79 00000050 01C0 data4 0x50 // data4 80 00000051 01C4 data4 0x51 // data4 81 00000052 01C8 data4 0x52 // data4 82 00000053 01CC data4 0x53 // data4 83 00000054 01D0 data4 0x54 // data4 84 00000055 01D4 data4 0x55 // data4 85 00000056 01D8 data4 0x56 // data4 86 00000057 01DC data4 0x57 // data4 87 00000058 01E0 data4 0x58 // data4 88 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 314 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 00000059 01E4 data4 0x59 // data4 89 0000005A 01E8 data4 0x5A // data4 90 0000007B 01EC data4 0x7B // data4 123 0000007C 01F0 data4 0x7C // data4 124 0000007D 01F4 data4 0x7D // data4 125 0000007E 01F8 data4 0x7E // data4 126 0000007F 01FC data4 0x7F // data4 127 00000080 0200 data4 0x80 // data4 128 00000081 0204 data4 0x81 // data4 129 00000082 0208 data4 0x82 // data4 130 00000083 020C data4 0x83 // data4 131 00000084 0210 data4 0x84 // data4 132 00000085 0214 data4 0x85 // data4 133 00000086 0218 data4 0x86 // data4 134 00000087 021C data4 0x87 // data4 135 00000088 0220 data4 0x88 // data4 136 00000089 0224 data4 0x89 // data4 137 0000008A 0228 data4 0x8A // data4 138 0000008B 022C data4 0x8B // data4 139 0000008C 0230 data4 0x8C // data4 140 0000008D 0234 data4 0x8D // data4 141 0000008E 0238 data4 0x8E // data4 142 0000008F 023C data4 0x8F // data4 143 00000090 0240 data4 0x90 // data4 144 00000091 0244 data4 0x91 // data4 145 00000092 0248 data4 0x92 // data4 146 00000093 024C data4 0x93 // data4 147 00000094 0250 data4 0x94 // data4 148 00000095 0254 data4 0x95 // data4 149 00000096 0258 data4 0x96 // data4 150 00000097 025C data4 0x97 // data4 151 00000098 0260 data4 0x98 // data4 152 00000099 0264 data4 0x99 // data4 153 0000009A 0268 data4 0x9A // data4 154 0000009B 026C data4 0x9B // data4 155 0000009C 0270 data4 0x9C // data4 156 0000009D 0274 data4 0x9D // data4 157 0000009E 0278 data4 0x9E // data4 158 0000009F 027C data4 0x9F // data4 159 000000A0 0280 data4 0xA0 // data4 160 000000A1 0284 data4 0xA1 // data4 161 000000A2 0288 data4 0xA2 // data4 162 000000A3 028C data4 0xA3 // data4 163 000000A4 0290 data4 0xA4 // data4 164 000000A5 0294 data4 0xA5 // data4 165 000000A6 0298 data4 0xA6 // data4 166 000000A7 029C data4 0xA7 // data4 167 000000A8 02A0 data4 0xA8 // data4 168 000000A9 02A4 data4 0xA9 // data4 169 000000AA 02A8 data4 0xAA // data4 170 000000AB 02AC data4 0xAB // data4 171 000000AC 02B0 data4 0xAC // data4 172 000000AD 02B4 data4 0xAD // data4 173 000000AE 02B8 data4 0xAE // data4 174 000000AF 02BC data4 0xAF // data4 175 000000B0 02C0 data4 0xB0 // data4 176 000000B1 02C4 data4 0xB1 // data4 177 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 315 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000000B2 02C8 data4 0xB2 // data4 178 000000B3 02CC data4 0xB3 // data4 179 000000B4 02D0 data4 0xB4 // data4 180 000000B5 02D4 data4 0xB5 // data4 181 000000B6 02D8 data4 0xB6 // data4 182 000000B7 02DC data4 0xB7 // data4 183 000000B8 02E0 data4 0xB8 // data4 184 000000B9 02E4 data4 0xB9 // data4 185 000000BA 02E8 data4 0xBA // data4 186 000000BB 02EC data4 0xBB // data4 187 000000BC 02F0 data4 0xBC // data4 188 000000BD 02F4 data4 0xBD // data4 189 000000BE 02F8 data4 0xBE // data4 190 000000BF 02FC data4 0xBF // data4 191 000000C0 0300 data4 0xC0 // data4 192 000000C1 0304 data4 0xC1 // data4 193 000000C2 0308 data4 0xC2 // data4 194 000000C3 030C data4 0xC3 // data4 195 000000C4 0310 data4 0xC4 // data4 196 000000C5 0314 data4 0xC5 // data4 197 000000C6 0318 data4 0xC6 // data4 198 000000C7 031C data4 0xC7 // data4 199 000000C8 0320 data4 0xC8 // data4 200 000000C9 0324 data4 0xC9 // data4 201 000000CA 0328 data4 0xCA // data4 202 000000CB 032C data4 0xCB // data4 203 000000CC 0330 data4 0xCC // data4 204 000000CD 0334 data4 0xCD // data4 205 000000CE 0338 data4 0xCE // data4 206 000000CF 033C data4 0xCF // data4 207 000000D0 0340 data4 0xD0 // data4 208 000000D1 0344 data4 0xD1 // data4 209 000000D2 0348 data4 0xD2 // data4 210 000000D3 034C data4 0xD3 // data4 211 000000D4 0350 data4 0xD4 // data4 212 000000D5 0354 data4 0xD5 // data4 213 000000D6 0358 data4 0xD6 // data4 214 000000D7 035C data4 0xD7 // data4 215 000000D8 0360 data4 0xD8 // data4 216 000000D9 0364 data4 0xD9 // data4 217 000000DA 0368 data4 0xDA // data4 218 000000DB 036C data4 0xDB // data4 219 000000DC 0370 data4 0xDC // data4 220 000000DD 0374 data4 0xDD // data4 221 000000DE 0378 data4 0xDE // data4 222 000000DF 037C data4 0xDF // data4 223 000000E0 0380 data4 0xE0 // data4 224 000000E1 0384 data4 0xE1 // data4 225 000000E2 0388 data4 0xE2 // data4 226 000000E3 038C data4 0xE3 // data4 227 000000E4 0390 data4 0xE4 // data4 228 000000E5 0394 data4 0xE5 // data4 229 000000E6 0398 data4 0xE6 // data4 230 000000E7 039C data4 0xE7 // data4 231 000000E8 03A0 data4 0xE8 // data4 232 000000E9 03A4 data4 0xE9 // data4 233 000000EA 03A8 data4 0xEA // data4 234 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 316 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000000EB 03AC data4 0xEB // data4 235 000000EC 03B0 data4 0xEC // data4 236 000000ED 03B4 data4 0xED // data4 237 000000EE 03B8 data4 0xEE // data4 238 000000EF 03BC data4 0xEF // data4 239 000000F0 03C0 data4 0xF0 // data4 240 000000F1 03C4 data4 0xF1 // data4 241 000000F2 03C8 data4 0xF2 // data4 242 000000F3 03CC data4 0xF3 // data4 243 000000F4 03D0 data4 0xF4 // data4 244 000000F5 03D4 data4 0xF5 // data4 245 000000F6 03D8 data4 0xF6 // data4 246 000000F7 03DC data4 0xF7 // data4 247 000000F8 03E0 data4 0xF8 // data4 248 000000F9 03E4 data4 0xF9 // data4 249 000000FA 03E8 data4 0xFA // data4 250 000000FB 03EC data4 0xFB // data4 251 000000FC 03F0 data4 0xFC // data4 252 000000FD 03F4 data4 0xFD // data4 253 000000FE 03F8 data4 0xFE // data4 254 000000FF 03FC data4 0xFF // data4 255 .psect ToLowerCase, OVR, GBL, NOSHR, NOEXE, WRT, NOVEC, NOSHORT .global ToLowerCase ToLowerCase: 00000000 0000 data4 0x0 // data4 0 00000001 0004 data4 0x1 // data4 1 00000002 0008 data4 0x2 // data4 2 00000003 000C data4 0x3 // data4 3 00000004 0010 data4 0x4 // data4 4 00000005 0014 data4 0x5 // data4 5 00000006 0018 data4 0x6 // data4 6 00000007 001C data4 0x7 // data4 7 00000008 0020 data4 0x8 // data4 8 00000009 0024 data4 0x9 // data4 9 0000000A 0028 data4 0xA // data4 10 0000000B 002C data4 0xB // data4 11 0000000C 0030 data4 0xC // data4 12 0000000D 0034 data4 0xD // data4 13 0000000E 0038 data4 0xE // data4 14 0000000F 003C data4 0xF // data4 15 00000010 0040 data4 0x10 // data4 16 00000011 0044 data4 0x11 // data4 17 00000012 0048 data4 0x12 // data4 18 00000013 004C data4 0x13 // data4 19 00000014 0050 data4 0x14 // data4 20 00000015 0054 data4 0x15 // data4 21 00000016 0058 data4 0x16 // data4 22 00000017 005C data4 0x17 // data4 23 00000018 0060 data4 0x18 // data4 24 00000019 0064 data4 0x19 // data4 25 0000001A 0068 data4 0x1A // data4 26 0000001B 006C data4 0x1B // data4 27 0000001C 0070 data4 0x1C // data4 28 0000001D 0074 data4 0x1D // data4 29 0000001E 0078 data4 0x1E // data4 30 0000001F 007C data4 0x1F // data4 31 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 317 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 00000020 0080 data4 0x20 // data4 32 00000021 0084 data4 0x21 // data4 33 00000022 0088 data4 0x22 // data4 34 00000023 008C data4 0x23 // data4 35 00000024 0090 data4 0x24 // data4 36 00000025 0094 data4 0x25 // data4 37 00000026 0098 data4 0x26 // data4 38 00000027 009C data4 0x27 // data4 39 00000028 00A0 data4 0x28 // data4 40 00000029 00A4 data4 0x29 // data4 41 0000002A 00A8 data4 0x2A // data4 42 0000002B 00AC data4 0x2B // data4 43 0000002C 00B0 data4 0x2C // data4 44 0000002D 00B4 data4 0x2D // data4 45 0000002E 00B8 data4 0x2E // data4 46 0000002F 00BC data4 0x2F // data4 47 00000030 00C0 data4 0x30 // data4 48 00000031 00C4 data4 0x31 // data4 49 00000032 00C8 data4 0x32 // data4 50 00000033 00CC data4 0x33 // data4 51 00000034 00D0 data4 0x34 // data4 52 00000035 00D4 data4 0x35 // data4 53 00000036 00D8 data4 0x36 // data4 54 00000037 00DC data4 0x37 // data4 55 00000038 00E0 data4 0x38 // data4 56 00000039 00E4 data4 0x39 // data4 57 0000003A 00E8 data4 0x3A // data4 58 0000003B 00EC data4 0x3B // data4 59 0000003C 00F0 data4 0x3C // data4 60 0000003D 00F4 data4 0x3D // data4 61 0000003E 00F8 data4 0x3E // data4 62 0000003F 00FC data4 0x3F // data4 63 00000040 0100 data4 0x40 // data4 64 00000061 0104 data4 0x61 // data4 97 00000062 0108 data4 0x62 // data4 98 00000063 010C data4 0x63 // data4 99 00000064 0110 data4 0x64 // data4 100 00000065 0114 data4 0x65 // data4 101 00000066 0118 data4 0x66 // data4 102 00000067 011C data4 0x67 // data4 103 00000068 0120 data4 0x68 // data4 104 00000069 0124 data4 0x69 // data4 105 0000006A 0128 data4 0x6A // data4 106 0000006B 012C data4 0x6B // data4 107 0000006C 0130 data4 0x6C // data4 108 0000006D 0134 data4 0x6D // data4 109 0000006E 0138 data4 0x6E // data4 110 0000006F 013C data4 0x6F // data4 111 00000070 0140 data4 0x70 // data4 112 00000071 0144 data4 0x71 // data4 113 00000072 0148 data4 0x72 // data4 114 00000073 014C data4 0x73 // data4 115 00000074 0150 data4 0x74 // data4 116 00000075 0154 data4 0x75 // data4 117 00000076 0158 data4 0x76 // data4 118 00000077 015C data4 0x77 // data4 119 00000078 0160 data4 0x78 // data4 120 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 318 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 00000079 0164 data4 0x79 // data4 121 0000007A 0168 data4 0x7A // data4 122 0000005B 016C data4 0x5B // data4 91 0000005C 0170 data4 0x5C // data4 92 0000005D 0174 data4 0x5D // data4 93 0000005E 0178 data4 0x5E // data4 94 0000005F 017C data4 0x5F // data4 95 00000060 0180 data4 0x60 // data4 96 00000061 0184 data4 0x61 // data4 97 00000062 0188 data4 0x62 // data4 98 00000063 018C data4 0x63 // data4 99 00000064 0190 data4 0x64 // data4 100 00000065 0194 data4 0x65 // data4 101 00000066 0198 data4 0x66 // data4 102 00000067 019C data4 0x67 // data4 103 00000068 01A0 data4 0x68 // data4 104 00000069 01A4 data4 0x69 // data4 105 0000006A 01A8 data4 0x6A // data4 106 0000006B 01AC data4 0x6B // data4 107 0000006C 01B0 data4 0x6C // data4 108 0000006D 01B4 data4 0x6D // data4 109 0000006E 01B8 data4 0x6E // data4 110 0000006F 01BC data4 0x6F // data4 111 00000070 01C0 data4 0x70 // data4 112 00000071 01C4 data4 0x71 // data4 113 00000072 01C8 data4 0x72 // data4 114 00000073 01CC data4 0x73 // data4 115 00000074 01D0 data4 0x74 // data4 116 00000075 01D4 data4 0x75 // data4 117 00000076 01D8 data4 0x76 // data4 118 00000077 01DC data4 0x77 // data4 119 00000078 01E0 data4 0x78 // data4 120 00000079 01E4 data4 0x79 // data4 121 0000007A 01E8 data4 0x7A // data4 122 0000007B 01EC data4 0x7B // data4 123 0000007C 01F0 data4 0x7C // data4 124 0000007D 01F4 data4 0x7D // data4 125 0000007E 01F8 data4 0x7E // data4 126 0000007F 01FC data4 0x7F // data4 127 00000080 0200 data4 0x80 // data4 128 00000081 0204 data4 0x81 // data4 129 00000082 0208 data4 0x82 // data4 130 00000083 020C data4 0x83 // data4 131 00000084 0210 data4 0x84 // data4 132 00000085 0214 data4 0x85 // data4 133 00000086 0218 data4 0x86 // data4 134 00000087 021C data4 0x87 // data4 135 00000088 0220 data4 0x88 // data4 136 00000089 0224 data4 0x89 // data4 137 0000008A 0228 data4 0x8A // data4 138 0000008B 022C data4 0x8B // data4 139 0000008C 0230 data4 0x8C // data4 140 0000008D 0234 data4 0x8D // data4 141 0000008E 0238 data4 0x8E // data4 142 0000008F 023C data4 0x8F // data4 143 00000090 0240 data4 0x90 // data4 144 00000091 0244 data4 0x91 // data4 145 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 319 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 00000092 0248 data4 0x92 // data4 146 00000093 024C data4 0x93 // data4 147 00000094 0250 data4 0x94 // data4 148 00000095 0254 data4 0x95 // data4 149 00000096 0258 data4 0x96 // data4 150 00000097 025C data4 0x97 // data4 151 00000098 0260 data4 0x98 // data4 152 00000099 0264 data4 0x99 // data4 153 0000009A 0268 data4 0x9A // data4 154 0000009B 026C data4 0x9B // data4 155 0000009C 0270 data4 0x9C // data4 156 0000009D 0274 data4 0x9D // data4 157 0000009E 0278 data4 0x9E // data4 158 0000009F 027C data4 0x9F // data4 159 000000A0 0280 data4 0xA0 // data4 160 000000A1 0284 data4 0xA1 // data4 161 000000A2 0288 data4 0xA2 // data4 162 000000A3 028C data4 0xA3 // data4 163 000000A4 0290 data4 0xA4 // data4 164 000000A5 0294 data4 0xA5 // data4 165 000000A6 0298 data4 0xA6 // data4 166 000000A7 029C data4 0xA7 // data4 167 000000A8 02A0 data4 0xA8 // data4 168 000000A9 02A4 data4 0xA9 // data4 169 000000AA 02A8 data4 0xAA // data4 170 000000AB 02AC data4 0xAB // data4 171 000000AC 02B0 data4 0xAC // data4 172 000000AD 02B4 data4 0xAD // data4 173 000000AE 02B8 data4 0xAE // data4 174 000000AF 02BC data4 0xAF // data4 175 000000B0 02C0 data4 0xB0 // data4 176 000000B1 02C4 data4 0xB1 // data4 177 000000B2 02C8 data4 0xB2 // data4 178 000000B3 02CC data4 0xB3 // data4 179 000000B4 02D0 data4 0xB4 // data4 180 000000B5 02D4 data4 0xB5 // data4 181 000000B6 02D8 data4 0xB6 // data4 182 000000B7 02DC data4 0xB7 // data4 183 000000B8 02E0 data4 0xB8 // data4 184 000000B9 02E4 data4 0xB9 // data4 185 000000BA 02E8 data4 0xBA // data4 186 000000BB 02EC data4 0xBB // data4 187 000000BC 02F0 data4 0xBC // data4 188 000000BD 02F4 data4 0xBD // data4 189 000000BE 02F8 data4 0xBE // data4 190 000000BF 02FC data4 0xBF // data4 191 000000C0 0300 data4 0xC0 // data4 192 000000C1 0304 data4 0xC1 // data4 193 000000C2 0308 data4 0xC2 // data4 194 000000C3 030C data4 0xC3 // data4 195 000000C4 0310 data4 0xC4 // data4 196 000000C5 0314 data4 0xC5 // data4 197 000000C6 0318 data4 0xC6 // data4 198 000000C7 031C data4 0xC7 // data4 199 000000C8 0320 data4 0xC8 // data4 200 000000C9 0324 data4 0xC9 // data4 201 000000CA 0328 data4 0xCA // data4 202 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 320 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 000000CB 032C data4 0xCB // data4 203 000000CC 0330 data4 0xCC // data4 204 000000CD 0334 data4 0xCD // data4 205 000000CE 0338 data4 0xCE // data4 206 000000CF 033C data4 0xCF // data4 207 000000D0 0340 data4 0xD0 // data4 208 000000D1 0344 data4 0xD1 // data4 209 000000D2 0348 data4 0xD2 // data4 210 000000D3 034C data4 0xD3 // data4 211 000000D4 0350 data4 0xD4 // data4 212 000000D5 0354 data4 0xD5 // data4 213 000000D6 0358 data4 0xD6 // data4 214 000000D7 035C data4 0xD7 // data4 215 000000D8 0360 data4 0xD8 // data4 216 000000D9 0364 data4 0xD9 // data4 217 000000DA 0368 data4 0xDA // data4 218 000000DB 036C data4 0xDB // data4 219 000000DC 0370 data4 0xDC // data4 220 000000DD 0374 data4 0xDD // data4 221 000000DE 0378 data4 0xDE // data4 222 000000DF 037C data4 0xDF // data4 223 000000E0 0380 data4 0xE0 // data4 224 000000E1 0384 data4 0xE1 // data4 225 000000E2 0388 data4 0xE2 // data4 226 000000E3 038C data4 0xE3 // data4 227 000000E4 0390 data4 0xE4 // data4 228 000000E5 0394 data4 0xE5 // data4 229 000000E6 0398 data4 0xE6 // data4 230 000000E7 039C data4 0xE7 // data4 231 000000E8 03A0 data4 0xE8 // data4 232 000000E9 03A4 data4 0xE9 // data4 233 000000EA 03A8 data4 0xEA // data4 234 000000EB 03AC data4 0xEB // data4 235 000000EC 03B0 data4 0xEC // data4 236 000000ED 03B4 data4 0xED // data4 237 000000EE 03B8 data4 0xEE // data4 238 000000EF 03BC data4 0xEF // data4 239 000000F0 03C0 data4 0xF0 // data4 240 000000F1 03C4 data4 0xF1 // data4 241 000000F2 03C8 data4 0xF2 // data4 242 000000F3 03CC data4 0xF3 // data4 243 000000F4 03D0 data4 0xF4 // data4 244 000000F5 03D4 data4 0xF5 // data4 245 000000F6 03D8 data4 0xF6 // data4 246 000000F7 03DC data4 0xF7 // data4 247 000000F8 03E0 data4 0xF8 // data4 248 000000F9 03E4 data4 0xF9 // data4 249 000000FA 03E8 data4 0xFA // data4 250 000000FB 03EC data4 0xFB // data4 251 000000FC 03F0 data4 0xFC // data4 252 000000FD 03F4 data4 0xFD // data4 253 000000FE 03F8 data4 0xFE // data4 254 000000FF 03FC data4 0xFF // data4 255 .psect $LITERAL$, CON, LCL, SHR, NOEXE, NOWRT, NOVEC, NOSHORT 50505553 0000 string "SUPPORT\X00" 0054524F 0004 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 321 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 24737973 0010 string "sys$dclast()\X00" 616C6364 0014 29287473 0018 00 001C 2462696C 0020 string "lib$cvts_from_internal_time()\X00" 73747663 0024 6F72665F 0028 6E695F6D 002C 6E726574 0030 745F6C61 0034 28656D69 0038 0029 003C 6E6F6E28 0040 string "(none)\X00" 002965 0044 00776F6E 0048 string "now\X00" 0073 0050 string "s\X00" 006D 0058 string "m\X00" 0068 0060 string "h\X00" 0064 0068 string "d\X00" 66322E25 0070 string "%.2fs\X00" 0073 0074 66332E25 0078 string "%.3fs\X00" 0073 007C 66302E25 0080 string "%.0fms\X00" 00736D 0084 66312E25 0088 string "%.1fms\X00" 00736D 008C 332E3025 0090 string "%0.3fms\X00" 00736D66 0094 73302E30 00A0 string "0.0s\X00" 00 00A4 2D2D213C 00A8 string "\X0A\X00" 54454D20 00AC 766F2041 00B0 6C667265 00B4 4520776F 00B8 524F5252 00BC 3E2D2D20 00C0 000A 00C4 74656D3C 00C8 string "\X0A\X0A!&@!&@" 616E2061 00CC string "\X0A\X00" Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 322 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 223D656D 00D0 656E6567 00D4 6F746172 00D8 63202272 00DC 65746E6F 00E0 223D746E 00E4 225A4121 00E8 6D3C0A3E 00EC 20617465 00F0 656D616E 00F4 6164223D 00F8 20226574 00FC 746E6F63 0100 3D746E65 0104 5A412122 0108 210A3E22 010C 26214026 0110 656D3C40 0114 6E206174 0118 3D656D61 011C 726F6622 0120 2D74616D 0124 65746564 0128 6F697463 012C 6320226E 0130 65746E6F 0134 223D746E 0138 656C6574 013C 6E6F6870 0140 6F6E3D65 0144 000A3E22 0148 00 0150 string "\X00" 0032 0158 string "2\X00" 0035 0160 string "5\X00" 00534441 0168 string "ADS\X00" 004B5750 0170 string "PWK\X00" 00424D53 0178 string "SMB\X00" 003F 0180 string "?\X00" 00495253 0188 string "SRI\X00" 74656D3C 0190 string "\X0A\X00" 616E2061 0194 223D656D 0198 2253444F 019C 6E6F6320 01A0 746E6574 01A4 4121223D 01A8 0A3E225A 01AC 00 01B0 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 323 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 74656D3C 01B8 string "\X0A!&@\X00" 616E2061 01BC 223D656D 01C0 22534D56 01C4 6E6F6320 01C8 746E6574 01CC 2621223D 01D0 225A413B 01D4 26210A3E 01D8 0040 01DC 74656D3C 01E0 string "\X0A\X00" 616E2061 01E4 223D656D 01E8 74736F68 01EC 6F632022 01F0 6E65746E 01F4 21223D74 01F8 3E225A41 01FC 000A 0200 74656D3C 0208 string "\X0A\X00" 616E2061 020C 223D656D 0210 68747561 0214 2022726F 0218 746E6F63 021C 3D746E65 0220 3B262122 0224 272E5A41 0228 413B2621 022C 2140275A 0230 3E225A41 0234 000A 0238 20656854 0240 string "The server is reporting an UNKNOWN status code!\X00" 76726573 0244 69207265 0248 65722073 024C 74726F70 0250 20676E69 0254 55206E61 0258 4F4E4B4E 025C 73204E57 0260 75746174 0264 6F632073 0268 00216564 026C 636F7270 0278 string "processing\X00" 69737365 027C 00676E 0280 746C756D 0288 string "multi-status\X00" 74732D69 028C 73757461 0290 00 0294 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 324 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 6B636F6C 0298 string "locked\X00" 006465 029C 72706E75 02A0 string "unprocessable entity\X00" 7365636F 02A4 6C626173 02A8 6E652065 02AC 79746974 02B0 00 02B4 6473696D 02B8 string "misdirected request\X00" 63657269 02BC 20646574 02C0 75716572 02C4 00747365 02C8 706D6574 02D0 string "temporary redirect\X00" 7261726F 02D4 65722079 02D8 65726964 02DC 007463 02E0 65736572 02E8 string "reserved\X00" 64657672 02EC 00 02F0 746E6F43 02F8 string "Continue\X00" 65756E69 02FC 00 0300 74697753 0308 string "Switching Protocols\X00" 6E696863 030C 72502067 0310 636F746F 0314 00736C6F 0318 6E6B6E55 0320 string "Unknown Code!\X00" 206E776F 0324 65646F43 0328 0021 032C 636F7250 0330 string "Processing\X00" 69737365 0334 00676E 0338 75736E49 0340 string "Insufficient Storage\X00" 63696666 0344 746E6569 0348 6F745320 034C 65676172 0350 00 0354 50545448 0358 string "HTTP Version Not Supported\X00" 72655620 035C 6E6F6973 0360 746F4E20 0364 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 325 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 70755320 0368 74726F70 036C 006465 0370 65746147 0378 string "Gateway Timeout\X00" 20796177 037C 656D6954 0380 0074756F 0384 76726553 0390 string "Service Unavailable\X00" 20656369 0394 76616E55 0398 616C6961 039C 00656C62 03A0 20646142 03A8 string "Bad Gateway\X00" 65746147 03AC 00796177 03B0 20746F4E 03B8 string "Not Implemented\X00" 6C706D49 03BC 6E656D65 03C0 00646574 03C4 65746E49 03D0 string "Internal Error\X00" 6C616E72 03D4 72724520 03D8 00726F 03DC 72677055 03E0 string "Upgrade Required\X00" 20656461 03E4 75716552 03E8 64657269 03EC 00 03F0 6C696146 03F8 string "Failed Dependency\X00" 44206465 03FC 6E657065 0400 636E6564 0404 0079 0408 6B636F4C 0410 string "Locked\X00" 006465 0414 72706E55 0418 string "Unprocessable Entity\X00" 7365636F 041C 6C626173 0420 6E452065 0424 79746974 0428 00 042C 6473694D 0430 string "Misdirected Request\X00" 63657269 0434 20646574 0438 75716552 043C 00747365 0440 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 326 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 206D2749 0448 string "I'm a teapot\X00" 65742061 044C 746F7061 0450 00 0454 65707845 0458 string "Expectation Failed\X00" 74617463 045C 206E6F69 0460 6C696146 0464 006465 0468 75716552 0470 string "Requested Range Not Satisfiable\X00" 65747365 0474 61522064 0478 2065676E 047C 20746F4E 0480 69746153 0484 61696673 0488 00656C62 048C 75736E55 0498 string "Unsupported Media Type\X00" 726F7070 049C 20646574 04A0 6964654D 04A4 79542061 04A8 006570 04AC 75716552 04B0 string "Request URI Too Long\X00" 20747365 04B4 20495255 04B8 206F6F54 04BC 676E6F4C 04C0 00 04C4 75716552 04C8 string "Request Entity Too Large\X00" 20747365 04CC 69746E45 04D0 54207974 04D4 4C206F6F 04D8 65677261 04DC 00 04E0 63657250 04E8 string "Precondition Failed\X00" 69646E6F 04EC 6E6F6974 04F0 69614620 04F4 0064656C 04F8 676E654C 0500 string "Length Required\X00" 52206874 0504 69757165 0508 00646572 050C 656E6F47 0518 string "Gone\X00" 00 051C 666E6F43 0520 string "Conflict\X00" Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 327 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 7463696C 0524 00 0528 75716552 0530 string "Request Timeout\X00" 20747365 0534 656D6954 0538 0074756F 053C 786F7250 0548 string "Proxy Authentication Required\X00" 75412079 054C 6E656874 0550 61636974 0554 6E6F6974 0558 71655220 055C 65726975 0560 0064 0564 20746F4E 0568 string "Not Acceptable\X00" 65636341 056C 62617470 0570 00656C 0574 6874654D 0578 string "Method Not Allowed\X00" 4E20646F 057C 4120746F 0580 776F6C6C 0584 006465 0588 20746F4E 0590 string "Not Found\X00" 6E756F46 0594 0064 0598 62726F46 05A0 string "Forbidden\X00" 65646469 05A4 006E 05A8 6D796150 05B0 string "Payment Required\X00" 20746E65 05B4 75716552 05B8 64657269 05BC 00 05C0 68747541 05C8 string "Authorization Required\X00" 7A69726F 05CC 6F697461 05D0 6552206E 05D4 72697571 05D8 006465 05DC 20646142 05E0 string "Bad Request\X00" 75716552 05E4 00747365 05E8 706D6554 05F0 string "Temporary Redirect\X00" 7261726F 05F4 65522079 05F8 65726964 05FC Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 328 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 007463 0600 7365725B 0608 string "[reserved]\X00" 65767265 060C 005D64 0610 20657355 0618 string "Use Proxy\X00" 786F7250 061C 0079 0620 20746F4E 0628 string "Not Modified\X00" 69646F4D 062C 64656966 0630 00 0634 20656553 0638 string "See Other\X00" 6568744F 063C 0072 0640 6E756F46 0648 string "Found (Moved Temporarily)\X00" 4D282064 064C 6465766F 0650 6D655420 0654 61726F70 0658 796C6972 065C 0029 0660 65766F4D 0668 string "Moved Permanently\X00" 65502064 066C 6E616D72 0670 6C746E65 0674 0079 0678 746C754D 0680 string "Multiple Choices\X00" 656C7069 0684 6F684320 0688 73656369 068C 00 0690 746C754D 0698 string "Multistatus\X00" 61747369 069C 00737574 06A0 74726150 06A8 string "Partial Content\X00" 206C6169 06AC 746E6F43 06B0 00746E65 06B4 65736552 06C0 string "Reset Content\X00" 6F432074 06C4 6E65746E 06C8 0074 06CC 43206F4E 06D0 string "No Content\X00" 65746E6F 06D4 00746E 06D8 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 329 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 2D6E6F4E 06E0 string "Non-authoritative\X00" 68747561 06E4 7469726F 06E8 76697461 06EC 0065 06F0 65636341 06F8 string "Accepted\X00" 64657470 06FC 00 0700 61657243 0708 string "Created\X00" 00646574 070C 004B4F 0718 string "OK\X00" 5252452A 0720 string "*ERROR*\X00" 002A524F 0724 30256325 0730 string "%c%02.02d%02.02d\X00" 32302E32 0734 32302564 0738 6432302E 073C 00 0740 30256325 0748 string "%c%02.02d:%02.02d\X00" 32302E32 074C 30253A64 0750 32302E32 0754 0064 0758 24535953 0760 string "SYS$TIMEZONE_DIFFERENTIAL\X00" 454D4954 0764 454E4F5A 0768 4649445F 076C 45524546 0770 4149544E 0774 004C 0778 002D 0780 string "-\X00" 002B 0788 string "+\X00" 50545448 0790 string "HTTPD$GMT\X00" 4D472444 0794 0054 0798 44534157 07A0 string "WASD_GMT\X00" 544D475F 07A4 00 07A8 44534157 07B0 string "WASD_UTC\X00" 4354555F 07B4 00 07B8 006425 07C0 string "%d\X00" 00643225 07C8 string "%2d\X00" Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 330 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 00643425 07D0 string "%4d\X00" 00544D47 07D8 string "GMT\X00" 2F5A4121 07E0 string "!AZ/\X00" 00 07E4 6820613C 07E8 string "!AZ\X00" 3D666572 07EC 69616D22 07F0 3A6F746C 07F4 225A4121 07F8 5A41213E 07FC 3E612F3C 0800 00 0804 3C206425 0808 string "%d <- %d -> %d\X0A\X00" 6425202D 080C 203E2D20 0810 000A6425 0814 7473694C 0820 string "ListCheck() %d %d %d %d\X0A\X00" 63656843 0824 2029286B 0828 25206425 082C 64252064 0830 0A642520 0834 00 0838 .psect $LINK$, CON, LCL, NOSHR, NOEXE, NOWRT, NOVEC, NOSHORT 0000000000000020 0000 data8 L$460-0000000000005E60 0000000000000030 0008 data8 L$461-0000000000005E60 0000000000000040 0010 data8 L$462-0000000000005E60 0000000000000050 0018 data8 L$463-0000000000005E60 0000000000000060 0020 data8 L$464-0000000000005E60 0000000000000070 0028 data8 L$465-0000000000005E60 0000000000000080 0030 data8 L$466-0000000000005E60 0000000000000090 0038 data8 L$467-0000000000005E60 00000000000000A0 0040 data8 L$468-0000000000005E60 00000000000000B0 0048 data8 L$469-0000000000005E60 00000000000000C0 0050 data8 L$470-0000000000005E60 00000000000000D0 0058 data8 L$471-0000000000005E60 00000000000000E0 0060 data8 L$472-0000000000005E60 00000000000000F0 0068 data8 L$473-0000000000005E60 0000000000000100 0070 data8 L$474-0000000000005E60 0000000000000110 0078 data8 L$475-0000000000005E60 0000000000000120 0080 data8 L$476-0000000000005E60 0000000000000130 0088 data8 L$477-0000000000005E60 00000000000003C0 0090 data8 L$454-0000000000005E60 00000000000003C0 0098 data8 L$454-0000000000005E60 00000000000003C0 00A0 data8 L$454-0000000000005E60 0000000000000140 00A8 data8 L$478-0000000000005E60 0000000000000160 00B0 data8 L$479-0000000000005E60 0000000000000180 00B8 data8 L$480-0000000000005E60 0000000000000020 00C0 data8 L$445-0000000000005D40 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 331 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0000000000000030 00C8 data8 L$446-0000000000005D40 0000000000000040 00D0 data8 L$447-0000000000005D40 0000000000000050 00D8 data8 L$448-0000000000005D40 0000000000000060 00E0 data8 L$449-0000000000005D40 0000000000000070 00E8 data8 L$450-0000000000005D40 0000000000000080 00F0 data8 L$451-0000000000005D40 00000000000000A0 00F8 data8 L$452-0000000000005D40 0000000000000020 0100 data8 L$495-0000000000006120 0000000000000030 0108 data8 L$496-0000000000006120 0000000000000040 0110 data8 L$497-0000000000006120 0000000000000050 0118 data8 L$498-0000000000006120 0000000000000060 0120 data8 L$499-0000000000006120 0000000000000070 0128 data8 L$500-0000000000006120 0000000000000080 0130 data8 L$501-0000000000006120 0000000000000090 0138 data8 L$502-0000000000006120 0000000000000020 0140 data8 L$484-0000000000006040 0000000000000030 0148 data8 L$485-0000000000006040 0000000000000040 0150 data8 L$486-0000000000006040 0000000000000050 0158 data8 L$487-0000000000006040 0000000000000060 0160 data8 L$488-0000000000006040 0000000000000070 0168 data8 L$489-0000000000006040 0000000000000020 0170 data8 L$521-0000000000005550 0000000000000040 0178 data8 L$522-0000000000005550 0000000000000060 0180 data8 L$523-0000000000005550 0000000000000080 0188 data8 L$524-0000000000005550 00000000000000A0 0190 data8 L$525-0000000000005550 00000000000000C0 0198 data8 L$526-0000000000005550 00000000000000E0 01A0 data8 L$527-0000000000005550 0000000000000100 01A8 data8 L$528-0000000000005550 0000000000000020 01B0 data8 L$536-00000000000056D0 0000000000000040 01B8 data8 L$537-00000000000056D0 0000000000000060 01C0 data8 L$538-00000000000056D0 0000000000000080 01C8 data8 L$539-00000000000056D0 00000000000000A0 01D0 data8 L$540-00000000000056D0 00000000000000C0 01D8 data8 L$541-00000000000056D0 00000000000000E0 01E0 data8 L$542-00000000000056D0 0000000000000100 01E8 data8 L$543-00000000000056D0 0000000000000020 01F0 data8 L$547-0000000000005830 0000000000000040 01F8 data8 L$548-0000000000005830 0000000000000060 0200 data8 L$549-0000000000005830 0000000000000080 0208 data8 L$550-0000000000005830 00000000000000A0 0210 data8 L$551-0000000000005830 00000000000000C0 0218 data8 L$552-0000000000005830 00000000000000E0 0220 data8 L$553-0000000000005830 0000000000000100 0228 data8 L$554-0000000000005830 0000000000000120 0230 data8 L$555-0000000000005830 0000000000000140 0238 data8 L$556-0000000000005830 0000000000000160 0240 data8 L$557-0000000000005830 0000000000000180 0248 data8 L$558-0000000000005830 00000000000001A0 0250 data8 L$559-0000000000005830 00000000000001C0 0258 data8 L$560-0000000000005830 00000000000001E0 0260 data8 L$561-0000000000005830 0000000000000200 0268 data8 L$562-0000000000005830 0000000000000220 0270 data8 L$563-0000000000005830 0000000000000240 0278 data8 L$564-0000000000005830 0000000000000260 0280 data8 L$565-0000000000005830 0000000000000450 0288 data8 L$530-0000000000005830 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 332 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0000000000000450 0290 data8 L$530-0000000000005830 0000000000000280 0298 data8 L$566-0000000000005830 00000000000002A0 02A0 data8 L$567-0000000000005830 00000000000002C0 02A8 data8 L$568-0000000000005830 00000000000002E0 02B0 data8 L$569-0000000000005830 0000000000000450 02B8 data8 L$530-0000000000005830 0000000000000300 02C0 data8 L$570-0000000000005830 0000000000000450 02C8 data8 L$530-0000000000005830 0000000000000450 02D0 data8 L$530-0000000000005830 0000000000000450 02D8 data8 L$530-0000000000005830 0000000000000450 02E0 data8 L$530-0000000000005830 0000000000000450 02E8 data8 L$530-0000000000005830 0000000000000450 02F0 data8 L$530-0000000000005830 0000000000000450 02F8 data8 L$530-0000000000005830 0000000000000450 0300 data8 L$530-0000000000005830 0000000000000450 0308 data8 L$530-0000000000005830 0000000000000450 0310 data8 L$530-0000000000005830 0000000000000450 0318 data8 L$530-0000000000005830 0000000000000450 0320 data8 L$530-0000000000005830 0000000000000450 0328 data8 L$530-0000000000005830 0000000000000450 0330 data8 L$530-0000000000005830 0000000000000450 0338 data8 L$530-0000000000005830 0000000000000450 0340 data8 L$530-0000000000005830 0000000000000450 0348 data8 L$530-0000000000005830 0000000000000450 0350 data8 L$530-0000000000005830 0000000000000450 0358 data8 L$530-0000000000005830 0000000000000450 0360 data8 L$530-0000000000005830 0000000000000450 0368 data8 L$530-0000000000005830 0000000000000450 0370 data8 L$530-0000000000005830 0000000000000450 0378 data8 L$530-0000000000005830 0000000000000450 0380 data8 L$530-0000000000005830 0000000000000450 0388 data8 L$530-0000000000005830 0000000000000450 0390 data8 L$530-0000000000005830 0000000000000450 0398 data8 L$530-0000000000005830 0000000000000450 03A0 data8 L$530-0000000000005830 0000000000000450 03A8 data8 L$530-0000000000005830 0000000000000450 03B0 data8 L$530-0000000000005830 0000000000000450 03B8 data8 L$530-0000000000005830 0000000000000450 03C0 data8 L$530-0000000000005830 0000000000000450 03C8 data8 L$530-0000000000005830 0000000000000450 03D0 data8 L$530-0000000000005830 0000000000000450 03D8 data8 L$530-0000000000005830 0000000000000450 03E0 data8 L$530-0000000000005830 0000000000000450 03E8 data8 L$530-0000000000005830 0000000000000450 03F0 data8 L$530-0000000000005830 0000000000000450 03F8 data8 L$530-0000000000005830 0000000000000450 0400 data8 L$530-0000000000005830 0000000000000450 0408 data8 L$530-0000000000005830 0000000000000450 0410 data8 L$530-0000000000005830 0000000000000450 0418 data8 L$530-0000000000005830 0000000000000450 0420 data8 L$530-0000000000005830 0000000000000450 0428 data8 L$530-0000000000005830 0000000000000450 0430 data8 L$530-0000000000005830 0000000000000450 0438 data8 L$530-0000000000005830 0000000000000450 0440 data8 L$530-0000000000005830 0000000000000450 0448 data8 L$530-0000000000005830 0000000000000450 0450 data8 L$530-0000000000005830 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 333 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0000000000000450 0458 data8 L$530-0000000000005830 0000000000000450 0460 data8 L$530-0000000000005830 0000000000000450 0468 data8 L$530-0000000000005830 0000000000000450 0470 data8 L$530-0000000000005830 0000000000000450 0478 data8 L$530-0000000000005830 0000000000000450 0480 data8 L$530-0000000000005830 0000000000000450 0488 data8 L$530-0000000000005830 0000000000000450 0490 data8 L$530-0000000000005830 0000000000000450 0498 data8 L$530-0000000000005830 0000000000000450 04A0 data8 L$530-0000000000005830 0000000000000450 04A8 data8 L$530-0000000000005830 0000000000000450 04B0 data8 L$530-0000000000005830 0000000000000450 04B8 data8 L$530-0000000000005830 0000000000000450 04C0 data8 L$530-0000000000005830 0000000000000450 04C8 data8 L$530-0000000000005830 0000000000000450 04D0 data8 L$530-0000000000005830 0000000000000450 04D8 data8 L$530-0000000000005830 0000000000000450 04E0 data8 L$530-0000000000005830 0000000000000450 04E8 data8 L$530-0000000000005830 0000000000000450 04F0 data8 L$530-0000000000005830 0000000000000450 04F8 data8 L$530-0000000000005830 0000000000000450 0500 data8 L$530-0000000000005830 0000000000000450 0508 data8 L$530-0000000000005830 0000000000000320 0510 data8 L$571-0000000000005830 0000000000000340 0518 data8 L$572-0000000000005830 0000000000000360 0520 data8 L$573-0000000000005830 0000000000000380 0528 data8 L$574-0000000000005830 00000000000003A0 0530 data8 L$575-0000000000005830 00000000000003C0 0538 data8 L$576-0000000000005830 0000000000000450 0540 data8 L$530-0000000000005830 00000000000003E0 0548 data8 L$577-0000000000005830 .psect .sdata, CON, LCL, NOSHR, NOEXE, WRT, NOVEC, SHORT 0000001E 0000 LibDeltaSecs: data4 0x1E // data4 30 0000001E 0004 LibDeltaSecs: data4 0x1E // data4 30 NameDsc: 00 0008 data1 0x00 00 0009 data1 0x00 0E 000A data1 0x0E 01 000B data1 0x01 00000000 000C data4 _SIG_EMPTY_SET+320 ValueDsc: 00 0010 data1 0x00 00 0011 data1 0x00 0E 0012 data1 0x0E 01 0013 data1 0x01 00000000 0014 data4 _SIG_EMPTY_SET+328 00000002 0018 GlobalSymbol: data4 0x2 // data4 2 LnmTableDsc: 0C 0020 data1 0x0C 00 0021 data1 0x00 0E 0022 data1 0x0E 01 0023 data1 0x01 00000000 0024 data4 _SIG_EMPTY_SET+656 LogNameDsc: 00 0028 data1 0x00 00 0029 data1 0x00 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 334 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 0E 002A data1 0x0E 01 002B data1 0x01 00000000 002C data4 _SIG_EMPTY_SET+312 NameAddressFaoDsc: 0A 0030 data1 0x0A 00 0031 data1 0x00 0E 0032 data1 0x0E 01 0033 data1 0x01 00000000 0034 data4 _SIG_EMPTY_SET+640 AddressFaoDsc: 04 0038 data1 0x04 00 0039 data1 0x00 0E 003A data1 0x0E 01 003B data1 0x01 00000000 003C data4 _SIG_EMPTY_SET+304 00000000 0040 Pid: data4 0x0 // data4 0 0000000A 0044 LibDayOfWeek: data4 0xA // data4 10 00000002 0048 LibDayOfYear: data4 0x2 // data4 2 TimeFaoDsc: 06 0050 data1 0x06 00 0051 data1 0x00 0E 0052 data1 0x0E 01 0053 data1 0x01 00000000 0054 data4 _SIG_EMPTY_SET+296 TimeBufDsc: 1F 0058 data1 0x1F 00 0059 data1 0x00 0E 005A data1 0x0E 01 005B data1 0x01 00000000 005C data4 TimeBuf AgoFaoDsc: 07 0060 data1 0x07 00 0061 data1 0x00 0E 0062 data1 0x0E 01 0063 data1 0x01 00000000 0064 data4 _SIG_EMPTY_SET+280 AgoBufDsc: 00 0068 data1 0x00 00 0069 data1 0x00 0E 006A data1 0x0E 01 006B data1 0x01 00000000 006C data4 _SIG_EMPTY_SET+288 00000019 0070 LibDeltaSecs: data4 0x19 // data4 25 DateFaoDsc: 06 0078 data1 0x06 00 0079 data1 0x00 0E 007A data1 0x0E 01 007B data1 0x01 00000000 007C data4 _SIG_EMPTY_SET+256 TimeDsc: 00 0080 data1 0x00 00 0081 data1 0x00 0E 0082 data1 0x0E 01 0083 data1 0x01 00000000 0084 data4 _SIG_EMPTY_SET+272 TimeFaoDsc: 05 0088 data1 0x05 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 335 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 00 0089 data1 0x00 0E 008A data1 0x0E 01 008B data1 0x01 00000000 008C data4 _SIG_EMPTY_SET+264 TimeFaoDsc: 14 0090 data1 0x14 00 0091 data1 0x00 0E 0092 data1 0x0E 01 0093 data1 0x01 00000000 0094 data4 _SIG_EMPTY_SET+616 TimeStringDsc: 0F 0098 data1 0x0F 00 0099 data1 0x00 0E 009A data1 0x0E 01 009B data1 0x01 00000000 009C data4 TimeString UtcTimeFaoDsc: 24 00A0 data1 0x24 00 00A1 data1 0x00 0E 00A2 data1 0x0E 01 00A3 data1 0x01 00000000 00A4 data4 _SIG_EMPTY_SET+536 TimeStringDsc: 00 00A8 data1 0x00 00 00A9 data1 0x00 0E 00AA data1 0x0E 01 00AB data1 0x01 00000000 00AC data4 _SIG_EMPTY_SET+144 LocalTimeFaoDsc: 26 00B0 data1 0x26 00 00B1 data1 0x00 0E 00B2 data1 0x0E 01 00B3 data1 0x01 00000000 00B4 data4 _SIG_EMPTY_SET+576 HttpTimeFaoDsc: 28 00B8 data1 0x28 00 00B9 data1 0x00 0E 00BA data1 0x0E 01 00BB data1 0x01 00000000 00BC data4 _SIG_EMPTY_SET+488 TimeStringDsc: 00 00C0 data1 0x00 00 00C1 data1 0x00 0E 00C2 data1 0x0E 01 00C3 data1 0x01 00000000 00C4 data4 _SIG_EMPTY_SET+136 HttpTimeFaoDsc: 24 00C8 data1 0x24 00 00C9 data1 0x00 0E 00CA data1 0x0E 01 00CB data1 0x01 00000000 00CC data4 _SIG_EMPTY_SET+448 TimeStringDsc: 00 00D0 data1 0x00 00 00D1 data1 0x00 0E 00D2 data1 0x0E 01 00D3 data1 0x01 Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 336 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 00000000 00D4 data4 _SIG_EMPTY_SET+128 .psect $DATA$, CON, LCL, NOSHR, NOEXE, WRT, NOVEC, NOSHORT LnmItems: 04 0000 data1 0x04 00 0001 data1 0x00 03 0002 data1 0x03 00 0003 data1 0x00 00000000 0004 data4 LnmAttributes 00 0008 data1 0x00 00 0009 data1 0x00 00 000A data1 0x00 00 000B data1 0x00 FF 000C data1 0xFF 00 000D data1 0x00 02 000E data1 0x02 00 000F data1 0x00 00000000 0010 data4 LogValue 00000000 0014 data4 ValueLength 00 0018 .repeat 12 data1 0x00 .endr HexDigit: 33323130 0028 string "0123456789ABCDEF" 37363534 002C 42413938 0030 46454443 0034 00 0038 data1 0x00 JpiItems: 04 0040 data1 0x04 00 0041 data1 0x00 1A 0042 data1 0x1A 03 0043 data1 0x03 00000000 0044 data4 JpiBytLm 00 0048 .repeat 16 data1 0x00 .endr MonthName: 00000000 0058 data4 _SIG_EMPTY_SET+152 00000000 005C data4 _SIG_EMPTY_SET+160 00000000 0060 data4 _SIG_EMPTY_SET+168 00000000 0064 data4 _SIG_EMPTY_SET+176 00000000 0068 data4 _SIG_EMPTY_SET+184 00000000 006C data4 _SIG_EMPTY_SET+192 00000000 0070 data4 _SIG_EMPTY_SET+200 00000000 0074 data4 _SIG_EMPTY_SET+208 00000000 0078 data4 _SIG_EMPTY_SET+216 00000000 007C data4 _SIG_EMPTY_SET+224 00000000 0080 data4 _SIG_EMPTY_SET+232 00000000 0084 data4 _SIG_EMPTY_SET+240 00000000 0088 data4 _SIG_EMPTY_SET+248 .section .data .type SYS$DCLAST, @function .global SYS$DCLAST .section .data .type SYS$CANEXH, @function Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 337 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 .global SYS$CANEXH .section .data .type SYS$EXIT, @function .global SYS$EXIT .section .data .type ErrorExitVmsStatus, @function .global ErrorExitVmsStatus .global DECC$GA_STDOUT .section .data .type DECC$TXFPRINTF, @function .global DECC$TXFPRINTF .global Config .global ServerPort .global ServerHostName .section .data .type FaoToBuffer, @function .global FaoToBuffer .section .data .type ErrorNoticed, @function .global ErrorNoticed .global CliSoftwareID .section .data .type MsgFor, @function .global MsgFor .section .data .type strsame, @function .global strsame .global SoftwareID .global ErrorSanityCheck .global HttpdVersion .global HttpdName .section .data .type SYS$GETTIM, @function .global SYS$GETTIM .section .data .type SYS$NUMTIM, @function .global SYS$NUMTIM .section .data .type LIB$DAY_OF_WEEK, @function .global LIB$DAY_OF_WEEK .section .data .type SYS$FAO, @function .global SYS$FAO .global DECC$$GL___CTYPEA .global DECC$$GA___CTYPET .section .data .type DECC$ISDIGIT, @function .global DECC$ISDIGIT .section .data .type DECC$ATOI, @function .global DECC$ATOI .section .data .type DECC$ISALPHA, @function .global DECC$ISALPHA .section .data .type LIB$CVT_VECTIM, @function .global LIB$CVT_VECTIM Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 338 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 .section .data .type DECC$TXSSCANF, @function .global DECC$TXSSCANF .section .data .type OTS$ZERO, @function .global OTS$ZERO .section .data .type SYS$TRNLNM, @function .global SYS$TRNLNM .section .data .type SYS$GETUTC, @function .global SYS$GETUTC .section .data .type SYS$NUMUTC, @function .global SYS$NUMUTC .section .data .type DECC$TXSPRINTF, @function .global DECC$TXSPRINTF .section .data .type ResponseHeader, @function .global ResponseHeader .section .data .type FaolSAK, @function .global FaolSAK .section .data .type VmGetHeap, @function .global VmGetHeap .section .data .type OTS$MOVE, @function .global OTS$MOVE .section .data .type LIB$MULTS_DELTA_TIME, @function .global LIB$MULTS_DELTA_TIME .section .data .type DECC$STRNCPY, @function .global DECC$STRNCPY .section .data .type strzcpy, @function .global strzcpy .section .data .type LIB$CVT_FROM_INTERNAL_TIME, @function .global LIB$CVT_FROM_INTERNAL_TIME .global EfnWait .section .data .type SYS$GETJPIW, @function .global SYS$GETJPIW .section .data .type DECC$STRCMP, @function .global DECC$STRCMP .section .data .type DECC$ISALNUM, @function .global DECC$ISALNUM .section .data .type DECC$STRLEN, @function .global DECC$STRLEN .global HttpdProcess .section .data Machine Code Listing 20-OCT-2025 03:55:02 VSI C V7.4-001-50L7J Page 339 ipow 29-JAN-2025 11:15:57 WASD_ROOT:[src.httpd]support.c;1 .type Md5HexString, @function .global Md5HexString .section .data .type LIB$SET_SYMBOL, @function .global LIB$SET_SYMBOL .section .data .type LIB$CVTS_FROM_INTERNAL_TIME, @function .global LIB$CVTS_FROM_INTERNAL_TIME Command Line ------- ---- CC/DECC/STAND=RELAXED_ANSI/PREFIX=ALL/NAMES=AS_IS/OPTIMIZE=(INLINE=AUTO,LEVEL=4 ,UNROLL=0,TUNE=HOST)/LIST/MACHINE/NODEBUG/WARNING=(NOINFORM,DISABLE=(PREOPTW))/ FLOAT=IEEE/IEEE=DENORM/DEFINE=(WASD_VMS_V0,SESOLA,WATCH_CAT=1,WATCH_MOD=0,WASD_ ACME=1,WASD_GETSPI=1)/OBJ=[.obj_IA64]Support Support.c Hardware: /ARCHITECTURE=GENERIC /OPTIMIZE=TUNE=GENERIC These macros are in effect at the start of the compilation. ----- ------ --- -- ------ -- --- ----- -- --- ------------ WASD_VMS_V0=1 __G_FLOAT=0 __DECC=1 vms=1 VMS=1 __32BITS=1 __PRAGMA_ENVIRONMENT=1 WATCH_CAT=1 __ia64__=1 __CRTL_VER=80500000 __vms_version="V8.4-2L3" CC$gfloat=0 __X_FLOAT=1 WASD_GETSPI=1 vms_version="V8.4-2L3" __DATE__="Oct 20 2025" __STDC_VERSION__=199901L __DECC_MODE_RELAXED=1 __DECC_VER=70490001 __VMS=1 WASD_ACME=1 VMS_VERSION="V8.4-2L3" __IEEE_FLOAT=1 __VMS_VERSION="V8.4-2L3" SESOLA=1 __TIME__="03:55:02" __ia64=1 __VMS_VER=80421222 __BIASED_FLT_ROUNDS=2 __INITIAL_POINTER_SIZE=0 WATCH_MOD=0 __STDC__=2 _IEEE_FP=1 __LANGUAGE_C__=1 __vms=1 __D_FLOAT=0