You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If I run the following code: start: MOV DX, 0x00 MOV AH, 0x0A INT 0x21
And at the interrupt enter 123
I would expect the memory starting at 0 to look something like:
03,31,32,33
Where the first byte stores the number of chars read and then the remaining 3 are the data.
Instead I get the following in the memory starting at 0:
00,02,31,32,33
Even though DX is pointing to 0x00 the data is written starting at 0x01, also the amount of chars appears to be 0 indexed so is 1 lower than the actual amount written.
This can be a bit of an annoyance if you want to print out a string you receive through the interrupt as you need to increment the value read for the amount of chars and remember to add one to memory location of wherever you wrote to.
The text was updated successfully, but these errors were encountered:
If I run the following code:
start:
MOV DX, 0x00
MOV AH, 0x0A
INT 0x21
And at the interrupt enter
123
I would expect the memory starting at 0 to look something like:
03,31,32,33
Where the first byte stores the number of chars read and then the remaining 3 are the data.
Instead I get the following in the memory starting at 0:
00,02,31,32,33
Even though DX is pointing to 0x00 the data is written starting at 0x01, also the amount of chars appears to be 0 indexed so is 1 lower than the actual amount written.
This can be a bit of an annoyance if you want to print out a string you receive through the interrupt as you need to increment the value read for the amount of chars and remember to add one to memory location of wherever you wrote to.
The text was updated successfully, but these errors were encountered: