Yes. In fact, it is a very simple system.

The key to understanding the system is to look at the physical construction of the part you saw. This is what we would today would call the accumulator. It holds a single mathematical value. You can see it consists primarily of several vertical rods with gears spaced out along them. Each gear holds a digit in it's angle compared to the rod, I can't recall if each disk represented one or two digits?

In a modern machine we would express this as a number of bits, "this processor is a 64-bit design". In the case of the analytical engine, it used decimals, not bits, and had 40 digits. For comparison, it was common on 8-bit machines to perform math in "binary coded decimal", often with two decimal digits stored as 4-bit values in a single byte. Thus, to represent the same numbers as the engine, you would need 10 bytes. Typical BASIC interpreters of the era, like those found in the Commodore line, used 9-byte formats, so pretty close!

The original plan was that this ALU would be connected to a store consisting of another 1,000 such vertical rods, also holding 1 40-digit number each.

Along the bottom you can see a number of oddly--bumpy-shaped disks arranged at right angles to the vertical rods, along a large shaft. These take the place of the clock in a modern processor. As the shaft turns, the arms resting on top of the disks are raised and lowered, which connects and disconnects gearing under the vertical shafts. This is identical in purpose to the diode network that controls the operation of the functional units in early machines. The speed of computation is controlled by how fast you turn that shaft.

The language is very simple, and in modern terms would be considered a RISC design - or more accurately, a load/store design. The punch cards that fed the machine would connect to similar operational rods like the ones on the disks, to form the instructions. These were very simple, they consisted of a load, store, add, sub, mul, div, and in theory, sqrt. So a typical program might use a card that disconnects the ALU, connects to a particular vertical shaft in the store, and then reads the number on the card into that shaft. The next instruction might reconnect the ALU and call `ADD I`. Programs used cards to load data, perform operations, and then write the data back out.

Connected to the other side of the store was an output system consisting of a printer and a bell. It could be instructed to output the value in any one of the store's vertical shafts. When the program was complete, you told it to ring the bell.

All of these, with the exception of the direct output, map directly onto any simple assembler. It had only one register and 1000 words of memory, making it very similar to many early machines like FERUT.