Question: I need help creating an assembly program in with MS-DOS that will output something like this:

```
AbCdEfGhIjKl

```

also vertically

The closest thing I can make is something like 

```
AbCbEbGbH

```

I don't know how to increment the in-between stuff

[![Image of code](https://i.stack.imgur.com/wQhKb.png)](https://i.stack.imgur.com/wQhKb.png)

Answer: 
You can take advantage of the fact that, in ASCII encoding, the capital letters start at 0x41, while the common letters start at 0x61. That is, there's always a 0x20 difference between the capital letter and the corresponding common letter.

Here's a simple example for DOS in NASM syntax:

```
[org 0x100]
mov dl,'A'
mov cx,26      ; the whole (english) alphabet
again:
  mov ah,2
  int 0x21
  inc dl       ; next letter
  xor dl,0x20  ; switch from capitals->commons, or vice versa
  loop again

mov ax,0x4c00
int 0x21

```
This is not specific to assembly, but to the ASCII code.
The code of a small character is 32 (20 hex) higher than of the corresponding capital character. You could iterate through ABC... and add 32 to every second character. Or you use two variables (or registers since you are using assembly), start one with "A" and the other with "b", keep switching between these variables and always increment them by 2.