Assembly Experiment4

Posted mrorangerabbit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Assembly Experiment4相关的知识,希望对你有一定的参考价值。

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.

 

以上是关于Assembly Experiment4的主要内容,如果未能解决你的问题,请参考以下文章

关于maven的assembly:assembly命令是啥意思?

c# assembly 反射 dll和xml

Assembly.Load

A non-collectible assembly may not reference a collectible assembly异常

c:\windows\assembly\\

Change Assembly Version in a compiled .NET assembly