• 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.

  • 相关阅读:
    QSerialPort类
    初识Json
    Qt plugins(插件)目录
    Qt连接sql server数据库遇到的问题
    串口通信中,QString 、QByteArray 转化需要注意的问题
    Qt : 隐式数据共享(copy on write)
    Ascii码 、16进制与 char
    Caffe框架详细梳理
    时间管理
    Atom实用配置插件for C++
  • 原文地址:https://www.cnblogs.com/mrorangerabbit/p/9977835.html
Copyright © 2020-2023  润新知