Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #74181

Re: ^D vs ^Z as EOF and DOS dinosaurs talking (was: open() and EOFError)

References (8 earlier) <20140708102033.13efb3a4@bigbox.christie.dr> <CAPTjJmqncJdYk1d11yypPDOGMDF9E5r4WYBqKs+draUBfSTiPA@mail.gmail.com> <20140708104635.350592d0@bigbox.christie.dr> <CAPTjJmomaBUyPoifAaGxq9sVZa3CM4i_eGvKu4r7Ykn5++X4zg@mail.gmail.com> <20140708105726.3477e1bb@bigbox.christie.dr>
Date 2014-07-09 02:20 +1000
Subject Re: ^D vs ^Z as EOF and DOS dinosaurs talking (was: open() and EOFError)
From Chris Angelico <rosuav@gmail.com>
Newsgroups comp.lang.python
Message-ID <mailman.11639.1404836408.18130.python-list@python.org> (permalink)

Show all headers | View raw


On Wed, Jul 9, 2014 at 1:57 AM, Tim Chase <python.list@tim.thechases.com> wrote:
> On 2014-07-09 01:49, Chris Angelico wrote:
>> Have you ever used COPY CON to create a binary file?
>
> No, for that I used DEBUG.EXE (or DEBUG.COM on older versions of DOS)

I never used a DOS version so old it had DEBUG.COM, but I used
DEBUG.EXE extensively. It was, for years, the only means I had of
building assembly language programs - no C compiler, no proper
assembler, nothing. One of my greatest triumphs, at the time, was the
development of an absolutely insane (even at the time I knew it was
insane) system that let me build an assembly program with line labels
in it; it would pipe commands into DEBUG and pipe the output back out,
and drive DEBUG's mini-assembler. When it came to a label, it would
look at what the prompt said would be the next address, and save it.
When the label was used, it would patch in the actual address. And
forward references were handled, too - it'd put in a placeholder, and
then go and assemble over it afterward. (I'm not sure what happened if
the placeholder resulted in the wrong size of jump command being
assembled. It was a definite consideration, as conditional jumps had
to be relative, but unconditional jumps could be relative (two-byte
command) or absolute (three-byte command). Maybe it just always put in
a distant target, and patched in a NOP if it didn't need the third
byte, or something. I don't remember.)

Sadly, there was a period when all my programming was either in BASIC
or assembly, and even more sadly, I would write low-level code using
DEBUG, save it into the format needed by BLOAD, and then CALL ABSOLUTE
the routine from BASIC... in order to, for instance, access the mouse.
Life got ever so much better when I moved to OS/2, and started using
REXX for most of my work. (And then eventually got a C compiler,
albeit a Windows one. Was years and years before I actually got a
decent build system for OS/2.)

There was a time when, just for the fun of it, I started memorizing a
whole lot of 8086 opcodes in hex, just so I could COPY CON PROGRAM.COM
and make something actually work. I don't think there was ever any
purpose in it at all, but it was fun. I guess that's a purpose... some
people play Tetris, some people have girlfriends/boyfriends, and some
people learn to write machine code at COPY CON...

ChrisA

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

open() and EOFError Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-07-07 03:20 +0000
  Re: open() and EOFError Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2014-07-07 17:04 +1200
    Re: open() and EOFError Steven D'Aprano <steve@pearwood.info> - 2014-07-07 08:00 +0000
      Re: open() and EOFError Chris Angelico <rosuav@gmail.com> - 2014-07-07 18:09 +1000
      Re: open() and EOFError Dave Angel <davea@davea.name> - 2014-07-07 08:14 -0400
      Re: open() and EOFError Chris Angelico <rosuav@gmail.com> - 2014-07-07 22:19 +1000
        Re: open() and EOFError Roy Smith <roy@panix.com> - 2014-07-07 08:46 -0400
          Re: open() and EOFError Chris Angelico <rosuav@gmail.com> - 2014-07-07 22:58 +1000
            Re: open() and EOFError Roy Smith <roy@panix.com> - 2014-07-07 20:26 -0400
          Re: open() and EOFError Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2014-07-08 09:50 +1200
        Re: open() and EOFError Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-07-07 15:45 +0000
          Re: open() and EOFError Chris Angelico <rosuav@gmail.com> - 2014-07-08 01:53 +1000
          Re: open() and EOFError Marko Rauhamaa <marko@pacujo.net> - 2014-07-07 19:08 +0300
            Re: open() and EOFError Marko Rauhamaa <marko@pacujo.net> - 2014-07-07 19:12 +0300
      Re: open() and EOFError Roy Smith <roy@panix.com> - 2014-07-07 08:39 -0400
        Re: open() and EOFError Chris Angelico <rosuav@gmail.com> - 2014-07-07 22:55 +1000
          Re: open() and EOFError Roy Smith <roy@panix.com> - 2014-07-07 20:28 -0400
        Re: open() and EOFError Terry Reedy <tjreedy@udel.edu> - 2014-07-07 14:49 -0400
          Re: open() and EOFError Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2014-07-08 10:04 +1200
            Re: open() and EOFError Grant Edwards <invalid@invalid.invalid> - 2014-07-08 14:19 +0000
              Re: open() and EOFError Terry Reedy <tjreedy@udel.edu> - 2014-07-08 11:08 -0400
              Re: open() and EOFError Tim Chase <python.list@tim.thechases.com> - 2014-07-08 10:20 -0500
              Re: open() and EOFError Chris Angelico <rosuav@gmail.com> - 2014-07-09 01:24 +1000
              Re: open() and EOFError Tim Chase <python.list@tim.thechases.com> - 2014-07-08 10:46 -0500
                Re: open() and EOFError Roy Smith <roy@panix.com> - 2014-07-08 21:05 -0400
                Re: open() and EOFError Anssi Saari <as@sci.fi> - 2014-07-10 22:40 +0300
              Re: open() and EOFError Chris Angelico <rosuav@gmail.com> - 2014-07-09 01:49 +1000
              Re: ^D vs ^Z as EOF and DOS dinosaurs talking (was: open() and EOFError) Tim Chase <python.list@tim.thechases.com> - 2014-07-08 10:57 -0500
                Re: ^D vs ^Z as EOF and DOS dinosaurs talking (was: open() and EOFError) Jan van den Broek <balglaas@xs4all.nl> - 2014-07-08 16:38 +0000
              Re: ^D vs ^Z as EOF and DOS dinosaurs talking (was: open() and EOFError) Chris Angelico <rosuav@gmail.com> - 2014-07-09 02:20 +1000
              Re: open() and EOFError Tim Chase <python.list@tim.thechases.com> - 2014-07-08 11:40 -0500
              Re: open() and EOFError Chris Angelico <rosuav@gmail.com> - 2014-07-09 02:50 +1000
          Re: open() and EOFError Steven D'Aprano <steve@pearwood.info> - 2014-07-08 09:03 +0000
            Re: open() and EOFError Chris Angelico <rosuav@gmail.com> - 2014-07-08 20:29 +1000
      Re: open() and EOFError Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-07-07 14:06 +0100
      Re: open() and EOFError Chris Angelico <rosuav@gmail.com> - 2014-07-07 23:27 +1000
      Re: open() and EOFError Chris Angelico <rosuav@gmail.com> - 2014-07-07 23:29 +1000
      Re: open() and EOFError Dan Stromberg <drsalists@gmail.com> - 2014-07-07 09:07 -0700
      Re: open() and EOFError Ian Kelly <ian.g.kelly@gmail.com> - 2014-07-07 11:25 -0600
        Re: open() and EOFError Marko Rauhamaa <marko@pacujo.net> - 2014-07-07 20:31 +0300
          Re: open() and EOFError Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2014-07-07 18:07 +0000
            Re: open() and EOFError Marko Rauhamaa <marko@pacujo.net> - 2014-07-07 21:42 +0300
            Re: open() and EOFError Roy Smith <roy@panix.com> - 2014-07-07 20:22 -0400
          Re: open() and EOFError Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2014-07-08 10:09 +1200
            Re: open() and EOFError Mark Lawrence <breamoreboy@yahoo.co.uk> - 2014-07-08 00:10 +0100
            Re: open() and EOFError "Neil D. Cerutti" <neilc@norwich.edu> - 2014-07-08 10:29 -0400
      Re: open() and EOFError Chris Angelico <rosuav@gmail.com> - 2014-07-08 03:29 +1000
        Re: open() and EOFError Marko Rauhamaa <marko@pacujo.net> - 2014-07-07 20:40 +0300
          Re: open() and EOFError Chris Angelico <rosuav@gmail.com> - 2014-07-08 10:55 +1000
      Re: open() and EOFError Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2014-07-07 18:54 -0400

csiph-web