Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connectionsPath: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Don Y Newsgroups: sci.electronics.design Subject: Re: Why Bloat Is Still Software's Biggest Vulnerability Date: Wed, 13 Mar 2024 16:47:10 -0700 Organization: A noiseless patient Spider Lines: 50 Message-ID: References: <980294@dontemail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Wed, 13 Mar 2024 23:47:17 -0000 (UTC) Injection-Info: dont-email.me; posting-host="11f1a6c097d5e8318048522ef22246c2"; logging-data="1284583"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18eNR/odr//egc4/lJHxhFz" User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.2.2 Cancel-Lock: sha1:bsGSFdkhQOso60g51C90Ntseptk= Content-Language: en-US In-Reply-To: Bytes: 3256 On 3/13/2024 9:29 AM, Peter wrote: > > Don Y wrote: > >> On 3/12/2024 6:10 AM, Peter wrote: >>> >>> RichD wrote: >>> >>>> Given these considerations, does anybody write assembly code for >>>> modern RISC processors? >>> >>> Yes; some stuff cannot be done in C. Start with loading SP. No way in >>> C! >> >> Doing anything that isn't memory-mapped; how would you generate "I/O" >> instructions (for processors with I/O spaces)? > > I think I/O is rare; it tends to be memory mapped. For *new* hardware, yes. But, still present in older designs (that likely need to be maintained) >> Using any part of the instruction set that isn't directly mapped >> to native C constructs (how would you access support for BCD >> data types? special commands to control interrupts? opcodes to >> control atomic operations/synchronization?) >> >>> Some code in an RTOS is not possible in C. Look at the FreeRTOS >>> sourcecode. There are bits of asm in there. >>> >>> Also asm has great uses for protecting from optimisation (which can >>> change silently by upgrading the compiler!). Asm never gets modified; >>> essential when talking to devices needing specific minimum /CS timing >>> etc. >> >> This is changing. Lots of ongoing work in optimizing and >> super-optimizing assembly language code. Even arguments >> being made that compilers should NOT be generating (final) >> ASM, from HLL sources cuz it forces them to know too >> much about the underlying hardware... things that a >> (truly) "optimizing assembler" is better suited to knowing. > > I'll leave that to the next generation. I want to make a bit of money > now :) There are lots of ways to make money. The joy of engineering is that you can have *fun* -- and learn stuff -- while doing so! (imagine being an *accountant*, lawyer, doctor, etc. -- fields where "new knowledge" drips out at a trickle...)