161k views
0 votes
Arithmetic Instructions: Activity: Add Numbers using Registers (Assembly Code)

Using only registers (no input) add 1 + 2 and display the result. You can move the result to a variable then print it.

TIP:Pay attention to the concept of ASCII

User Lekksi
by
8.1k points

1 Answer

5 votes
Here's an example Assembly code that uses registers to add 1 and 2 and display the result:

```
ORG 0x100

START:
; Add 1 to AL
MOV AL, '1'
SUB AL, '0'
ADD AL, 1

; Add 2 to BL
MOV BL, '2'
SUB BL, '0'
ADD BL, 2

; Add AL and BL and store the result in DL
MOV DL, AL
ADD DL, BL

; Convert DL to ASCII and print it
ADD DL, '0'
MOV AH, 2
MOV DL, DL
INT 21h

; Exit the program
MOV AH, 4Ch
INT 21h

END START
```

In this program, we first add 1 to the `AL` register by subtracting the character code for '0' and adding 1 to the resulting numeric value. We then add 2 to the `BL` register using the same process. We add `AL` and `BL` and store the result in the `DL` register. We convert `DL` to ASCII by adding the character code for '0' and print it using the DOS interrupt `INT 21h` with function `AH=2`. Finally, we exit the program using the DOS interrupt `INT 21h` with function `AH=4Ch`.
User Dominique
by
8.3k points

No related questions found