Monday, July 20, 2026

[MARK00] 3809/2801: ALUs, Register Indirect Review, Role Playing the 6800

EDIT MARK record 00
Read the current version at: 
https://joelrees-novels.blogspot.com/2026/07/3809-2801-alus-register-indirect-role-playing-6800.html

2801
ALUs, Register Indirect Review,
Role Playing the 6800

Motorola M6800 EXORcises
TOC

When we walked into the southeast wing from the entrance closest to the Permian student parking, Hec, Cyndy, and Sapphire were talking in the hall outside the electronics lab.

"There she is, Mary."

I glanced aside at Rick with a raised eyebrow before raising my left hand. "Greetings, earthlings," I said as we approached.

Hec cocked his head sideways, and Cyndy gave me an eye-roll.

Sapphire gave me a sour moue. "Hah. You only think you are of a superior race," she jested, before reaching out for my hand. I gave her hand a squeeze before we both dropped our hands a little guiltily.

Rick laughed. "Nope. Nothing to see here, folks." 

Sapphire gave him a look of mock innocent perplexity.

He just grinned. 

"How was calculus?" she asked.

"No class today, we just studied in the library," Rick answered. "Found some microprocessor manuals. They have the 1802 manual, too, Hec."

"You didn't check it out for me?"

"The manuals are all in the reference section," I explained.

"So you can't check any of them out," Cyndy said, somewhat wistfully.

"We could meet at the library, I think," Rick suggested. "Although the only time after school I'll be able to do that will be Friday or Saturday evening. Or Sunday."

"Do you guys have a game Saturday?" I asked. 

"Friday," Sapphire answered. "Which raises a question. Will you and Rick will be with us at the games?" 

Rick and I looked at each other. 

"I'm going to have to think about this," Rick said.

I nodded. "I think I'm game for it, but maybe not every game. You're not asking Hec. I guess he's committed?" 

"I'm like you, not every game," Hec replied. "But I'm a student here."

"Which raises a question," Rick pointed out. "Are there going to be riots on the field or in the schools if OHS students are dancing with the Permian cheer dance team at game time?"

I grimaced. "You could have talked all day, ..."

"But somebody has to ask," Cyndy finished for me. 

We all stood in silence for a moment or two.

I spoke up. "I guess I was hoping Ms. Michaels would run that question past the school staff."

Sapphire said, "Well, yeah. Ms. Michaels wants to know what you and Rick are thinking before she starts a discussion."

Rick looked at me and I nodded. 

"So, not this Friday," I said. "I'm not sure we're going to that much up to speed anyway."

"Sapphire, you need to get to class," Cyndy reminded her.

"True. We'll talk later?"

Rick and I nodded.

Sapphire touched fingers with Cyndy and reached out to me. I met her hand with mine and we gave each other's hands another squeeze, and she left. The four of us entered the classroom.

As we sat down, Hec asked, "What happened between you two last night?"

"We just studied and talked," I replied.

Rick said, "Near as I can tell, Sapphire really likes our Mary."

Cyndy gave Rick a sharp look. 

Hec asked. "Who's the toughest guy in the movies you can think of, Cyndy?" 

"Hoss?"

I nodded. "The best fruit is not what falls, but what you have to reach for." 

Rick laughed. "Dan Blocker's a good answer, and something of a local, but not the one Hec was thinking of."

"Clint Eastwood?" 

I laughed. "A man's got to know his limitations."

"I don't understand."

I said, "Lookin' back is a bad habit."

(For what it's worth, I probably would not have known any of these quotes. Well, maybe the Dan Blocker quote. I didn't have that much interest in movies. But you already know that Joe and I are not the same person.) 

She still looked puzzled. After a few moments of thought, she said, "John Wayne?"

Rick smirked. "Do you know what his real name is?"

She looked from Rick to Hec to me.  

"Rick heard about it from his mother," I explained, "and looked it up in the school library. Then he told everybody about it when I was getting teased about my first name at Sam Houston."

"So," she thought. "His real name is," she paused again, still looking puzzled. "Marion?"

Rick nodded. "Marion Robert Morrison."

Chuck volunteered from his table, "So Rick is the only person that gets to use Joe's first name." 

(Chuck also attended Sam Houston Elementary. The name of that school, at least, has not changed. I understand that the school has been designated AVID now, however, and I'm not what to think of that.) 

I gave Chuck a thumb-up and Cyndy a lopsided smile and added, "Not that I'm mean about it or anything. I just may not answer."

The bell rang, and Mr. Mori stood up. 

"Before we dig into the promised discussion of the 6502's indexing modes, there's something I'd like you all to consider." 

He put a transparency on the overhead projector and turned it on.  

"I'm kind of hoping this looks familiar from last week."

We all thought about it for a few moments, and Cyndy suggested, "It looks kind of like the CPU and memory?"

"What is like the CPU and memory?"

Hec spoke up, "I think I get it, too. Kind of like in the same way the CPU interfaces with RAM, the ALU interfaces with registers."

"So what are we looking at?"

Rick said, "It's a partial diagram of the inside of a CPU." 

"You say that with confidence."

Rick glanced back at me and I gave him a thumbs-up. 

"Yeah."

"That's what I want everyone to see. Registers are like very fast RAM, inside the CPU chip. Usually. I've left out the control signals and the control unit. Let's add those." He swapped transparencies.

 

"Any impressions of that that anyone wants to bring up?"

Bob said, "Well, something's got to tell the ALU and the registers what to do, so they call it a control unit?"

"Anything else?"

Bill said, "The control unit also controls the data paths between the registers and the ALU. That's the buffers?"

"Good. Now the ALU handles ordinary math, what handles the addresses?"

Karl said, "Why can't the ALU handle addresses?"

Ted said, "It can, but in some CPUs there's a separate address unit to speed things up."

"Good comments, both of you." 

Mr. Mori swapped transparencies again.


"Some CPUs have a separate address unit. So, Joe, what do you think this diagram is missing?"

"Something needs to interface between the CPU and memory and I/O," I responded.

"What are those called?"

Bill replied for me. "Aren't those the data and address buffers?" 

"Good." 

Scott said, "And it's also missing the instruction pointer."

"Why is that important, Scott?"

"It doesn't show how we get immediate data from instructions into either the ALU or the address unit."

"Great."

(Dang, these guys are sharp. I wish I'd know them when I was in high school in your reality.) 

"I don't want to design a CPU in class with everyone today, so I'm not going to add those to this diagram. Today. Anyway, I hope you'll be able to visualize what's going on in the CPU a little better with these."

"One more thing I want to do before we move on to the 6502 is review what we've seen of register indirect mode and indexing. Who remembers from last week what register indirect mode is?" 

No response.

"Still shifting gears?" 

Pete raised a hesitant hand. 

"Pete?" 

"A CPU register points to the memory location for the instruction's operand." 

"Thank you, Mr. Higgs." Mr. Mori put a transparency from the previous lesson back up. 

  

"We looked at the 9900 pointing to its workspace in RAM with the W register, and then we looked at its ability to point to general locations using any 16-bit register. Does the 8080 have this kind of addressing?"

Barry responded, reading from his notes. "H and L can be used as a pair to point to memory."

Scott added, "B:C and D:E can also point to memory for some instructions."

Mr. Mori blinked. "Scott, you've been reading your dad's manuals at home."

Scott grinned.

Mr. Mori chuckled. "Barry and Scott are both correct, and we'll look at the specifics later.

"What's the difference?" Karl asked. 

Scott replied, "I'm not positive, but I think the only instructions I saw that use B:C and D:E for pointing to memory are data moves."

"And we will look at those closer later on, but that's what I understand." Mr. Mori nodded. "How about the 1802?"

Hec and Cyndy both started to reply at the same time,

"Pretty much, ..."

"You said, ..." 

And then they stopped speaking, looking at each other and laughing.

"You first," Hec said.

Cyndy gave him a lopsided smile. "Okay. She turned to Mr. Mori. "You said yesterday, pretty much any of the sixteen registers can point to memory." 

Mr. Mori continued nodding. "What about the 6800?"

Rick and I looked at each other.

Bill spoke up. "X is used as an index register with zero offset for register indirect."

Rick and I both turned and gave Bill a thumbs-up.

"Great." Mr. Mori nodded. "I think we're all paying attention. What does anyone remember about the 6502 from last week?"

Harvey raised his hand, "X and Y are only 8 bits wide."

"Excellent. What does that imply about X and Y being used as index registers?"

Harvey hesitated, then said, "Does that mean they can only point directly into page zero?" 

Mark grumbled, "Just about have to."

Pete said, "What if the 6502 allows a 16-bit constant base?"

Mr. Mori turned to him and said, "You're getting ahead of me."

"Sorry."

"Not a problem." Mr. Mori grinned. "In fact, that's one of the things we promised to talk about today. So," he paused. "How many of you remember the indexing mode of the 9900 from last week, how it differs from the register indirect mode?" 

Frank read from his notes, "The constant in the instruction plus index register contents is the operand address. If the constant is the base address of an array, the register can index the array, and --"

Mr. Mori interrupted him. "Good. Meaning?"He swapped the transparency on the overhead projector.

"We know where the array is, and the register is used to pick the element of the array that we want. The address of the element we're accessing is the constant base address plus the offset into the array."

"Are we all okay for that?"

There were no complaints.

"Pete, since Frank told us one way to interpret this, you tell us the other."   Again he swapped transparencies.

Pete hesitated, then said, "Sometimes you have a lot of arrays that have the same form, and you want to access the same part of each. So the constant part is going to be offset that doesn't change, and the index register will point to the address of the base of the array that you want to look at. The sum still points to the byte you want to access."

"Excellent, again." 

"But if we are talking about strings like that," Pete continued, "before we look at the third letter, we're going to want to check the length byte at offset zero to be sure there is a third letter."

Professor Mori beamed. "Very excellent. I'm going to give everyone who didn't quite follow that a half a minute to think about it."

Bob asked, "How do we check that?"

I volunteered, "Each processor has an instruction to compare a byte with a known value, so you would probably load the count and compare it to the length you want to check."

"Then what?" Mr. Mori asked.

Hec answered, "If it's too small, jump out to do something else."

"Good. And we'll talk more about that later. Now, Joe, what happens when you don't know in advance either which array you're going to be accessing or which element?"

"You mean, neither is constant?" I asked.

"Right." 

"Is there an addressing mode for the 9900 that adds two registers to get the operand address?" I asked.

"Well, actually, no."

(It would be about a year and a half in your reality before Motorola officially announced the 6809, which included such modes by combining the address in an index register with on offset in an accumulator. And about a half a year later, as the 6809 was beginning to ship samples, Motorola would formally announce another new processor, the 68000, which also included such a mode, being able to form an effective address by temporarily adding either a data register or an address register to an address register. And several years after that, Motorola would announce the 68020 with addressing modes that were just way too rich for most programmers to understand. 

Intel would announce the 8086 about the same time Motorola announced the 6809, and the 8086 would include something that kind of looked like this but wasn't, which they called segmented addressing. I objected to their terminology when I studied the 8086 sometime later. 

But that's all in your timeline. On the other hand, ... but I'm getting way ahead of myself.)

Cyndy spoke before I could. "Then you just use one instruction to add the address and the offset in registers and use the sum in the register in a register indirect mode instruction. It'll require two instructions and leave the target address in a register."

"Hey. That's what I was going to say." I complained, jokingly.

She turned around and lifted her hand with a grin, and we slapped palms.

Mr. Mori nodded with a wry smile, and said, "How many of you didn't follow that?"

Nobody raised a hand.

"I don't believe you all understood it, so I'll ask how many did follow it and are willing to try to explain it at the whiteboard?"

Several of us raised our hands. 

"Ted?" Mr. Mori held up a marker.

Ted stood up and took the marker and, referring back to the transparency, drew the following on the whiteboard while he explained: 

"The address of the array is in the register we're calling Rb. That's any of the sixteen registers but R0."

Mr. Mori nodded. "Well, there are some other registers you might not want to use, but, yeah. So, for now we can assume more-or-less any but R0. Do you have a manual at home?"

"Yeah."

"Cool. I might want you to bring it to class sometimes, if it's okay with your dad."

"I think I could. Dad didn't say anything about a non-disclosure agreement."

"Great." 

"The array is a string in this example, a character string, right?" Ted paused. "But I decided the offset is going to be a four this time." 

Mr. Mori interrupted. "Why is that?"

"Just to emphasize that it's in a register and not a constant in the instruction stream."

"Thank you for thinking of that."

Ted continued, "And I'm calling the register that the offset is in Rx, because we don't need to know which it's going to be in. Saying X for index. So we use an add instruction to add the offset to the base, and the sum ends up in Rb." 

He stopped and thought. "Maybe I didn't want to do that."

"Maybe not, but we'll go with that for now. The point is that the CPU has executed one instruction, and the value of one or the other register has been altered, right?"

"Right. After the add instruction, the result in Rb is N plus four, so it's pointing to the letter 'i'." 

"Very good."

"But, as I said, I realized while I was explaining it that now Rb is no longer pointing to the beginning of the name, and that may not be what I wanted. It would also work to add Rb to Rx, instead, wouldn't it?"

"Why would you want to do that?"

"To leave Rb pointing to the base of the array for later math, and maybe to allow bumping Rx up and down from where the index is left pointing." 

"Yeah, that would work, if I understand what I've read about the 9900 correctly. And, while you can always point back by subtracting four, I think you're instinct to leave Rb pointing to the base is good. It would be less confusing to leave the base address in Rb, as you say. Very astute."

Cyndy raised her hand. "So we could do the constant offset or constant base this way, too?"

 Mr. Mori pursed his lips and furrowed his brow. "Yes, if you load the constant into register Rx, you can add them explicitly, and have the effective address in a register. And we probably want to know that when we talk about certain CPUs in more detail. But constant plus index happens a lot, so the indexed mode makes a useful quick shortcut. But, yes, we could do it all in registers with extra instructions if we need to."

She nodded. 

Hec said, "But won't that take more time, since you have to fetch instructions and do explicit math that the address unit could be doing in parallel?"  He looked at Cyndy. "Uhm, although it does leave you with the target address in a register, if you need to use it again."

Cyndy gave him a tight smile and a slow blink.

"Sorry," he said.

"No problem."

Karl piped up. "Somebody's in trouble tonight."

Cyndy turned to him and blinked again. "Whatever do you mean?"

Mr. Mori said, not quite suppressing a smile, "I do appreciate it when you settle your differences outside of class, guys." 

Most of the other boys laughed. Rick and I suppressed our grins. Cyndy smiled knowingly at no one in particular.

Hec reached a raised, hesitant palm to Cyndy, and she touched palms with him, lightly. 

Mr. Mori said, "Cyndy and Hec are pointing out something important here, and it's why I wanted to show you that some CPUs have a somewhat independent address unit. File that away and we'll come back to it."

He gave us a moment to think.

"Okay, Scott, can you tell us how to do any of this kind of indexing on the 8080?"

Scott shook his head. Then, after a moment's thought, he said, "Wait, maybe put the base address in D:E so we can keep the base, and the offset in H:L, and add, D:E to H:L?"

Mr. Mori nodded. "You think your dad would let you bring his manual to class?"

"He usually keeps it in his office, but I could ask."

"That might be nice. I think you're right. As far as I know, there's no constant offset plus index addressing mode on the 8080, so, whether we have constant offsets or variable offsets, we have to explicitly add them in registers to get the target addresses." He paused.

"I've heard that some engineers from Intel have left and formed a company called Zilog that has announced an 8080-compatible processor, called the Z-80, that does have indexed mode addressing, but I haven't seen a lot of information on it yet."

Bill volunteered, "Kind of like the engineers who left Motorola to make the 6502?" 

"Well, Chuck Peddle and his group didn't have as much financial backing when they left Motorola, so, instead of forming their own company, they took their ideas to MOS Technology -- which was a company that already existed. Similar but different."

He waited for us to shift gears before continuing. "But the 8080 does have instructions to help with this. Can you tell us what they are, Scott?"

"I can't keep them in my head."

"I can't either. And so far I'm just working from code snippets I've found in magazine articles. I'm not sure I should show you this diagram, because it might be wrong, but let's see what I think the constant base case might look like."

Mr. Mori swapped the transparency on the projector out.


"You can see that it takes one instruction, L-X-I, to load the constant base and another, D-A-D, to add the base to the offset to get what we want. This is what Cyndy was talking about when she asked about adding the base and offset in registers." 

Again, he waited for us to think about things. "Scott, do you think you can show us the constant offset case from this?"

"Oh, sure." Scott stood and went up to the whiteboard, borrowing the marker from Mr. Mori.

"Hardly anything to change," he said and started copying from the transparency. "The DAD for the addition can be the same. But the constant we are going to load will be the offset, not the base, and we will probably load it into H:L to leave the base address alone." He continued working on the diagram in silence for a short bit, and then announced, "That should do it."

"Load the constant offset into H:L, leave the base address in D:E alone, and that's that."

"Thanks. Now, Barry, can you modify this for the general case, with variable base in D:E and variable constant in H:L?"

Scott turned towards Barry and raised the marker and eraser in his hands.

Barry stood and took the marker and eraser from Scott and went to the board. He studied the diagram for a moment, erased one instruction and moved those after it up. 

"Yep. I think that's it. Wait, I should edit the offset to match the 9900 example. And fix some comments."

  

"Looks pretty cool, doesn't it?" Mr. Mori said. But I should warn you all, things get a little messy when the base and offset aren't already in the right registers. Thank you Barry."

Barry put the marker and eraser on the white board tray and sat down. 

Mr. Mori frowned, and then asked, "Can anyone talk about how this works on the 1802?"

None of us volunteered.

"Bob? Chuck? Mark? Bill?" 

They all shook their heads, so he turned toward our table. "Hec?"

"Ask me next week."

"Eh, what?"

"Rick and Joe were saying the OC library has 1802 docs, and we're planning on going to take a look at them this weekend." 

"Oh. Cool. Maybe I can get them to let me take a look at them."

Chuck said, "If you need somebody to get you in, I could meet you there."

Mr. Mori blinked. "That would be great. Let's talk about that after class." 

"Just as a guess," I offered, "on the 1802 are we going to have to do the address math a byte at a time, and then use the X register to switch the register that has the result address to the current index?"

"That's a good guess, from what I understand. Any body not get an idea what that looks like?" 

Mark said, "I think we're all pretty vague on it."

"Let's wait to draw pictures until I can get a look at an actual manual. For now, let's ask Joe and Rick how this is going to look on the 6800." 

"You never drew us any pictures of this yesterday," Rick complained as he turned to me.

"Give it a shot, Stant," I said 

"Can I be lazy and just point out that it looks more or less like the 9900 for the, uhm," he looked at his notes, "constant offset in a string case," he looked at me and then Chuck for confirmation.

We both nodded.

"And if the array is in the first 256 bytes of memory, you can use the constant plus register form for that, too," he checked with me again.

I nodded.

"And just draw the one we just did where both the array base and the offset are not known until the program starts running?" He looked at Mr. Mori.

Mr. Mori pursed his lips, nodding. "Why that one only?"

"Because it's going to take more instructions to do the addition," Rick trailed off. Then he said, "Maybe we should just draw them all."

Mr. Mori grinned. "I'll leave that up to you guys."

"You do the constant base, Joe."

"Sure, give me that one. How about you grab the data sheet?" I picked up my notes from the library and went to the board and started erasing. Rick went to the pile of documents at the front of the room and found the 6800 data sheet.

We looked through the instructions and at my notes.

Rick said, "Can we see the one from the 9900 again?"

"Sure." Mr. Mori put the transparency on the projector.

Rick pointed at he instruction list from the 9900 example project on the white board, and I nodded and sketched the constant base case out on the board. 


"The main difference between the 9900 and the 6800 here is that the array has to start in the first 256 bytes of the address space," I explained. 

I stopped and thought a minute. "And I guess I want to point out that, where on the 8080 diagrams, we were calling the instruction of interest op code C, that was after the address calculation , on the 9900 and in this diagram, the instruction of interest is op-code B, and op-code C is already the next instruction. Everything happens in one instruction."

Mr. Mori nodded. "You say the array has to start in the first 256 bytes. How about the test score. Does the array have to all fit within the first 256 bytes of memory?"

I scratched my head while I thought. "If we are doing something other than bumping the pointer in X up and down a little, the address math might get complicated, but X is 16 bits wide, so I'd guess not." 

"I think that's correct." 

"Your turn, Rick." I handed the marker and eraser to him. 

Instead of modifying my diagram, Rick first pointed to the short op-code list.

"Just to recap about the instructions, 6800 instructions are variable length, aren't they Joe?" Rick asked.

"Yeah," I replied.

"So the byte at 1017 is the last byte of instruction op code A."

"Yep."

"Op code B at 1018 is the indexed mode op-code byte, and the constant that follows it at 1019 is the base address, which is limited to between 0 and 256."

"Right."

"And the next op-code, op-code C, starts at 1020."

"Mmm hmm." 

"Got it." Rick started modifying the diagram. "Now, this time, the base address is going to be in X, and it's going to be a full 16-bit address. And we're probably going to want to test the length byte at offset zero first, but we haven't been showing that, so we won't do that in this diagram."

"Fair enough," Mr. Mori commented.

"Pretty much the same as the 9900, again." 

"I assume that it's the address unit that generates the address from the index register and the constant in the instruction," he added. 

"Very good," Mr. Mori said. 

Rick looked at me and held up the marker.

I grinned.

He said, "You were the one writing something like this in the library."

"Dang, but I'm a pushover," I complained as I took the marker and eraser and turned to the board and looked at the diagram, trying to plan out where to add all the extra instructions. 

"In the library," I said, "we worked out some steps to add B to X. But that only works for 256-byte offsets."

"Do you have that?" Mr. Mori asked.

Rick picked up my notes and waved them.

Mr. Mori said, "Let's take a look at it." 

"What did we call the place in memory to work on the index?" I asked.

"You called it X16." He showed me the page.

"Okay" I erased everything but the string. "We can put X16 in the direct page to save cycles and op-code bytes, because the direct page mode only needs one byte of address." I drew the bytes for X16 on the board where I thought they would be out of the way. "To do that, X16 has to be at an address below 255."

"Below 255, not at 255?" Mr. Mori asked.

"X16 takes two bytes, and we need both bytes to be addressable in direct page mode."

"Good." 

"At the start of the code, X will start pointing to the beginning of the name. B will have the offset, and we'll assume that's 4, like Ted did." I drew in register X before and after, and drew B with a 4 in it, and looked around at Ted, who gave me a thumbs-up.

Then I looked back at the notes Rick was holding for me. "And after we add the offset, X will point to the 'i', of course. And it's going to be easier to show you the actual instructions than wave my hands at them."

I diagrammed a piece of memory starting at 1017. "Last byte of the preceding op-code."

I filled in the direct page store X instruction, using the mnemonic.

"Okay, Rick, what was next?"

"ADD accumulator B to the low byte of X16."

"Since the 6800 is most significant byte first, the low byte is at X16 plus one."

I paused to examine the diagram on the board.

"Next thing you did was load accumulator A from the high byte."

"The load instruction on the 6800 doesn't affect the carry flag. Does the store?" I asked.

Rick picked the data sheet back up and scanned it. "Nope."

"I think we could store B first and then we wouldn't have to use A."

"You might be right. Wish we had some way to check."

"Me, too." I wrote in the store instruction. "So we load the high byte at X16 into B." I wrote that into the diagram. "And you were the one that pointed out we could just use the add carry instruction in the immediate mode to add zero to B, and get the carry added in." I added that to the diagram.

Mr. Mori said, "Wait, slow down and say that again."

Rick explained. "We want to add the carry to the high byte. But we don't have anything else to add besides the carry. There's no special instruction that we know of to just add the carry in without adding something else."

 "I see."

"Adding a constant zero wouldn't make a lot of sense, but if it's the add with carry instruction, it does the trick." 

"Very good." 

"Rick was the one who figured that out," I said. "Then we store the updated high byte from B in," I ran out of space at the bottom of the whiteboard and moved over to continue writing op-codes. "And load the result into X and we're finally pointing to the byte we want." 

"That's a lot of work," Karl complained.

"That's what Rick and I were thinking. But we didn't find any instruction to directly add an accumulator to X or to add sixteen bits at once." 

(Spoiler: Motorola would announce a micro-controller CPU called the 6801 sometime during the next year in your timeline, which was an extension of the 6800 that had both the add B to X instruction and 16-bit math.)

"Joe decided not to diagram the steps to add the two bytes. Is that confusing to anyone?"

Several of the guys raised their hands.

"Okay, Joe, do you mind if I take over for a bit?"

"Sure. I mean, no I don't mind. Please take over."

There were scattered chuckles. 

"Okay, we're going to role play the computer." Mr. Mori grinned and paused for effect before continuing. "When I call you, stand up. Joe, you and Rick remain standing. Joe is going to read the instructions, and Rick is going to tell us what happens to each byte."

"Why does Joe get the easy job?" Rick complained with a grin.

More chuckles. 

"Scott, you're direct page memory location X16."

Scott stood up. "What do I do?"

"Mostly remember your current value and tell us what it is."

"I guess I can do that." 

"But we need an actual, concrete example address. Rick, what's the actual address?"

"I don't know. Ten, maybe?"

"Ten it is. Scott, you're location ten. Barry, you're location X16 plus one. What's your address?"

"Uh, eleven?"

"Okay, Bob, you're accumulator B. What do you have when the code starts here?"

"Four."

"Right. Karl, you're the index register, X. What have you got?" 

"N."

"We need a concrete value for N so Barry and Scott know what hits them." 

Karl looked at Rick.

"You pick," Rick said. 

"Anything less that 65,536?"

"What do you say, Joe?" Mr. Mori asked.

"I have the impression that addresses above 32,767 get used for stuff, so maybe below that."

"How about 31,999?"

I shrugged "I think it would be okay, but we have to divide that into high and low bytes."

Karl looked at Barry with a grin. "You do the math."

"Well, 32,000 divided by 256," He looked at Mr. Mori, who nodded. He continued, "Is a hundred twenty-five, so the high byte is 124."

Scott nodded. "And the low byte is 255."

"Okay. But you don't have those yet," Mr. Mori explained. "What do you have?"

Barry said, "Something random?"

"Probably."

"Okay, I have seventeen."

Scott said, "I'll have a hundred seventeen." 

Mr. Mori said, "Now we need someone to be the carry flag. Mark?" 

"Okay. I'm random to start, too?"

"Yeah."

"Then there'll be no carry to start." 

"Okay, Joe, read the instructions."

"Store X at location ten."

Karl said, "Scott first?"

Rick said, "Yeah. Scott gets the most significant byte."

Karl said, "Scott gets one twenty-four." 

Scott said, "124."

Rick continued, "And Barry gets the least significant byte." 

"Barry gets two fifty-five."

Barry said, "255."

I said, "Now, add B from location eleven."

Rick said, "We need the value in location eleven to store in a temporary buffer?"

Mr. Mori nodded. 

Barry said, "255."

Rick said,  "Four and two fifty five makes --" he stopped. "The buffer can't hold anything bigger than 255, so it wraps around to three, with a carry, I guess?"

Bob said, "Three." 

Mark said, "Carry." 

I continued, "Store B to location eleven." 

Rick said, "What Joe said." 

Bob said, "Three."

Barry said, "Three."

Mark said, "Carry unaffected?"

I said, "Right. Now load B from location ten."

Rick said, "Ditto." 

Scott said, "One twenty-four."

Bob said, "One twenty-four."

Mark said, "Carry unaffected, still?"

I said, "Right. Add constant zero to B with carry."

Rick said, "Constant zero read from the next byte of instruction and store in buffer." 

Mark said, "We have carry."

Rick said, "Adding the buffer and the carry to B results in one twenty-five." 

Bob said, "One twenty-five."

Mark said, "No carry."

I said, "Store B in location ten."

Rick said, "The data just moves." 

Bob said, "One twenty-five."

Scott said, "One twenty-five."

Mark said, "Carry unaffected, no carry."

I said, "Load X from location ten."

Rick said, "High byte from location ten." 

Scott said, "124."

Karl said, "I have to hold that 124 in half of me?"

Mr. Mori nodded. 

Rick said, "Low byte from location eleven." 

Barry said, "3."

Karl said, "Man this gets boring." 

Mr. Mori grinned and said, "It's a good thing CPUs don't get bored, isn't it?"

We all laughed.

Karl grinned. "Well, anyway, with three in my low half X is now 32,003. Does this get recalculated or just marked valid?"

Mr. Mori said, "At the end of the instruction clock cycle, it's assumed to be valid."

"Just assumed?" Karl checked.

"Just assumed. If there are no errors in the electronics, it has to be valid."

"Okay." 

I said, "And we are finally ready to do whatever op-code C was. But the instruction will be in indexed mode, and the index byte will be zero."

"Yay," Karl said, and we all laughed.

Mr. Mori commented, "I don't see a return instruction."

"Is that what makes code reusable?" Rick asked.

"If your code is constructed correctly," Mr. Mori replied.

"We haven't got that far yet," I apologized.

"That's okay. We'll get there. But this prepares us to talk about the 6502."

Rick asked, "Can we all sit down, then?"

"Sure." 

We all laughed and those of us standing sat down.

"Wait. Joe, Rick, I still need your help."

"What?" Rick started.

I said, "Oh. What if we have more than eight bits to add, right?"

"Right."

Rick and I stood up to look at the whiteboard, and Rick said, "If we start with the sixteen bits to add, we're almost there with this."

I blinked, and said, "I think you're right."

"Combine two instructions into one," Rick went to the whiteboard and started writing the instruction sequence in a clear space.

 opa (whatever it was)
 STX X16 (2 bytes)
 ADDB X16+1 (2 bytes)
 STAB X16+1 (2 bytes)
 ADCA X16 (2 bytes)
 STAA X16 (2 bytes)
 LDX X16 (2 bytes)
 opc 0,X (2 bytes)

"Could we put a return on the end of that?" Rick asked.

"Depends on what op-code A is, perhaps," Mr. Mori replied. "I don't see a problem with that. Anybody see a problem with that?"

Nobody said they saw a problem with it. 

TOC
Next
Where it starts

Copyright 2026 Joel Matthew Rees





Wednesday, July 15, 2026

3809/2801: Motorola M6800 EXORcises

2801
Motorola M6800 EXORcises

Early Morning Seminary
TOC

(I'm sure I lost a lot of readers on the shift to the teen romance that never was. And I'm going to lose even more readers shifting back to technology now. At least the tech is real -- for the current chapter or so.) 

Nothing remarkable happened in either chemistry class or homeroom. After homeroom, I went to the east student parking lot to meet Rick.

When he saw me, he looked me over with a doubtful expression.

"What?" 

"Mmuhhn yeah." He just shook his head. "Let's get to OC." 

We both climbed in his car, and he started the engine. Then he looked at me again, wrinkling his nose.

"Hit me with it," I said.

"When you called me last night, were you at Sapphire's house?" 

This time it was my turn to be puzzled, while he put the car in reverse, checked his mirrors and the blind spots, and backed out of the parking space. 

"No?" I responded. 

"I'm definitely getting a whiff of something," he said, as he put the car in drive and pulled out of the parking lot. "Like recent. You're not wearing some strange cologne?"

"Oh." I tested the air around me and chuckled wryly. "Becca and Maralea invited Sapphire to Seminary, so I may have gotten a hug or two from her already today. Yeah, she was wearing perfume."

He nodded, absently.

"You don't believe me?"

"Why would she be going to your seminary?"

"Good question. I guess she likes me."

He laughed. "Well, let's hope that's what it is."

"You could come to seminary, too, you know. I might need an objective point of view."

"Any reason to get me to visit your church."

We both laughed.

"I might have to do that," he complained as we waited for a stop light. The light changed and he accelerated. "Are you're going to help me with the calculus homework today?"

"I did about half of it last night, while I was studying with Sapphire. It's dead simple stuff, just working through some basic area summations preparing to discuss integration." 

"Good. I'm glad the class only meets Monday Wednesday Friday, so we have Tuesdays and Thursdays to work on homework in the library."

"Yeah. And I'm wondering if the library has books on microprocessors."

Rick glanced at me. "We can ask. After we finish the calculus homework."

At the college library, we found a study table and set up to study.

"You're right," Rick said. "This is easy stuff." 

We both got busy.

After maybe twenty-five minutes, Rick asked, "Done?"

"Just about."

He looked across the table at my work. "Working ahead again."

"Hey. It's fun." I grinned and put down my pencil.

"Says you." He grinned back. "I'll go ask at the desk."

"I'll go check the card catalog."

Rick and the library assistant beat me to the stacks.

"Univac 1100 Series would be mainframe, wouldn't it?" Rick asked in a low voice.

The assistant nodded. "That's what I understand." 

I read the spine of a nearby volume quietly, "IBM 370."

"Mainframe," Rick replied. He read another. "PDP-11 series." He reached for the DEC manual.

"I think that's a minicomputer," I muttered.

The assistant nodded in agreement again. 

"So not a microcomputer." His hand paused. "Maybe later."

(The LSI-11 implementation of the PDP-11 did exist at the time. But it was not a single-chip microprocessor. It required four chips to function, was very expensive, and studying it would probably have taught lessons of less utility to high-school students than the microprocessors we were talking about in class would teach. It was a significantly more mature class of computer. But it would have been a dream to use. 

For the record, the T-11 single-chip implementation of the LSI-11 was still several years away.) 

I responded with a non-committal "Mmm hmm."

The library assistant pointed out a sign on the shelf I was looking at. "Just a reminder, these are reference works, and can't be checked out." 

Rick and I both nodded our acknowledgement.

"Understood," I said. 

"8080 -- Intel. Repetitious cover. RCA 1800? oh, COSMAC CDP 1802. F8? What's that?" Rick picked up a Fairchild manual.

"And these don't fit on the regular shelf." The library assistant pointed out the oversize shelf. 

"Ah, 6800," I said as I picked up the Motorola M6800 Programming Reference Manual from the shelf she had just indicated.

"Do you think you'll find everything okay?" she asked.

"Probably," Rick responded as he thumbed through the F8 manual. "For now. Thanks."

"The technology department has requisitioned manuals for a few more this semester," she volunteered. "the, uhm, Western Design Center 6502 and a couple of Texas Instruments microprocessors."

"9900?" Rick asked.

"I remember that one," she answered. "They seem to be really new products."

"They are," I confirmed. 

"If you give me your names and phone numbers, we can let you know when we get them."

We did so, and thanked her again, and she returned to the checkout counter.

Rick and I flipped through the manuals we had picked up.

"Wow." Rick muttered. "The F8 looks even more primitive than the 1802." 

He put the Fairchild manual on the returns shelf. "Maybe later."

"The explanations of the microprocessor instructions in this manual look pretty detailed." I handed him the 6800 Programming manual I had picked up.

"For me?" He gave me a lopsided grin.

"Unless you don't want it." 

He opened it up to a random page. 

I grabbed the M6800 Microprocessor Applications manual that had been next to it on the shelf. " I think I'm going to go sit down."

"Good idea." 

We went back to the study table. 

While Rick flipped randomly through the pages of the Programming manual, I opened the Applications manual to the table of contents and started scanning it, subvocalizing the sections. 

"Addressing modes, instruction set, pointer operations, branch and jump, looks like it repeats or summarizes a lot of the information in the Programming manual. Hmm. Plus the electronics side of things." 

Rick didn't say anything, just continued flipping through the pages. 

"Code examples. Addition and subtraction routines, multiplication and division, counting. Chapter two, section one point five." 

I opened to section 2-1.5 and read in a low voice to myself.

  L-D-A-A ALPHA ; Maybe, load A ALPHA?" 
  A-D-D-A BETA ; Add A BETA? 
  S-T-A-A GAMMA
  ; Store A GAMMA?

I explained to myself, "I guess that means GAMMA = ALPHA + BETA, if GAMMA and ALPHA and BETA are all bytes. Load the left side, add the right side, store the result. And it looks like the same sort of thing for subtraction."

"Hang on," Rick said. "There's an appendix that has a description of the instructions. Let me see." Rick flipped pages. "L-D-A loads the contents of memory into the accumulator. And," He flipped pages back. "ADD," he read in English instead of reading each letter, "adds the contents of A-C-C-X and the contents of M and places the result in A-C-C-X. A-C-C-X means accumulator A or B?" He turned the Programming Manual so I could read the page.

"Mmmm -- immediate, direct page, indexed, and extended mode operands for each of accumulators A and B. Sounds right."

"And M is memory?"

"Apparently."

"Okay," he pulled it back and flipped pages forward. "S-T-A stores the contents of accumulator X in memory. The contents of accumulator X remain unchanged. I guess I can follow that. Not that I know what to do next."

"Add with carry?"

He flipped back a few pages. "A-D-C. Right here." 

"It's a start?"

"I hope so. Hmm." He flipped pages back and forth. 

"What?"

"I don't see any ADD to X instruction," he replied.

"Increment?"

He flipped pages. "I-N-X. increment X. Add one to X."

"Maybe it has to be done in memory and then loaded into X. Hang on, there are some tables of instructions here." I flipped back a bit. "Not this one." I flipped back a bit farther. "Accumulator and memory, ah, index register and stack pointer operations. Compare, decrement, increment, load, store, transfer between the stack and index registers. No add or subtract, so it looks like we have to add in memory and then load it. Or if it's quicker, use more than one increment or decrement instruction."

"Sounds like a lot of work."

I flipped some more pages. "I'm going to copy some of this out." And I got a sheet of loose-leaf paper out of my notebook.

"Copier over there?"

"Nah. I don't want the whole page, and the manual isn't going anywhere. And I think I might remember it better if I copy it." 

I copied the very short sequences for adding and subtracting multiple bytes while Rick went back to paging through the Programming Manual

After a few minutes, I said, "I think I'm going to take a guess at how to add B to X," and wrote down,

 STX X16 

Rick read, "Store X in X16. How do you know there is something called X16 that you can store X in?"

"I'm sure one of these manuals explains that." 

"You're making it up."

"For now. Uhm,"

  ADDB X16

"Mmm, how do I do this?" I flipped pages in the manual, looking at the sample code. "Oh, this would probably work."

  ADDB X16+1

"Add to accumulator B from X16 plus one," Rick read. "That would be one memory location beyond X16?"

"I think so."

"Your have B reversed from the example."

"I wonder if it matters." 

Rick give me a "Who knows?" shrug.

I continued. "If it doesn't,"

 LDAA X16
 ADCA 

Again I got stuck.

Rick suggested, "Just adding zero along with the carry might work?"

"Genius."

"Huh."

"Constant is immediate mode, and that uses the, uhm, pound sign." I continued,

 ADCA #0 
 STAB X16+1
 STAA X16 
 LDX X16

Rick read, "Load accumulator A from location X16, add carry immediate zero to A, store B at one beyond X16, store A at X16, and finally load X back in from X16."

We both stared at the code for maybe half a minute. 

"Sounds good, but I wonder if you could clear A and add A from X16 instead?"

"I wonder what would happen to the carry flag. Wait." I flipped back, looking for a table that had the load instruction in it. 

Rick flipped forward a bit.

"C-L-R clear," he said. "R stands for reset. Clears the carry flag."

"Maybe you could clear A first." I read from the table I found, "But loading the accumulator does not affect the carry flag."

"So that sounds like your sequence should work. That's a lot of work to go to every time you want to add B to X."

"There's got to be a way to avoid repeating that every time."

(There is a way to avoid repeating the code, of course, but that's for them to discover later. And what they came up with is not the most optimal, but it's pretty good first efforts. Way better than I and my friends in the reality you know could have done.) 

"I think I'm going to look at decimal adjust later," I commented to myself. "I wonder if carries are the same for decimal and binary."

Rick gave me another shrug, and I turned back to the manual and continued reading. 

"Hmm. It looks like they're saying that standard multiply by column works for binary like it works for base ten, but we knew that."

"You knew that."

"You did too."

"You told me about it once." 

I continued browsing. "Booth's algorithm? I wonder what that is." 

I turned a querying glance at Rick, and he returned a shrug.

"Maybe I'll copy this out later, too." 

I went back to the table of contents. "DMA -- direct memory access." 

"I wish I could make as much sense out of things as you do," Rick complained quietly, as he flipped pages.  

"What do you mean. You are making as much sense out of it as I am. Huh." I stopped flipping pages. "Scanning wand, UPC symbol." 

"Wand?" Rick grinned.

"Magic, I guess." 

We laughed. Quietly.

"Chapter six, design techniques. This looks like it might make a good textbook for our class. Hardware/software tradeoffs, hardware configuration, what's macro flow?"

Rick set the Programming manual down and moved around to my side of the table so he could get a better look.

I continued scanning the table of contents. "Chapter seven, development tasks." I continued silently to the bottom of the page. "Any idea what 'build virtual machine' means?"

"No idea." Rick shrugged and read the next entry, a little loudly. "The EXORciser?" He started humming the signature opening phrase of Mike Oldfield's "Tubular Bells", and we both laughed out loud.

We heard a shush from the checkout counter. I looked up and gave the library staff a thumbs-up, and the librarian who had helped us gave me a mock stern look, but with a real warning behind it.

"For getting the demons out of our designs?" I suggested, more quietly than before.

We both snickered. I glanced back to check with the librarian at the desk. She rolled her eyes. 

"Some engineer likes puns," Rick muttered. 

"Chapter seven, page sixty-nine." I flipped to the specified page. That page had an image of a rather non-descript box. The swept-back front panel with an exaggerated lower lip might have been an attempt to make it look futuristic or something. The left three-quarters was occupied by a blank inset, and the only controls were to the right of the inset -- a keyswitch between two pushbuttons, with three indicator lamps, probably LEDs, above the controls, and the EXORciser logo above that.  

Rick shook his head. "Looks kind of like a squashed toaster oven." 

"No blinkenlights?" I turned the page. "Seventeen inches wide, nineteen deep, seven high. Forty-five pounds." (43.18 cm by 48.26 cm by 17.78 cm; about 20.412 kg.)

"The Altair 8800 looks a lot more interesting, what with all the switches and lights on the front panel."

"I wonder if we could put that kind of front panel on this."  

"I wonder how much it costs, and what you can do with it."

"I don't see any indication of prices. I might have asked about that in my letter of inquiry, if I had read this first." 

"Maybe they'll send you a price list anyway. I'll bet the SWTPC will be cheaper."

"Different purposes, probably." 

"Yeah, I think we need to know more about what these gadgets do before worrying about prices." 

We scanned more of the chapter without comment until Rick looked at his watch. 

"Time to go for lunch." 

"Whataburger?" 

"Yah." 

We put the manuals on the returns shelf, thanked the library staff on our way out, and headed north in Rick's car for the Whataburger down the road.

"Onions today?" Rick joked as we pulled into the drive-in.

I chuckled. "Is that relevant?" 

But I think I did order onions, lettuce, tomato, pickles, and cheese, with ketchup and mayonnaise. I usually did. Rick probably ordered grilled chicken with mayonnaise sauce, per his usual.

We talked about math and electronics while we ate, and then headed for Permian. 

TOC
ALUs, Register Indirect Review, 
Role Playing the 6800
Where it starts

Copyright 2026 Joel Matthew Rees




[Edit record here:  https://joelrees-novels.blogspot.com/2026/07/mark00-3809-2801-motorola-m6800-exorcises.html]


[MARK00] 3809/2801: Motorola M6800 EXORcises

EDIT MARK record 00
Read the current version at: 
https://joelrees-novels.blogspot.com/2026/07/3809-2801-motorola-m6800-exorcises.html

2801
Motorola M6800 EXORcises

Early Morning Seminary
TOC

(I'm sure I lost a lot of readers on the shift to the teen romance that never was. And I'm going to lose even more readers shifting back to technology now. At least the tech is real -- for the current chapter or so.) 

Nothing remarkable happened in either chemistry class or homeroom. After homeroom, I went to the east student parking lot to meet Rick.

When he saw me, he looked me over with a doubtful expression.

"What?" 

"Mmuhhn yeah." He just shook his head. "Let's get to OC." 

We both climbed in his car, and he started the engine. Then he looked at me again, wrinkling his nose.

"Hit me with it," I said.

"When you called me last night, were you at Sapphire's house?" 

This time it was my turn to be puzzled, while he put the car in reverse, checked his mirrors and the blind spots, and backed out of the parking space. 

"No?" I responded. 

"I'm definitely getting a whiff of something," he said, as he put the car in drive and pulled out of the parking lot. "Like recent. You're not wearing some strange cologne?"

"Oh." I tested the air around me and chuckled wryly. "Becca and Maralea invited Sapphire to Seminary, so I may have gotten a hug or two from her already today. Yeah, she was wearing perfume."

He nodded, absently.

"You don't believe me?"

"Why would she be going to your seminary?"

"Good question. I guess she likes me."

He laughed. "Well, let's hope that's what it is."

"You could come to seminary, too, you know. I might need an objective point of view."

"Any reason to get me to visit your church."

We both laughed.

"I might have to do that," he complained as we waited for a stop light. The light changed and he accelerated. "Are you're going to help me with the calculus homework today?"

"I did about half of it last night, while I was studying with Sapphire. It's dead simple stuff, just working through some basic area summations preparing to discuss integration." 

"Good. I'm glad the class only meets Monday Wednesday Friday, so we have Tuesdays and Thursdays to work on homework in the library."

"Yeah. And I'm wondering if the library has books on microprocessors."

Rick glanced at me. "We can ask. After we finish the calculus homework."

At the college library, we found a study table and set up to study.

"You're right," Rick said. "This is easy stuff." 

We both got busy.

After maybe twenty-five minutes, Rick asked, "Done?"

"Just about."

He looked across the table at my work. "Working ahead again."

"Hey. It's fun." I grinned and put down my pencil.

"Says you." He grinned back. "I'll go ask at the desk."

"I'll go check the card catalog."

Rick and the library assistant beat me to the stacks.

"Univac 1100 Series would be mainframe, wouldn't it?" Rick asked in a low voice.

The assistant nodded. "That's what I understand." 

I read the spine of a nearby volume quietly, "IBM 370."

"Mainframe," Rick replied. He read another. "PDP-11 series." He reached for the DEC manual.

"I think that's a minicomputer," I muttered.

The assistant nodded in agreement again. 

"So not a microcomputer." His hand paused. "Maybe later."

(The LSI-11 implementation of the PDP-11 did exist at the time. But it was not a single-chip microprocessor. It required four chips to function, was very expensive, and studying it would probably have taught lessons of less utility to high-school students than the microprocessors we were talking about in class would teach. It was a significantly more mature class of computer. But it would have been a dream to use. 

For the record, the T-11 single-chip implementation of the LSI-11 was still several years away.) 

I responded with a non-committal "Mmm hmm."

The library assistant pointed out a sign on the shelf I was looking at. "Just a reminder, these are reference works, and can't be checked out." 

Rick and I both nodded our acknowledgement.

"Understood," I said. 

"8080 -- Intel. Repetitious cover. RCA 1800? oh, COSMAC CDP 1802. F8? What's that?" Rick picked up a Fairchild manual.

"And these don't fit on the regular shelf." The library assistant pointed out the oversize shelf. 

"Ah, 6800," I said as I picked up the Motorola M6800 Programming Reference Manual from the shelf she had just indicated.

"Do you think you'll find everything okay?" she asked.

"Probably," Rick responded as he thumbed through the F8 manual. "For now. Thanks."

"The technology department has requisitioned manuals for a few more this semester," she volunteered. "the, uhm, Western Design Center 6502 and a couple of Texas Instruments microprocessors."

"9900?" Rick asked.

"I remember that one," she answered. "They seem to be really new products."

"They are," I confirmed. 

"If you give me your names and phone numbers, we can let you know when we get them."

We did so, and thanked her again, and she returned to the checkout counter.

Rick and I flipped through the manuals we had picked up.

"Wow." Rick muttered. "The F8 looks even more primitive than the 1802." 

He put the Fairchild manual on the returns shelf. "Maybe later."

"The explanations of the microprocessor instructions in this manual look pretty detailed." I handed him the 6800 Programming manual I had picked up.

"For me?" He gave me a lopsided grin.

"Unless you don't want it." 

He opened it up to a random page. 

I grabbed the M6800 Microprocessor Applications manual that had been next to it on the shelf. " I think I'm going to go sit down."

"Good idea." 

We went back to the study table. 

While Rick flipped randomly through the pages of the Programming manual, I opened the Applications manual to the table of contents and started scanning it, subvocalizing the sections. 

"Addressing modes, instruction set, pointer operations, branch and jump, looks like it repeats or summarizes a lot of the information in the Programming manual. Hmm. Plus the electronics side of things." 

Rick didn't say anything, just continued flipping through the pages. 

"Code examples. Addition and subtraction routines, multiplication and division, counting. Chapter two, section one point five." 

I opened to section 2-1.5 and read in a low voice to myself.

  L-D-A-A ALPHA ; Maybe, load A ALPHA?" 
  A-D-D-A BETA ; Add A BETA? 
  S-T-A-A GAMMA
  ; Store A GAMMA?

I explained to myself, "I guess that means GAMMA = ALPHA + BETA, if GAMMA and ALPHA and BETA are all bytes. Load the left side, add the right side, store the result. And it looks like the same sort of thing for subtraction."

"Hang on," Rick said. "There's an appendix that has a description of the instructions. Let me see." Rick flipped pages. "L-D-A loads the contents of memory into the accumulator. And," He flipped pages back. "ADD," he read in English instead of reading each letter, "adds the contents of A-C-C-X and the contents of M and places the result in A-C-C-X. A-C-C-X means accumulator A or B?" He turned the Programming Manual so I could read the page.

"Mmmm -- immediate, direct page, indexed, and extended mode operands for each of accumulators A and B. Sounds right."

"And M is memory?"

"Apparently."

"Okay," he pulled it back and flipped pages forward. "S-T-A stores the contents of accumulator X in memory. The contents of accumulator X remain unchanged. I guess I can follow that. Not that I know what to do next."

"Add with carry?"

He flipped back a few pages. "A-D-C. Right here." 

"It's a start?"

"I hope so. Hmm." He flipped pages back and forth. 

"What?"

"I don't see any ADD to X instruction," he replied.

"Increment?"

He flipped pages. "I-N-X. increment X. Add one to X."

"Maybe it has to be done in memory and then loaded into X. Hang on, there are some tables of instructions here." I flipped back a bit. "Not this one." I flipped back a bit farther. "Accumulator and memory, ah, index register and stack pointer operations. Compare, decrement, increment, load, store, transfer between the stack and index registers. No add or subtract, so it looks like we have to add in memory and then load it. Or if it's quicker, use more than one increment or decrement instruction."

"Sounds like a lot of work."

I flipped some more pages. "I'm going to copy some of this out." And I got a sheet of loose-leaf paper out of my notebook.

"Copier over there?"

"Nah. I don't want the whole page, and the manual isn't going anywhere. And I think I might remember it better if I copy it." 

I copied the very short sequences for adding and subtracting multiple bytes while Rick went back to paging through the Programming Manual

After a few minutes, I said, "I think I'm going to take a guess at how to add B to X," and wrote down,

 STX X16 

Rick read, "Store X in X16. How do you know there is something called X16 that you can store X in?"

"I'm sure one of these manuals explains that." 

"You're making it up."

"For now. Uhm,"

  ADDB X16

"Mmm, how do I do this?" I flipped pages in the manual, looking at the sample code. "Oh, this would probably work."

  ADDB X16+1

"Add to accumulator B from X16 plus one," Rick read. "That would be one memory location beyond X16?"

"I think so."

"Your have B reversed from the example."

"I wonder if it matters." 

Rick give me a "Who knows?" shrug.

I continued. "If it doesn't,"

 LDAA X16
 ADCA 

Again I got stuck.

Rick suggested, "Just adding zero along with the carry might work?"

"Genius."

"Huh."

"Constant is immediate mode, and that uses the, uhm, pound sign." I continued,

 ADCA #0 
 STAB X16+1
 STAA X16 
 LDX X16

Rick read, "Load accumulator A from location X16, add carry immediate zero to A, store B at one beyond X16, store A at X16, and finally load X back in from X16."

We both stared at the code for maybe half a minute. 

"Sounds good, but I wonder if you could clear A and add A from X16 instead?"

"I wonder what would happen to the carry flag. Wait." I flipped back, looking for a table that had the load instruction in it. 

Rick flipped forward a bit.

"C-L-R clear," he said. "R stands for reset. Clears the carry flag."

"Maybe you could clear A first." I read from the table I found, "But loading the accumulator does not affect the carry flag."

"So that sounds like your sequence should work. That's a lot of work to go to every time you want to add B to X."

"There's got to be a way to avoid repeating that every time."

(There is a way to avoid repeating the code, of course, but that's for them to discover later. And what they came up with is not the most optimal, but it's pretty good first efforts. Way better than I and my friends in the reality you know could have done.) 

"I think I'm going to look at decimal adjust later," I commented to myself. "I wonder if carries are the same for decimal and binary."

Rick gave me another shrug, and I turned back to the manual and continued reading. 

"Hmm. It looks like they're saying that standard multiply by column works for binary like it works for base ten, but we knew that."

"You knew that."

"You did too."

"You told me about it once." 

I continued browsing. "Booth's algorithm? I wonder what that is." 

I turned a querying glance at Rick, and he returned a shrug.

"Maybe I'll copy this out later, too." 

I went back to the table of contents. "DMA -- direct memory access." 

"I wish I could make as much sense out of things as you do," Rick complained quietly, as he flipped pages.  

"What do you mean. You are making as much sense out of it as I am. Huh." I stopped flipping pages. "Scanning wand, UPC symbol." 

"Wand?" Rick grinned.

"Magic, I guess." 

We laughed. Quietly.

"Chapter six, design techniques. This looks like it might make a good textbook for our class. Hardware/software tradeoffs, hardware configuration, what's macro flow?"

Rick set the Programming manual down and moved around to my side of the table so he could get a better look.

I continued scanning the table of contents. "Chapter seven, development tasks." I continued silently to the bottom of the page. "Any idea what 'build virtual machine' means?"

"No idea." Rick shrugged and read the next entry, a little loudly. "The EXORciser?" He started humming the signature opening phrase of Mike Oldfield's "Tubular Bells", and we both laughed out loud.

We heard a shush from the checkout counter. I looked up and gave the library staff a thumbs-up, and the librarian who had helped us gave me a mock stern look, but with a real warning behind it.

"For getting the demons out of our designs?" I suggested, more quietly than before.

We both snickered. I glanced back to check with the librarian at the desk. She rolled her eyes.

"Chapter seven, page sixty-nine." I flipped to the specified page. That page had an image of a rather non-descript box. The swept-back front panel with an exaggerated lower lip might have been an attempt to make it look futuristic or something. The left three-quarters was occupied by a blank inset, and the only controls were to the right of the inset -- a keyswitch between two pushbuttons, with three indicator lamps, probably LEDs, above the controls, and the EXORciser logo above that.  

Rick shook his head. "Looks kind of like a squashed toaster oven." 

"No blinkenlights?" I turned the page. "Seventeen inches wide, nineteen deep, seven high. Forty-five pounds." (43.18 cm by 48.26 cm by 17.78 cm; about 20.412 kg.)

"The Altair 8800 looks a lot more interesting, what with all the switches and lights on the front panel."

"I wonder if we could put that kind of front panel on this."  

"I wonder how much it costs, and what you can do with it."

"I don't see any indication of prices. I might have asked about that in my letter of inquiry, if I had read this first." 

"Maybe they'll send you a price list anyway. I'll bet the SWTPC will be cheaper."

"Different purposes, probably." 

"Yeah, I think we need to know more about what these gadgets do before worrying about prices." 

We scanned more of the chapter without comment until Rick looked at his watch. 

"Time to go for lunch." 

"Whataburger?" 

"Yah." 

We put the manuals on the returns shelf, thanked the library staff on our way out, and headed north in Rick's car for the Whataburger down the road.

"Onions today?" Rick joked as we pulled into the drive-in.

I chuckled. "Is that relevant?" 

But I think I did order onions, lettuce, tomato, pickles, and cheese, with ketchup and mayonnaise. I usually did. Rick probably ordered grilled chicken with mayonnaise sauce, per his usual.

We talked about math and electronics while we ate, and then headed for Permian. 

TOC
Next
Where it starts

Copyright 2026 Joel Matthew Rees


Tuesday, May 26, 2026

3809/2801: Early Morning Seminary

2801
Early Morning Seminary

Terms of Engagement -- Reality
TOC

Sometime during the night, I woke up with the recurring nightmare I'd had since before grade school, where I was running for the gate and couldn't get to the latch in time to get through. But this time, I got through before I woke up. And I saw who it was I was running from, even though I didn't quite remember what it meant. 

The alarm rang at 5:45 in the morning, and I headed sleepily to the shower.   The stream of my memory of the events of the previous day blasted me along with the stream of water, and I wished I had thought to set the alarm for a few minutes earlier. And I wondered whether I should have braved her parents reactions and invited Sapphire to Seminary.

Satisfying myself with the usual soap-only-where-it-counts, and promising myself to set the alarm at least five minutes earlier that night, I toweled off, threw on the clothes I had worn the day before, and went into the kitchen for toast and peanut butter.

"Good morning Joey." Mom was at the stove. "How does a boiled egg sound this morning?"

"Mmm. Sounds good. Thanks, Mom." I gave Mom a hug, grabbed some bread from the counter behind her, and loaded the toaster.

"You're going to need more complete protein if you're going to be doing all this stuff that uses your muscles."

"Peanut butter's not going to be enough?" I reached into the fridge and pulled out the milk and the dish of raw vegetables Dad had cut the night before.

"I think not. That's yesterday's shirt, isn't it?"

I looked down at my shirt. It was a medium blue casual button-down shirt, didn't look that wrinkled. I sniffed, and I caught a little of my own body odor. "Not a good idea?"

She shook her head.

I set the milk and vegetables on the table and went back to my room to grab a clean rayon Swedish knit tee with a color print of an air balloon on front, tossing the previous day's shirt in the hamper as I passed the bathroom again on the way back to the kitchen. I pulled the clean shirt on over my head as I passed through the living room and ignored the scratchy feel against my skin. 

Mom looked at the shirt with an air of dissatisfaction as she spread peanut butter on a slice of toast for me, but she didn't say anything. 

"You think I should wear something else?" I got out a plate and Mom put the the peanut-buttered toast on it, picking up the other slice to repeat. 

She shrugged. "I'm the one who bought it for you three years ago."

I put two more slices in the toaster and got out more plates. "Are the eggs ready to cool?"

"Yep." Mom put the second slice on my plate.

I poured the boiled water out of the pan, holding the eggs in with the lid, then poured cold tap water over the eggs, repeating several times until the eggs were cool, Then I picked one out and started peeling it while Mom buttered the second batch of toast with regular butter (Real butter, not margarine. We had quit eating margarine about the time I hit my sophomore year.) for herself. I peeled another egg for Mom, and we sat down. Mom gave me a nod, so I offered a quick blessing, and we ate.  

Dad came in as we finished up, rubbing his hair with a towel.

"Buenos dias."

"G'mornin' Dad. Want me to peel you one of Momma's eggs?"

"No, I've got it. You guys get to Seminary."

I grabbed my books and Mom grabbed something she wanted to work on in the library at church, and I drove, taking my usual quick route past Polyantha Park and up University Boulevard.

Mom didn't mention Sapphire on the way, giving me room to think while I drove in mostly automatic mode.

I parked the car in the new parking lot in back.

Shelly Rudd and her mom approached as we walked to the back hall entrance. Shelly gave me a guarded look. "Hi, Joe. Good morning, Sister Reeves." 

"Hey, Shelly, how's it going?" I responded.

"Good morning, Shelly," Mom greeted her, as well.

"It's, uhm, okay." Shelly paused by the door. "Joe, don't get any ideas, but can I ask for a ride to school after seminary? My mom needs the car." 

"I think so." I looked at Mom, and she raised an eyebrow and tilted her head.

"But I'll be at Permian after lunch," I added. "So you'll need another ride home."

"I usually catch the bus."

Sister Rudd added, "I need to go in to the office early for a while, so we're wondering, if maybe she could catch a ride regularly?"

I looked at Mom. She wasn't giving me any more clues. "I think we can do that," I said.

Both Mom's eyebrows went up.

"Am I not thinking of something, Mom?" I asked.

"Maybe I'm not the one to ask."

"Uhm, well, I don't think Sapphire would mind."

"Sapphire might not be the only one whose opinion needs to be considered."

Mom still wasn't giving me enough clues.

"Sapphire?" Shelly asked.

"Who is Sapphire?" her mother asked. 

"She's," I turned back to Shelly, "a girl I know from Hood." I was choosing my words carefully. 

Shelly suddenly became inquisitive. "You have a girlfriend? Since when?"

I looked back at my mom for help. She just gave me a "You got yourself into this." smile.

I dodged. "We've known each other since seventh grade. I guess we've been getting a little more serious about each other recently." 

Mom blinked and nodded.

"I really don't think she'll mind," I added.

Shelly's focus shifted and her expression shifted with it. 

From behind me, Becca said, "Good morning, Joe. Why haven't you invited Sapphire to Seminary yet?"

It took me a fraction of a second to shift gears. "I didn't think her Mom would --" I started to turn.

Hands covered my eyes from behind, hands I would not have recognized the morning before.

I smiled sheepishly and said, "Good morning, Sapphire," and put my left hand over her's.

I felt as much as heard her giggle. And I thought I heard Shelly say a quiet "Oh." 

"I guess your mom figured it would be okay if it was Becca and not me inviting you?" 

Maralea and Becca broke out laughing behind me. Sapphire slipped her hand out from under mine, and she gave me a hug from behind with both hands, dodging the books under my right arm. I felt her laughter against my back before I turned to face her.

"Good morning, Joey. Yeah, kinda. But it was Maralea who invited me. And Mom and Dad really would have both been okay with it if you had invited me yourself last night."

"I'm glad someone is on top of things." I reached around her waist and drew her to my side, dodging her shoulder bag hanging from her left shoulder.

I tipped my head toward Shelly. "Shelly, meet Sapphire."

"Hi, Sapphire." Shelly's face was a mask telling me nothing.

"Sapphire, Shelly," I was stuck. "I, uh, took  Shelly to see that Pink Panther movie last year after my birthday -- when I could finally drive by myself without someone eighteen or older riding shotgun."

Sapphire gave her a smile. "Hi, Shelly. That's a fun movie."

Shelly's mask resolved into a lopsided smile. "I guess I don't like British slapstick that much. And I was kind of expecting the animated cartoon more than Peter Sellers."

I ducked my head apologetically. "I should have found out more about the movie before I invited you." 

"That's okay. I learned that we don't have the same taste in movies."

"Since you're here, Sapphire," I began.

Shelly interrupted me. "Never mind, Joe. It's okay. I can walk if Rusty can't give me a ride."

Sapphire raised her eyebrows with a smile. "What kind of friend would I be if I objected to giving a friend a ride to school?" 

I looked from Sapphire to Mom to Shelly. 

Sister Rudd asked, "You wouldn't mind?"

"It's not like we're engaged or anything." Sapphire turned her head to give me a sly wink. "Yet."

I nodded absently. "Yet. Why do I feel threatened by that?"

She smirked at me. Then she turned and reached out for Shelly's hand. "I'm glad to meet you, Shelly. I hope we can be friends." 

Shelly grinned suddenly as their hands met, and she nodded. "I hope so, too." 

Sapphire gave me a side hug. "Can you guys go in ahead of us? I need to talk with Joe."

"Now I'm Joe again."

Sapphire gave me another smirk.

Nobody disagreed, and Becca, Maralea, and Shelly went inside, and my mom walked with Sister Rudd over to her car.

Sapphire and I walked north a few yards, moving away from the back entrance towards the junior high school across the street from the church, remaining on the sidewalk on the church side of the street. Her smile went away and she buried her face in my chest. She gave me a muffled "Thanks." 

I wrapped my left arm around her waist, thinking distractedly about how books got in the way more if they were loose, and not in a backpack. "For what?"

We stood that way for an extended moment. A car came up the street, slowing down as it pulled even with us. Alex Dent raised his hand from the steering wheel in a small wave as he turned into the parking lot. I raised the books in my right hand to wave back.

"This isn't going to work with your friends." Still muffled.

"Mmm?" 

Sapphire pulled back, resting her hands on my shoulders. "Maralea called after you left last night. She'd been talking with Becca, and neither of them could believe you'd been dating me for the last two years." 

"Yeah, that's going to be kind of hard to pull off at church."

"So I 'fessed up."

I nodded. 

Alex and several others got out of his car, but didn't seem to be in a hurry to head for the entrance. 

"Maralea said she wouldn't lie, but she promised she wouldn't tell anyone more than they need to know. This morning, when they picked me up, Becca said she didn't think it was everybody's business either." 

"It seems like, at church, everyone knows who's dating who and all."

"Kiss and tell?"

"Kiss and get found out. And I'm pretty much known for being a lone wolf. And having never been kissed." 

Another car came up and slowed down to turn, hands reaching out to wave from both the driver's side and passenger's side as it approached. "Joe!!" Rusty called out from the driver's side window as he drew even. "Yew dawg!" Liz peered around him from inside the car, giving us another small wave with her fingers as they turned in.

I released Sapphire's hand to give him a thumbs-up, and Sapphire and I both watched them park. 

And she took my hand again. "Who's that?" 

"That's Rusty. He's probably my best friend at church. And his little sister, Liz." 

"Really never kissed a girl?"

"Didn't I mention that?"

"No, you didn't."

"Not bragging, by the way." 

Rusty and Liz got out and joined Alex and his group and they all headed towards the back entrance.

"I'm wondering if I should accept that as a challenge." Sapphire squeezed my hand. She chuckled. 

I chuckled nervously. 

"Liz, you said?" she asked, somewhat absently.

"Yeah?"

"She's really cute."

"Spunky, too. Is 'spunky' too archaic?"

"Probably not." 

Alex and his group all gave us small waves as they passed and went inside, but Rusty and Liz came over.

"So who's your friend, Joe?" Liz asked as they approached, her lisp on the consonants just barely audible.

"I'm Sapphire." 

Rusty tossed his head back. "I think I remember Joe talking about a crush he had on a girl named Sapphire a couple of years back when we were looking through our junior high annuals," He raised his hand and I met it with a hand slap.

"We somehow ended up in the same typing class over at Permian," I explained. 

"Somehow," Rusty echoed ironically.

"Yeah," I chuckled. 

"Fate?" Sapphire joked. 

"He had this huge crush on you."

"So I've heard. Again."

I nodded "Yep."

"Anyway, I'm Rusty, if Joe didn't already tell you. Joe and I go way back."

"And I'm Rusty's little sister, Liz."

"Nice to meet you both." 

"So, are you going to skip Seminary today?" Liz asked.

Sapphire tilted her head. "That's not why I came to your Bible study."

Liz grinned. 

"Well, not the only reason. I just needed to talk with Joey before we went in."

"Talk." Liz raised her eyebrows.

"Talk." I nodded. Then I added, "Long story, but Sapphire has been kind-of using me as an excuse for not dating since Hood. So we are being kind of ambiguous when we talk about our history."

Rusty nodded with mock gravity, but Liz looked puzzled. 

"Not lying," Sapphire added. "Just not telling the guys who ask me out everything. About our relationship. I've had a crush on him for a long time, too, anyway."

"Gotcha." Rusty raised his fist, and Sapphire and I raised ours and we bumped our fists together. 

"Oh." Liz exclaimed. "I get it." And she joined the fist bump. 

Rusty gave us a sly chuckle. "Well, maybe we should let you two, uhm, talk about ambiguities. C'mon, Liz."

They headed to the rear entrance, but Liz turned back. "Have fun," she paused, grinned, and raised her eyebrows, "talking." She waved her fingers, and Sapphire returned the finger wave with a grin.

"I think she's beautiful." Sapphire said quietly.

"Yeah, I have a crush on her, too. But she knows I get crushes easily." 

"I think I like your friends at church." Sapphire turned to me, her expression turning puzzled. "But now I have a question."

"Yeah?"

She was silent while a couple more cars came by and turned in and their occupants waved. 

"But I don't think I want to ask with all your friends going by. It'll wait. Let's go inside." 

"We could go sit on Bowie's lawn for a minute or two."

She looked over at the junior high and back at the cars that were parking.

"I'll ask you when we're studying tonight." 

"Guessing, since I just told you I've never been kissed, that you're wondering," I lowered my voice, "about the time Buddy Howell asked me in art class if I was a virgin?"

"You remember that."

I nodded. 

"I guess maybe I do want to talk now." She dragged me towards Bowie. 

"I went home and looked up the word," I said as we crossed the street, "because I thought it was a stupid thing to ask a guy and wanted to be sure how I was being insulted."

"Insulted?" We stopped on the sidewalk on the Bowie side of the street.

"That was what I thought. I'm sure I am not the only one who has ever misunderstood the word. Yeah, I should have corrected myself the next day, but I was too embarrassed."

Sapphire gave me a puzzled look, holding my hand with both of hers.

"Also I wasn't sure."

"Explain, please? I'm not following this."

More students waved as they entered the church, and we waved back. They all respected the street between. 

I turned Sapphire's hand loose and scratched the back of my head. "Up until fourth or fifth grade, the only times I had heard the word 'virgin' were in the context of Mary being pregnant with Jesus."

Sapphire's head tilted, her eyes holding back her thoughts. 

"So I had this idea that it meant being pregnant with the son of God."

She didn't even blink. 

"But the sex ed classes talked about it, so then I decided it just meant being pregnant in general, and kind of bleeped over why it didn't really make sense the way they were using it. Not like the sex ed class really made any kind of sense at all."

Now she blinked and rolled her eyes. 

"I'm not the only one."

"I suppose so. Maybe I didn't know what the Virgin Mary meant when I was really young, either. Really young." Extra emphasis on "really", the second time.

"Hey."

She grinned and tickled me. And took my hand back again.

"Yeah," I continued. "Well, in the sixth grade, when some of the guys were teasing each other about being pregnant, some of them said 'virgin'. I'm not sure they knew if they were using the word ironically or just wrong."

She nodded. "Maybe it wasn't being pregnant they thought they were teasing each other about?" she suggested.

I pursed my lips, but shook my head. "Some of them were talking about nine months, and couple of them played with stuffing a basketball under their shirts."

She thought, then slowly shook her head. "Okay. There's some irony in there that might be, mmm, a little beyond some sixth grade boys." She bit her lip and breathed a sigh. "So you're a virgin, after all."

I consulted my conscience and checked my courage and my grammar while the seconds dragged before I asked. But I asked, keeping my voice low, "Except, does masturbation count?" The gate from the nightmare, and the neighbor's back yard, came into my mind, but I pushed the images aside, not wanting to the distraction.

She took a quick breath and put her free left hand to her mouth, which didn't hide the corners turning up. 

"Oh, Joey." 

But she didn't release my left hand. 

"I'm not laughing at you," she protested.

"But you are laughing." 

She shook her head with a chagrined grin, and we stood, holding hands, in silence for a few moments.

"If that counted," she said, "I don't think there'd be any virgins."

"No?" 

"Guys or girls." 

I had to think about that.

"You ...?"

"Everybody bops." 

(No, neither Cyndi Lauper nor Francois de la Brioskee, whoever he was, invented that truism.) 

I was still processing things. "Be-bop?" 

"Quit that."

We stood in silence for a few moments more, still holding hands. 

"You know," she said. "We're going to have a really hard time studying Bible this morning."

"We'd better go inside." 

"I think so." 

We crossed the street, swinging our hands together. 

As we opened the door to the back entrance, Sapphire looked down the hall, then stopped and pulled back, out of sight, and looked around as if looking for cover. 

I looked down the hall at the open door at the far end, where I saw through the door some of the guys joking around in the classroom. I let the entrance door close in front of us.

"I'd forgotten Stewart was one of you guys," she muttered.

I wrinkled my forehead. "Us guys."

She looked a little guilty. "Well, I don't exactly consider myself a Mormon. At least not yet."

"We're both Christian." I raised my eyebrows with a small smile.

"What I mean is I didn't think ..."

"Never mind, I'm just being obnoxious."

We were still holding hands. 

"I didn't realize there would be guys I knew here besides you and Becca and Maralea. You're not offended?"

I gave her a lopsided grin. "Nah. 'At least not yet.' You'll think about it?"

"Becoming a Mormon? Of course. I am. Thinking about it."

"So, I'm guessing Stu is one of the guys you told you had a boyfriend?"

She nodded hesitantly.

I raised my eyebrows again, with a grin. "So now we are going to see how this strategy of minimal necessary truth works for real?" 

She thought, then nodded, still hesitant. 

I gave her a conspiratorial nod and opened the door, and we went inside. Stu was no longer visible through the door at the far end of the hall.

I stopped her and gave her a quick side hug just before we walked into the classroom, and we walked in together holding hands. Stu and some other guys were in the back row, joking loudly. They didn't immediately take notice of us. Stu's current steady, Katie, was sitting at the desk Stu was sitting on.

Becca, Maralea, Shelly, Rusty, and Liz had strategically picked desks that surrounded two empty desks, side-by-side. Sapphire checked with me with her eyes, and I nodded, and we moved to the open desks.

"Thanks, guys," Sapphire said as she set her bag down. Shelly and Liz touched fingers with her.

"No!" Stu protested from the back row. 

Sapphire and I glanced at each other with conspiratorial grins.

I subvocalized, "Delayed reaction."

And she laughed. 

Becca and Maralea were breaking up behind us. 

"Sapphire, what are you doing here?" 

Sapphire and I turned in unison.

"And why are you sitting with Joe? You should be sitting back here with us."

"Oh, hi, Stu." Sapphire turned to me in feigned confusion. "Joey, is there a rule in your church against a girl sitting with her boyfriend?"

"Maybe we should ask Stu's dad, since he's bishop," I said in mock seriousness. 

Stu stood. "Sapphire is not your girlfriend, Joe!"

We both turned back to Stu.

Katie was shaking her head in disbelief. 

Sapphire asked, innocently, "Whatever would make you say such a thing?" 

I grinned. "And a good morning to you, too, Stu."

Rusty laughed. "Don't take it personal, Stu."

Stu doubled down. "No way. Sapphire, you do not need to be sitting by Joe. You need to be sitting back here with us."

I opened my mouth, but Katie cut me off.

"And where do I sit, Stewart Kirk?" If looks could have killed --

Stu looked at Katie, registered her non-verbal accusation, then snuck a look in our direction. "I don't ..."

"Don't you!" Katie scolded.

"Stu," I said, "there's something called compatibility that cannot be forced. Loyalty, too."

Sapphire put her hand on mine. 

Stu suppressed a recoil. "Huh?" 

Katie added, "And right now, I'm thinking hard about compatibility. Real hard. Sure would have been nice to have some loyalty."

Stu gave me a hard look, and I met his glare with a neutral, but slightly sideways expression. 

"There's no way she's going to be going steady with you Joe."

Sapphire cut me off this time. "I beg to differ."

"There's no way you've been going steady for two years."

Sapphire and I turned and smiled at each other, both of us with raised eyebrows. 

"Is that so?", we chorused. 

"Mphhh." Shelly almost lost it.

"What are you laughing at, Shelly? You've gone out with Joe."

"Once. They obviously weren't seeing each other at the time," she answered.

Sapphire reached behind me and touched fingers with Shelly. Shelly squeezed her hand.

"Stu," I became pedantic. "You don't have to know everything that's going on in the ward. Even though your dad is the Bishop. Especially since your dad is the Bishop."

Bishop Kirk cleared his voice at the door. "Joe's right, Stu. Sapphire, is it?"

"Uh, hi. That's me."

We both turned. 

"I apologize for my son. I hope he hasn't been misbehaving," he paused, "too much. Not at all is a little beyond us at this point."

"Well, he's not the worst of the guys at school. And he didn't keep pushing after I told him I wasn't available. That's a plus."

"I'll have to have another talk with him." Bishop Kirk gave Stu a meaningful look. 

Stu glared back. 

I quietly said, "Dang, Phi. I'm sorry."

Sapphire tilted her head. "It's not your fault."

"Tell me about it?"

She gave me a small grimace. "Later."

I nodded.  

"Katie, I didn't mean ...," Stu tried to apologize.

"Sure you didn't." She cut him off.

Bishop Kirk cleared his throat, and we all quieted down and those of us still standing sat down, and those of us who had scriptures and student manuals got them out.

I moved my desk close to Sapphire's so we could share my scriptures and student manual. She got her Bible and a notebook out of her bag.

Sister Kirk came in, and Bishop Kirk asked Liz to give the opening prayer.

After the prayer, the bishop asked, "Okay, who's read the assignment?"

I looked around, then raised my hand at the same time as Shelly. Alex was also hesitating, but he raised his hand too, followed by Mike and Becca. Katie and some others raised their hands, too. 

Sapphire started to lift her hand, but I said quietly, "What we read last night in Jonah was different."

"Oh." She put her hand down, disappointed.

"Sorry."

She grinned.

I opened my Doctrine and Covenants paired paperback edition to the Pearl of Great Price in the back and showed her the first chapter of the Book of Moses.

She furrowed her eyebrows. 

"Okay, who wants to summarize?" Sister Kirk asked.

 Katie said, "The burning bush wasn't all that Moses saw."

"Very good. Tell us about it?"

"I don't remember everything, but God showed him, well, basically, everything in the world."

"Okay." Bishop Kirk encouraged her.

"And then Satan came and tried to pretend he was Jesus. But Moses resisted temptation. And God showed him even more stuff. And there are other planets in the universe and people who worship God live on them."

Sapphire gave me a look that was hard to translate. "I really want to read this with you," she whispered.

"You got it," I whispered back.

"So," Katie continued. "Is the Bible basically what God showed Moses at the bush?"

Alex said, "The first chapters of Genesis." 

Sister Kirk said, "That's more or less correct. The first five books of the Bible are what Moses recorded of his revelations for the children of Israel, and the first few chapters of Genesis are Moses telling them about the creation and the Garden of Eden. Shelly, can you tell us about Abraham?"

"Well, Abraham basically got to see what Moses got to see, too. Plus or minus a bit. Are the scrolls Joseph Smith got the Book of Abraham from, I mean, does the Church still have them?"

Bishop Kirk grinned. "Yes, basically the same, although there are some differences between Moses' and Abraham's experiences. But, no, the scrolls were lost in a fire." 

Sister Kirk added, "Emma sold the scrolls and the mummies after Joseph was gone, and we don't really know for sure what happened to them after that. But we think they ended up in a museum in Chicago, where they were probably destroyed when a lot of Chicago burned in the fire of 1871. What we think are scraps of the scrolls have been found in some museum holdings since then. What else did you learn from Abraham, Shelly?" 

"It doesn't say Abraham saw the devil pretending to be the Son of God like Moses did, but it does say that the priests where Abraham was tried to make a human sacrifice of him, and an angel from God saved him. So Abraham was tested by the devil, too."

Mike raised his hand. "We all have to be tested, don't we?"

Bishop and Sister Kirk both nodded. 

Bishop Kirk pointed out, "According to the responsibilities God wants to give us." 

"Kolob's the sun, isn't it?" Stu asked.

His dad sighed. "Stu, please actually read the scriptures, and don't depend on what others say."

I raised my hand. "Parts of the description of Kolob sound like the sun, but other things just don't match."

"Doesn't that prove the Book of Abraham wrong?" Stu asked.

Rusty replied, "I think it proves that we shouldn't think we understand things we haven't read carefully and asked God about."

Ian asked, "Why did God tell Abraham to lie about Sarah?"

Shelly replied, "It explains that right there in chapter two. Sarah must have been beautiful enough to kill for." 

"But God telling Abraham to lie?" Ian pressed.

"Why didn't I see this?" Stu joked.

Sapphire raised her hand, "Sarah was Abraham's niece. In their language, a niece was a sister. It wasn't a lie."

The class suddenly became quiet.

Sister Kirk smiled, and said, "That's what we understand about it, and it's explained in the student manual. It wasn't a lie. It was just enough of the truth to help protect Abraham and Sarah and any man who might have been tempted to kill Abraham for Sarah."

I gave Sapphire a thumbs-up, and Liz reached over and touched fingertips with her again. Shelly nodded in agreement. 

Bishop Kirk asked, "So, before we dig in too deep, was there anything that anyone wants to share about these chapters that really impressed them?"

I raised my hand. "I really like Abraham 1 verse 2."

"Care to read it for us?"

I thumbed over to the Book of Abraham and read, 

And, finding there was greater happiness and peace and rest for me, I sought for the blessings of the fathers, and the right whereunto I should be ordained to administer the same; having been myself a follower of righteousness, desiring also to be one who possessed great knowledge, and to be a greater follower of righteousness, and to possess a greater knowledge, and to be a father of many nations, a prince of peace, and desiring to receive instructions, and to keep the commandments of God, I became a rightful heir, a High Priest, holding the right belonging to the fathers. 

Bishop Kirk nodded. "What is it you like about it?"

"The idea that there is greater happiness to be found in following the teachings of God, for one."

Mike and Rusty gave me a thumbs-up.

Stu said, "Oooh, Joe, that's pretty cool," in a mocking tune.

Sapphire nodded and gave my hand a squeeze.

Katie said, "Stu, shut up. You're embarrassing yourself." You could almost hear the glare in her voice.

Mike said, "Take it easy on him, Sis." 

"Hmph."

Stu was looking perplexed, but refused to be chastened.

We continued for about 40 minutes, reading and discussing. At the end of the class, Sister Kirk told us we would be studying next from the three versions of the Genesis account, and asked us to read them and pray about them. Bishop Kirk added that whatever we could study in fifteen minutes in a day should  be enough for that day. Then he asked Mike to say the closing prayer. 

After Mike gave the closing prayer, we all gathered our books noisily. 

Well, mostly noisily. 

"Joey, there's just so much we have to talk about," Sapphire said quietly as she stood up.

"Plenty of time." I stood up as well. "I've got to go meet my mom in the library." 

"Where's that?"

"The room next to this one."

Becca picked up her books. "Five minutes, max."

Sapphire laughed ruefully. "I should be the one reminding myself that we don't have time." 

Stu and Katie came up.

Katie said, "I have to apologize for Stu."

Mike said, from where he was still sitting, "No, sis, you don't."

Stu shook his head. "I still don't understand." 

Sapphire reached out and clasped Katie's hand, and commiserated with her without saying anything. 

I said, "I don't claim to understand, either," and held my fist up for a bump.

Stu returned the bump, hesitantly, slowly forming a lopsided grin. 

Becca said, "Four minutes and counting. And no making out in the library."

"Hey!" I protested.

Becca shifted to a mock reprimand voice. "I know you want to, Joe, but it's not appropriate."

"Joe's mom will be our chaperone." Sapphire pretended innocence.

We didn't make out, of course, just helped my mom.

I finished a run of handouts on the spirit duplicator and muttered, "I am so tempted to suggest we play hooky today."

Sapphire looked over at me from where she was helping Mom put some of the Sunday School lesson materials from the previous Sunday away. She said, quietly, "I am so tempted to take you up on that."

Mom grinned. "I've got a meeting at the Globe today, and I'm not postponing it so you two can have the car after you take Shelly to school. You'd be on foot or on bike."

"Did your mom just say we could go truant?"

I shook my head. "Not exactly." 

Mom added. "Truancy law is only 'til you're sixteen." 

"Mom!" Sapphire exclaimed.

Mom grinned. "Well, this pile has been significantly reduced, but I think Shelly is waiting, and maybe you should tell Becca to go ahead. If you're going to skip classes today."

"We've got club." Sapphire grinned at me regretfully.

"And I guess I don't really want to miss the electronics lecture today." I gave her a mock grimace.

"Rain check." 

"Rain check." 

Mom nodded. 

Becca and Shelly appeared in the doorway. "Time to go," Becca said.

I walked Sapphire to Becca's car, and we squeezed each others hands one last time and they took off while Shelly and I and Mom walked to our car. Mom let Shelly ride in front, and we headed for OHS.

"You know, Joe," Shelly commented as we turned a corner. "I think I understand now why I didn't think we should go out again."

"Oh?"

"Peter Sellers isn't that bad. I just could tell you belonged to someone else."

I looked at Mom in the rear view mirror. Again, she offered me no clues.

"I appreciate that," I replied.

Shelly nodded. So did Mom. 

I parked at a curb at OHS, and we all got out. Mom slid into the driver's seat and waved goodbye. Shelly and I watched her drive off.

"So, see you tomorrow." Shelly said.

I responded with, "Tomorrow," and we touched palms, and headed different directions. 

TOC
Motorola M6800 EXORcises
Where it starts

Copyright 2026 Joel Matthew Rees




[Edit record here:  https://joelrees-novels.blogspot.com/2026/05/mark00-3809-2801-early-morning-seminary.html]


3809/2801: ALUs, Register Indirect Review, Role Playing the 6800

2801 ALUs, Register Indirect Review, Role Playing the 6800 Motorola M6800 EXORcises T...