BCPL is a high level AssemblyLanguage, like C was originally intended to be.

Here's the big difference between C and BCPL: The only datatype in BCPL is the 32-bit machine word. A word might contain an integer, character, float or pointer: it's up to you to apply the right operator to it. This doesn't suit the addressing schemes of many modern processors, which is probably one reason you don't see it being used any more.

DennisRitchie scanned his old BCPL manual for you:

You can get a BCPL interpreter to play with here (from the creator of BCPL himself):