This Function Destroys Programs: MS-BASIC's VAL()

Опубликовано: 01 Январь 1970
на канале: 8-Bit Show And Tell
47,245
2.1k

There's a bug lurking in the VAL() function of most early implementations of Microsoft BASIC that has the power to corrupt your program. We demonstrate it on the Commodore 64 and VIC-20, but it's present on many other 6502-based machines, as well as Z80 and even 6809 computers as discovered by many helpful people on the internets. We then attempt to explain why the bug happens: it's the result of a kind of nasty hack using Microsoft BASIC's evaluation routine combined with the particular edge case when an overflow error occurs.

The VIC-20 Quick Reference Handbook by Jeff Daniels: https://jeffdaniels.itch.io/vic-20-qu...

Tool Kit: BASIC https://archive.org/details/Compute_s...

Allen Huffman's blog: https://subethasoftware.com/2023/08/1...

All the X-Tweets:
  / 1692238191720600008  
  / 1692313328209559923  
  / 1693074790855102861  
  / 1692300818815283262  
  / 1692368840569851958  

Closing song lyrics "Call An Awesome Superhero" by Robin's son, aged 5.

To support 8-Bit Show And Tell:
Become a patron:   / 8bitshowandtell  
One-time donation: https://paypal.me/8BitShowAndTell
2nd channel:    / @8-bitshowandtell247  

Index:
0:00 A bit about VAL()
2:31 + Addition or Concatenation?
4:42 10 A=VAL("1E39"):REM SHOW BUG
7:53 The VIC-20: VAL(TI$)
11:45 Tool Kit: BASIC Explanation
13:40 About the Overflow Error? 39 digits
15:14 VAL() needs a null-terminated string
18:30 Machine Language Monitor time
22:22 Thanks to my patrons and X-Twitter pals!


Смотрите видео This Function Destroys Programs: MS-BASIC's VAL() онлайн, длительностью часов минут секунд в хорошем качестве, которое загружено на канал 8-Bit Show And Tell 01 Январь 1970. Делитесь ссылкой на видео в социальных сетях, чтобы ваши подписчики и друзья так же посмотрели это видео. Данный видеоклип посмотрели 47,245 раз и оно понравилось 2.1 тысяч посетителям.