This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---1599652224-140653023-971451693=:21338 Content-Type: TEXT/PLAIN; charset=US-ASCII On Fri, 13 Oct 2000, -=jugs=- wrote: > If so, I have a PIC C Compiler demo but my problem is that I don't know how > to start with because this is the first time I'm going to use C for > embedded. Actually, I know to program turbo C/C++ in a PC. In terms of > Embedded C there is a different from Turbo C especially in handling standard > input/output. > > With this, Is there anybody can share a sample program of PIC C (for 16F84) > with comments so that I can understand more on programming approach of PIC. Hi Ian, This isn't a well written program, but it uses a 16C71(very much like the 16F84 except it has A/D converters) and it turns things on and off and reads a pushbutton and also outputs "rs232". To all the good C programmers out there - sorry, I'm an EE :-) Also sorry if it isn't commented too well, and also there is stuff in there(like the thermistor lookup table) that I never used so it's commented out. It's basically a quick nicad battery charger that also conditions batteries if you choose, and stops charging when the battery temperature gets 7.5 degrees(C) warmer than ambient temperature. It does not use interrupts but reads the T0IF to set the loop time. I'll put the schematic on my web pages if anyone's interested. Cheerful regards, Bob ---1599652224-140653023-971451693=:21338 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="nicad04.c" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="nicad04.c" I2luY2x1ZGUJPHBpYy5oPg0NCl9fQ09ORklHKEZPU0MwIHwgRk9TQzEgfCAw eDEwIHwgUFdSVEUpOwkvL1JDIG9zY2lsbGF0b3IsIG5vIFdEVCwgcG93ZXJ1 cCB0aW1lciBlbmFibGVkDQ0KLyoNDQoJbmljYWQwNC5jIFNlcHRlbWJlciAy OSwgMjAwMA0NCgl1c2VzIGEgMTZDNzEgdG8gY2hhcmdlIGFuZCBjb25kaXRp b24gNCAtY2VsbCBuaWNhZCBiYXR0ZXJpZXMNDQoJZm9yIFRla3Ryb25peCBU SFM3MjAgb3NjaWxsb3Njb3BlDQ0KCTk2MDAgYmF1ZCBvdXQgb24gUkI0LCB1 c2UgaW52ZXJ0aW5nIGJ1ZmZlcg0NCiAqLw0NCi8qICAgICAgIHRoZSBwaW5z DQ0KCQkJCVJBNAlSQTMJUkEyCVJBMQlSQTANDQoJCQkJY2hnb3V0CXRiYXQJ dGFtYgl2YmF0CXh4eA0NCg0NCg0NCglSQjcJUkI2CVJCNQlSQjQJUkIzCVJC MglSQjEJUkIwDQ0KCWRpczQ1MAlkaXMyMDAJYnV0dG9uCXR4ZGF0YQlkaXNs ZWQJY2hnbGVkCWRvbmVsZWQJdG91dA0NCiAqLw0NCi8vY29uc3RhbnRzDQ0K I2RlZmluZQlFVkVSCTs7DQ0KI2RlZmluZQlYVEFMCTM4NzIwMDAJCS8vbm90 IHJlYWxseSBhIGNyeXN0YWwsIFJDIG9zYyAyLjJLICsgNDdwZg0NCiNkZWZp bmUgQlJBVEUJOTYwMA0NCiNkZWZpbmUJRExZCTMNDQojZGVmaW5lCVRYX09I RUFECTEzDQ0KI2RlZmluZQlERUxBWShvaGVhZCkgKCgoWFRBTC80L0JSQVRF KS0ob2hlYWQpKS9ETFkpDQ0KLy8jZGVmaW5lIENIMFNBTVBMRQkweDQxDQ0K I2RlZmluZSBDSDFTQU1QTEUJMHg0OQ0NCiNkZWZpbmUgQ0gyU0FNUExFCTB4 NTENDQojZGVmaW5lIENIM1NBTVBMRQkweDU5DQ0KI2RlZmluZSBWQkFUU0FN UExFCUNIMVNBTVBMRQ0NCiNkZWZpbmUgVEFNQlNBTVBMRQlDSDJTQU1QTEUN DQojZGVmaW5lCVRCQVRTQU1QTEUJQ0gzU0FNUExFDQ0KI2RlZmluZSBDUgkw eDBEDQ0KI2RlZmluZSBMRgkweDBBDQ0KI2RlZmluZSBTUEFDRQkweDIwDQ0K I2RlZmluZSBTRVRUTEUJNwkvL3NldHRsaW5nIHRpbWUgZm9yIHNhbXBsaW5n IG11bHRpcGxleGVyLCBuZWVkIDE2IHVzZWMgbWluDQ0KI2RlZmluZSBESVNI RUFWWVZPTFQJMHg2NwkvL2Fib3V0IDQgdm9sdHMNDQojZGVmaW5lIERJU01F RFZPTFQJMHg2NQ0NCiNkZWZpbmUgRElTTElHSFRWT0xUCTB4NjQNDQojZGVm aW5lIFZQUE1BWAkweDMwCS8vbWF4aW11bSByaXBwbGUgdm9sdGFnZSB0byBh bGxvdyBkdXJpbmcgY2hhcmdlDQ0KI2RlZmluZSBUQkFUTUFYCTB4NjQJLy9t YXhpbXVtIGFsbG93YWJsZSBiYXR0ZXJ5IHRlbXBlcmF0dXJlDQ0KI2RlZmlu ZSBUUFBNQVgJMHgxNAkvL3RlbXBlcmF0dXJlIGRpZmZlcmVudGlhbCB3aGVu ICJkb25lIiwgYWJvdXQgNy41IGRlZ3JlZXMgQw0NCiNkZWZpbmUgVElDS1NF Q09ORAkxNAkvLzE1IHRpY2tzIG1ha2VzIGEgc2Vjb25kDQ0KI2RlZmluZSBW UFBERUxBWVZBTAkyOQ0NCiNkZWZpbmUgU0VUREVMQVlWQUwJMjkNDQojZGVm aW5lCVNFVElETEUJCTB4MDANDQojZGVmaW5lIFNFVERJUwkJMHgwMQ0NCiNk ZWZpbmUJU0VUQ0hHCQkweDAyDQ0KI2RlZmluZQlTRVRUUklDS0xFCTB4MDQN DQojZGVmaW5lIExFRERJUwkJMHgwOA0NCiNkZWZpbmUgTEVEQ0hHCQkweDA0 DQ0KI2RlZmluZSBMRURUUklDS0xFCTB4MDINDQojZGVmaW5lIE1PREVJRExF CTB4MDANDQojZGVmaW5lIE1PREVESVNIRUFWWQkweDAxDQ0KI2RlZmluZSBN T0RFRElTTUVECTB4MDINDQojZGVmaW5lIE1PREVESVNMSUdIVAkweDAzDQ0K I2RlZmluZSBNT0RFQ0hHCQkweDA0DQ0KI2RlZmluZSBNT0RFVFJJQ0tMRQkw eDA1DQ0KDQ0KLy9wb3J0IHBpbnMNDQojZGVmaW5lIFR4RGF0YQlSQjQNDQoj ZGVmaW5lIEJ1dHRvbglSQjUNDQojZGVmaW5lIENoZ291dAlSQTQNDQojZGVm aW5lCURpczQ1MAlSQjcNDQojZGVmaW5lIERpczIwMAlSQjYNDQoNDQovL3Zh cmlhYmxlcw0NCnVuc2lnbmVkIGNoYXIJYW5hbG9nMTsJLy90aGUgYmF0dGVy eSB2b2x0YWdlDQ0KdW5zaWduZWQgY2hhcgl0YW1iOwkJLy90aGUgYW1iaWVu dCB0ZW1wZXJhdHVyZShpbnZlcnRlZCkNDQp1bnNpZ25lZCBjaGFyCXRiYXQ7 CQkvL3RoZSBiYXR0ZXJ5IHRlbXBlcmF0dXJlKGludmVydGVkKQ0NCnVuc2ln bmVkIGNoYXIJdGljazsJCS8vdGhpcyBnZXRzIGRlY3JlbWVudGVkIDE1IHRp bWVzIGEgc2Vjb25kDQ0KdW5zaWduZWQgY2hhcglzZXR0aW5nOwkvL3RoZSBm cm9udCBwYW5lbCBzZXR0aW5ncyBjaG9zZW4gYnkgdXNlcg0NCnVuc2lnbmVk IGNoYXIJbW9kZTsJCS8vdGhlIGN1cnJlbnQgbW9kZQ0NCnVuc2lnbmVkIGNo YXIJdm1pbjsJCS8vbWluaW11bSB2b2x0YWdlIGluIDEvMTUgc2Vjb25kDQ0K dW5zaWduZWQgY2hhcgl2bWF4OwkJLy9tYXhpbXVtIHZvbHRhZ2UgaW4gMS8x NSBzZWNvbmQNDQp1bnNpZ25lZCBjaGFyCXNldGRlbGF5OwkvL2FmdGVyIHNl dHRpbmcsIGRlbGF5IGJlZm9yZSBjaGFuZ2luZyBtb2RlDQ0KdW5zaWduZWQg Y2hhcgl2cHBkZWxheTsJLy9vY2Nhc2lvbmFsIGV4dHJlbWUgcGVhay1wZWFr IHZvbHRhZ2UgaWdub3JlZA0NCg0NCmJpdAlvbGRidXR0b247DQ0KYml0CW5l d2J1dHRvbjsNDQoNDQovL3Byb3RvdHlwZXMNDQp2b2lkIHB1dGNoKGNoYXIg Yyk7CQkvL2NoYXJhY3RlciBvdXRwdXR0ZWQgdG8gc2VyaWFsIHBvcnQNDQp2 b2lkIFNlcm91dEhleCh1bnNpZ25lZCBjaGFyKTsJLy9vdXRwdXRzIGEgaGV4 IGRpZ2l0IGFzIGFzY2lpIHRvIHNlcmlhbCBwb3J0DQ0Kdm9pZCBNc0RlbGF5 KHVuc2lnbmVkIGNoYXIgayk7CS8vbWlsbGlzZWNvbmQgZGVsYXlzIChvbmx5 IHdpdGggNCBtaHogY3J5c3RhbCkNDQoNDQovL3RhYmxlcw0NCi8vY29uc3Qg Y2hhciBUX3RibFtdID0gewkyMTYsMjA4LDE5OSwxOTAsMTgwLDE3MCwxNTks MTQ4LDEzNywxMjYsMTE2LDEwNiw5Niw4Nyw3OSw3MSB9Ow0NCi8vdGVtcCBs b29rdXAgZGVnIEMJMCAgIDUgICAxMCAgMTUgIDIwICAyNSAgMzAgIDM1ICA0 MCAgNDUgIDUwICA1NSAgNjAgNjUgNzAgNzUNDQovLwkJMTBrIHRoZXJtaXN0 b3Igd2l0aCB+NWsgcHVsbHVwIHJlc2lzdG9yDQ0KLy9JIGRvbid0IGNvbXBs ZXRlbHkgdHJ1c3QgdGhhdCBlYXJseSBjYWxjdWxhdGlvbiBJIG1hZGUuIFRo ZSBQYW5hc29uaWMgdGhlcm1pc3Rvcg0NCi8vaXMgLTQuNiUgcGVyIGRlZ3Jl ZSBDLCBzbyB0aGF0IHdvdWxkIG1ha2U6DQ0KLy83OTg2IG9obSBAIDMwIGRl Z3JlZXMNDQovLzYzNzggb2htIEAgMzUNDQovLzUwOTQgQCA0MA0NCi8vNDA2 OCBAIDQ1DQ0KLy8zMjQ5IEAgNTANDQovL3NvIDQxIGRlZ3JlZXMgd2l0aCBh IDQuN2sgcHVsbHVwIHJlc2lzdG9yIHdvdWxkIGJlIDEyOCBmcm9tIHRoZSBB L0QgY29udmVydGVyDQ0KLy9wZXJoYXBzIHRoYXQgdGFibGUgd2FzIHVzaW5n IGEgbW9yZSB0eXBpY2FsIC0zLjg3JSB0aGVybWlzdG9yLiBJIHRoaW5rIHNv DQ0KLy93aXRoIHRoZSBQYW5hc29uaWMgSSBnZXQgYWJvdXQgMTQgQS9EIGNv dW50cyBwZXIgNSBkZWdyZWVzDQ0KY29uc3QgY2hhciBIZXhfdGJsW10gPSB7 CTQ4LDQ5LDUwLDUxLDUyLDUzLDU0LDU1LDU2LDU3LDY1LDY2LDY3LDY4LDY5 LDcwCX07Ly9oZXggbG9va3VwDQ0KDQ0KDQ0KLy9zdGFydCBoZXJlDQ0Kdm9p ZCBtYWluKHZvaWQpDQ0Kew0NCi8vIHNldHVwIHN0dWZmDQ0KT1BUSU9OPTB4 RDc7CS8vMTEwMSAwMTExIG5vIHBvcnRCIHB1bGx1cCx0bXIwIGNsayAvIDI1 Ng0NClBPUlRBPTB4MTA7CS8vMDAwMSAwMDAwIGNoZ291dCBoaWdoKG9mZikg b3RoZXJzIGFuYWxvZyBpbiBvciBkb24ndCBjYXJlDQ0KVFJJU0E9MHgwRjsJ Ly8wMDAwIDExMTAgdG9wIDMgbm9uZXhpc3RlbnQsIFJBNCBpcyBPRCBvdXRw dXQsIFJBMywyLDEgYW5hbG9nIGlucHV0cyBSQTAgbm8gY29ubmVjdChvdXQp DQ0KUE9SVEI9MHgwRTsJLy8wMDAwIDExMTAgTEVEcyBhcmUgb2ZmIHdoZW4g aGlnaA0NClRSSVNCPTB4MjA7CS8vMDAxMCAwMDAwIGJ1dHRvbihSQjUpIGlz IG9ubHkgaW5wdXQNDQpBRENPTjEgPSAwOwkvL2VuYWJsZWQNDQpBRENPTjAg PSAweDQxOwkvLzAxMDAgMDAwMSBUb3NjID0gLzgsIDIgdXNlYyB3aXRoIDQg bWh6IGNsb2NrDQ0KdGljayA9IFRJQ0tTRUNPTkQ7DQ0Kc2V0dGluZyA9IFNF VElETEU7DQ0KbW9kZSA9IE1PREVJRExFOw0NCm9sZGJ1dHRvbiA9IDA7DQ0K c2V0ZGVsYXkgPSAwOw0NCnZwcGRlbGF5ID0gVlBQREVMQVlWQUw7DQ0KUkIw ID0gMTsJCS8vdHVybiBvbiB0aGVybWlzdG9ycw0NCg0NCk1zRGVsYXkoMjUw KTsJLy9kbyBzb21lIHN0YXJ0dXAgZGVsYXkgaGVyZQ0NCg0NCmZvcihFVkVS KQ0NCnsNDQoJdW5zaWduZWQgY2hhciBpOw0NCglBREdPID0gMTsNDQoJLy9I QVZFIFRJTUUgSEVSRSBGT1IgU09NRVRISU5HDQ0KCXdoaWxlIChBREdPID09 IDEpOw0NCglhbmFsb2cxID0gQURSRVM7DQ0KCWlmKGFuYWxvZzEgPiB2bWF4 KQ0NCgkJdm1heCA9IGFuYWxvZzE7DQ0KCWlmKGFuYWxvZzEgPCB2bWluKQ0N CgkJdm1pbiA9IGFuYWxvZzE7DQ0KCWlmIChUMElGKQkvL3RpbWVyIHJvbGxv dmVyIGFib3V0IDE1IHRpbWVzIHBlciBzZWNvbmQNDQoJew0NCgkJVDBJRiA9 IDA7CS8vY2xlYXIgZmxhZw0NCgkJdGljay0tOw0NCgkJaWYoc2V0ZGVsYXkp DQ0KCQkJc2V0ZGVsYXktLTsNDQoJCW5ld2J1dHRvbiA9IDA7DQ0KCQlpZihC dXR0b24gPT0gMSkNDQoJCQluZXdidXR0b24gPSAxOw0NCgkJaWYobmV3YnV0 dG9uID09IDApDQ0KCQl7DQ0KCQkJaWYgKG9sZGJ1dHRvbiA9PSAxKQ0NCgkJ CXsNDQoJCQkJaWYoKG1vZGUgPT0gMCkgJiYgc2V0dGluZykJLy9jbGVhcnMg d2hlbiBwdXNoZWQNDQoJCQkJCXNldHRpbmcgPSAwOwkJLy9hZnRlciBkb25l DQ0KCQkJCWVsc2UNDQoJCQkJCXsNDQoJCQkJCXNldHRpbmcrKzsNDQoJCQkJ CXNldHRpbmcgJj0gNzsNDQoJDQ0KCQkJCQlpZihzZXR0aW5nICYgU0VUVFJJ Q0tMRSkNDQoJCQkJCQltb2RlID0gTU9ERVRSSUNLTEU7DQ0KCQkJCQlpZihz ZXR0aW5nICYgU0VUQ0hHKQ0NCgkJCQkJCW1vZGUgPSBNT0RFQ0hHOw0NCgkJ CQkJaWYoc2V0dGluZyAmIFNFVERJUykNDQoJCQkJCQltb2RlID0gTU9ERURJ U0hFQVZZOw0NCgkJCQl9DQ0KCQkJCXNldGRlbGF5ID0gU0VUREVMQVlWQUw7 DQ0KCQkJfQ0NCgkJCW9sZGJ1dHRvbiA9IDA7DQ0KCQl9DQ0KCQllbHNlDQ0K CQkJb2xkYnV0dG9uID0gMTsNDQoJCWlmKHNldGRlbGF5ID09IDApDQ0KCQl7 DQ0KCQkJaWYodnBwZGVsYXkpDQ0KCQkJCXZwcGRlbGF5LS07DQ0KCQkJaWYo KHZtYXggLSB2bWluKSA8IFZQUE1BWCkNDQoJCQkJdnBwZGVsYXkgPSBWUFBE RUxBWVZBTDsNDQoJCQlzd2l0Y2gobW9kZSkNDQoJCQl7DQ0KCQkJY2FzZShN T0RFRElTSEVBVlkpOg0NCgkJCQlDaGdvdXQgPSAxOwkvLzEgaXMgbm8gY2hh cmdlDQ0KCQkJCURpczQ1MCA9IDE7DQ0KCQkJCURpczIwMCA9IDE7DQ0KCQkJ CWlmKHZtYXggPCBESVNIRUFWWVZPTFQpDQ0KCQkJCXsNDQoJCQkJCW1vZGUg PSBNT0RFRElTTUVEOw0NCgkJCQkJc2V0ZGVsYXkgPSBTRVRERUxBWVZBTDsN DQoJCQkJfQ0NCgkJCQlicmVhazsNDQoJCQljYXNlKE1PREVESVNNRUQpOg0N CgkJCQlDaGdvdXQgPSAxOw0NCgkJCQlEaXM0NTAgPSAxOw0NCgkJCQlEaXMy MDAgPSAwOw0NCgkJCQlpZih2bWF4IDwgRElTTUVEVk9MVCkNDQoJCQkJew0N CgkJCQkJbW9kZSA9IE1PREVESVNMSUdIVDsNDQoJCQkJCXNldGRlbGF5ID0g U0VUREVMQVlWQUw7DQ0KCQkJCX0NDQoJCQkJYnJlYWs7DQ0KCQkJY2FzZShN T0RFRElTTElHSFQpOg0NCgkJCQlDaGdvdXQgPSAxOw0NCgkJCQlEaXM0NTAg PSAwOw0NCgkJCQlEaXMyMDAgPSAxOw0NCgkJCQlpZih2bWF4IDwgRElTTElH SFRWT0xUKQ0NCgkJCQl7DQ0KCQkJCQlpZihzZXR0aW5nICYgU0VUQ0hHKQ0N CgkJCQkJCW1vZGUgPSBNT0RFQ0hHOw0NCgkJCQkJZWxzZSBpZihzZXR0aW5n ICYgU0VUVFJJQ0tMRSkNDQoJCQkJCQltb2RlID0gTU9ERVRSSUNLTEU7DQ0K CQkJCQllbHNlDQ0KCQkJCQkJbW9kZSA9IE1PREVJRExFOw0NCgkJCQkJc2V0 ZGVsYXkgPSBTRVRERUxBWVZBTDsNDQoJCQkJfQ0NCgkJCQlicmVhazsNDQoJ CQljYXNlKE1PREVDSEcpOg0NCgkJCQlEaXM0NTAgPSAwOw0NCgkJCQlEaXMy MDAgPSAwOw0NCgkJCQlDaGdvdXQgPSAwOwkvLzAgaXMgY2hhcmdpbmcNDQoJ CQkJaWYoKHZwcGRlbGF5ID09MCkgfHwgKCh0YmF0IDwgdGFtYikgJiYgKCh0 YW1iIC0gdGJhdCkgPiBUUFBNQVgpKSB8fCAodGJhdCA8IFRCQVRNQVgpKQ0N CgkJCQl7DQ0KCQkJCQlpZihzZXR0aW5nICYgU0VUVFJJQ0tMRSkNDQoJCQkJ CQltb2RlID0gTU9ERVRSSUNLTEU7DQ0KCQkJCQllbHNlDQ0KCQkJCQkJbW9k ZSA9IE1PREVJRExFOw0NCgkJCQl9DQ0KCQkJCWJyZWFrOw0NCgkJCWNhc2Uo TU9ERVRSSUNLTEUpOg0NCgkJCQlEaXM0NTAgPSAwOw0NCgkJCQlEaXMyMDAg PSAwOw0NCgkJCQlpZih0aWNrID09IDApDQ0KCQkJCQlDaGdvdXQgPSAwOw0N CgkJCQllbHNlDQ0KCQkJCQlDaGdvdXQgPSAxOw0NCgkJCQlpZigodnBwZGVs YXkgPT0gMCkgfHwgKHRiYXQgPCBUQkFUTUFYKSkNDQoJCQkJCW1vZGUgPSBN T0RFSURMRTsNDQoJCQkJYnJlYWs7DQ0KCQkJZGVmYXVsdDoNDQoJCQkJRGlz NDUwID0gMDsNDQoJCQkJRGlzMjAwID0gMDsNDQoJCQkJQ2hnb3V0ID0gMTsN DQoJCQkJYnJlYWs7DQ0KCQkJfQ0NCgkJfQ0NCgkJaSA9IFBPUlRCOw0NCgkJ aSB8PSBMRURESVMgfCBMRURDSEcgfCBMRURUUklDS0xFOw0NCgkJaWYoc2V0 dGluZyAmIFNFVERJUykNDQoJCQlpICY9IH5MRURESVM7DQ0KCQlpZihzZXR0 aW5nICYgU0VUQ0hHKQ0NCgkJCWkgJj0gfkxFRENIRzsNDQoJCWlmKHNldHRp bmcgJiBTRVRUUklDS0xFKQ0NCgkJCWkgJj0gfkxFRFRSSUNLTEU7DQ0KCQlp Zih0aWNrICYgOCkNDQoJCXsNDQoJCQlpZihtb2RlID09IE1PREVDSEcpDQ0K CQkJCWkgfD0gTEVEQ0hHOw0NCgkJCWlmKG1vZGUgPT0gTU9ERURJU0hFQVZZ KQ0NCgkJCQlpIHw9IExFRERJUzsNDQoJCQlpZihtb2RlID09IE1PREVUUklD S0xFKQ0NCgkJCQlpIHw9IExFRFRSSUNLTEU7DQ0KCQl9DQ0KCQlpZih0aWNr ICYgNCkNDQoJCXsNDQoJCQlpZihtb2RlID09IE1PREVESVNNRUQpDQ0KCQkJ CWkgfD0gTEVERElTOw0NCgkJfQ0NCgkJaWYodGljayAmIDIpDQ0KCQl7DQ0K CQkJaWYobW9kZSA9PSBNT0RFRElTTElHSFQpDQ0KCQkJCWkgfD0gTEVERElT Ow0NCgkJfQ0NCgkJUE9SVEIgPSBpOw0NCg0NCgkJaWYgKHRpY2sgPT0gMCkN DQoJCXsNDQoJCQl0aWNrID0gVElDS1NFQ09ORDsNDQoNDQoJCQlBRENPTjAg PSBUQU1CU0FNUExFOw0NCgkJCWkgPSBTRVRUTEU7DQ0KCQkJd2hpbGUoLS1p KTsJCS8veWVzLCBhbm90aGVyIGRlbGF5IGhlcmUNDQoJCQlBREdPID0gMTsN DQoJCQl3aGlsZSAoQURHTyA9PSAxKTsNDQoJCQl0YW1iID0gQURSRVM7DQ0K CQkJQURDT04wID0gVEJBVFNBTVBMRTsNDQoJCQlpID0gU0VUVExFOw0NCgkJ CXdoaWxlKC0taSk7CQkvL2Fub3RoZXIgZGVsYXkgaGVyZQ0NCgkJCUFER08g PSAxOw0NCgkJCXdoaWxlIChBREdPID09IDEpOw0NCgkJCXRiYXQgPSBBRFJF UzsNDQoJCQlBRENPTjAgPSBWQkFUU0FNUExFOw0NCg0NCgkJLy9ub3cgc3Bp dCB0aGVtIG91dA0NCg0NCgkJCXB1dGNoKENSKTsNDQoJCQlwdXRjaChMRik7 DQ0KCQkJU2Vyb3V0SGV4KHZtaW4pOw0NCgkJCXB1dGNoKFNQQUNFKTsNDQoJ CQlTZXJvdXRIZXgodm1heCk7DQ0KCQkJcHV0Y2goU1BBQ0UpOw0NCgkJCVNl cm91dEhleCh0YW1iKTsNDQoJCQlwdXRjaChTUEFDRSk7DQ0KCQkJU2Vyb3V0 SGV4KHRiYXQpOw0NCgkJCXB1dGNoKFNQQUNFKTsNDQoJCQkNDQoJCQl2bWF4 ID0gYW5hbG9nMTsNDQoJCQl2bWluID0gYW5hbG9nMTsNDQoJCQkNDQoJCX0g Ly9lbmQgb2YgImlmIHRpY2s9PTAiDQ0KCX0gLy9lbmQgb2YgImlmIFQwSUYi DQ0KDQ0KDQ0KfQkvL2VuZCBvZiBmb3JldmVyDQ0KfQkvL2VuZCBvZiBtYWlu DQ0KDQ0KLy9zdWJyb3V0aW5lcw0NCnZvaWQgcHV0Y2goY2hhciBjKQ0NCnsN DQoJdW5zaWduZWQgY2hhciBkbHksIGJpdG5vOw0NCgliaXRubyA9IDExOw0N CglUeERhdGEgPSAwOwkJCS8vc3RhcnQgYml0IHBvbGFyaXR5DQ0KCWJpdG5v ID0gMTI7DQ0KCWRvIHsNDQoJCWRseSA9IERFTEFZKFRYX09IRUFEKTsNDQoJ CWRvDQ0KCQkJOw0NCgkJd2hpbGUoLS1kbHkpOw0NCgkJaWYoYyAmIDEpDQ0K CQkJVHhEYXRhID0gMTsJLy9wb2xhcml0eSBvZiBkYXRhDQ0KCQlpZighKGMg JiAxKSkNDQoJCQlUeERhdGEgPSAwOwkvL3BvbGFyaXR5IG9mIGRhdGENDQoJ CWMgPSAoYyA+PiAxKSB8IDB4ODA7CS8vdGhpcyB1bHRpbWF0ZWx5IGNyZWF0 ZXMgdGhlIHN0b3AgYml0DQ0KCX0gd2hpbGUoLS1iaXRubyk7DQ0KfQ0NCg0N CnZvaWQgU2Vyb3V0SGV4KHVuc2lnbmVkIGNoYXIgaGV4bnVtKQ0NCnsNDQoJ dW5zaWduZWQgY2hhciB0ZW1wOw0NCgl0ZW1wID0gSGV4X3RibFsoaGV4bnVt ID4+IDQpXTsNDQoJcHV0Y2godGVtcCk7DQ0KCXRlbXAgPSBIZXhfdGJsWyho ZXhudW0gJiAweDBGKV07DQ0KCXB1dGNoKHRlbXApOw0NCn0NDQoNDQp2b2lk IE1zRGVsYXkodW5zaWduZWQgY2hhciBrKQ0NCnsNDQoJdW5zaWduZWQgY2hh ciBpOw0NCgl3aGlsZShrKQ0NCgl7DQ0KCQktLWs7DQ0KCQlpPTI1MDsNDQoJ CWRvDQ0KCQl7DQ0KCQkJYXNtKCJub3AiKTsNDQoJCX0gd2hpbGUoLS1pKTsN DQoJfQ0NCn0NDQo= ---1599652224-140653023-971451693=:21338-- -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu