Question
I need some help with my code in Assembly. For my class I had to write some code and start building off it which is
I need some help with my code in Assembly. For my class I had to write some code and start building off it which is all done in MASM. I was able to do most of the assignment but now I am stuck! Currently, the code asks the user for a value between 0 and 99. It then takes this number input and loops for that amount of times. The loop prints out text and then a count for how many times the progam has looped for. The program works for the most part. If I enter in 11 then it loops 11 times. However, the counter, when it prints takes the ASCII code and ends up printing symbols when it is past a count of 9. I tried slightly modifying it to accept two inputs of a single digit and combine them, but then I got lost trying to incement the count.
Long story short, how do I modify my code to not print in ASCII but rather print the numbers from 0 - 99. Like I said, the code works and loops correctly, I just can't get it to print correctly. My current code is below:
---------------------------------------------------------------------------------------------------
cseg segment 'code' assume cs:cseg, ds:cseg, ss:cseg, es:cseg
org 100h
start: mov dx, offset Intro mov ah, 09 int 21h
mov dx, offset Prompt int 21h
read: mov ah, 1 int 21h mov cl, 0ah sub al, 30h mul cl mov bl, al mov ah, 1 int 21h sub al, 30h add bl, al
mov ch, 0
again: mov dx, offset Hello mov ah, 09 int 21h
mov dx, offset Num_msg int 21h inc byte ptr Num_msg
inc ch cmp ch, bl jl again
done: mov Num_msg, 30h mov ah, 4ch int 20h
org 200h
Intro db "Insert name here", 0ah, 0ah, 0dh, "$" Hello db "Hello World", 20h, 20h, "$" Prompt db "Enter a number between 1 and 99:", 20h, 20h, 0ah, 0dh, "$"
Num_msg db 30h, 13, 10, "$"
cseg ends end start
---------------------------------------------------------------------------------------------------
Currently this is what it outputs to the screen:
Insert name here
Enter a number between 1 and 99: 15Hello World 0 Hello World 1 Hello World 2 Hello World 3 Hello World 4 Hello World 5 Hello World 6 Hello World 7 Hello World 8 Hello World 9 Hello World : Hello World ; Hello World < Hello World = Hello World >
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started