AIMS & PREPARATIONS of THIS EXPERIMENT:
SCREENSHOTS of THIS EXPERIMENT:
1.
change 0403h to 0441h
Now, I find myself made a mistake:
the former code:
see, only ( inc bx ) for one time
it include 16*2 byte unit, so (bx)=(bx)+1 should twice
after:
now :
change 0403h to 0410h
2. task code:
using d command :
I find that ,in 0:23F, there is no number !
so I changed 63 to 64
then compile, link, run and debug
using d command:
now the task is finished !
3.experiment 4(3) on the book, page 121
copy the code from beginning to ( mov ax, 4c00h ) to internal memory
certainly, the first step is move the current cs address to register ds for the beginning of the program
however, we don't konw the length of the whole program
so give register cx a radom number to test ( use command u in debug to check the length )
we can see that the program is from (076A:0000) to (076A:0016)
the length is 0017H
so we correct the program's code:
using d command in debug.exe
actually, the statements are copied in (0000:0200) to (0000:0217) occupy 0017H units
SUMMARY & REVIEW of THIS EXPERIMENT :
In this experiment, we learned how to use loop and [bx] to realize circulation.
Because of grasping the methid to use masm,link and debug, the experiment is easy to carry on.
But what is most sigificant in this experiment is the handling of byte unit, in the experiment task1 and 2, we may easily confused by the using of command (inc) owing to the difference of word unit and byte unit. In this case, double (inc bx) is needed.