首页 > 其他 > 详细

Assembly Experiment4

时间:2018-11-18 14:34:56      阅读:153      评论:0      收藏:0      [点我收藏+]

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

原文:https://www.cnblogs.com/mrorangerabbit/p/9977835.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!