zoukankan      html  css  js  c++  java
  • 实验4:

    1.附上代码图==

    也就是先把ds的值赋为0b80,之后再对其进行偏移:ds:ip=b800:07b8;对cx赋值为16,loop循环地址后

    的16个地址,inc bx相当于mov dx,1;add bx,dx;就是实现了对bx的值加一。

    然后打开dosbox编译调试:

    type

    masm,link;

    根据要求cls处理之后再执行t3;

    16个红爱心,还是在屏幕中间位置左右的。

                                                    爱心变成了大写的A

    结论的话和前面一样呀,对显卡内存的赋值其后两位控制这个符号,前两位控制它的颜色;

    2.

    代码如下:

    进入其debug环境==,用d查看0:200地址的内存内容,0到63已经输入其中;

    cx=0016,即代码占用的字节为16.用反汇编命令u查看机器码;

    g命令不知该如何操作==

    因为int 21h以及后面的代码每个程序都有,我觉得就是相当于return 0吧。不管它,所以我选了

    g=0014代表的是第14个字节的代码的cpu寄存器内容

    其他的话就都是程序正常完结了;

    3.程序要实现“mov ax,4c00h”之前的指令复制到内存0:200处,

    所以补全程序为:

    经过大佬指导,前面先填cs即将你之前的地址给到,然后在cx,循环几次并不知道,我随便写了一个6.

    对其进行反汇编:

    可见mov ax,4c00循环是到0017,所以那里应该输17.

    试了好几遍但我这个是cx,6的编译出来的与cx为其他值出现的内容都相同==或许循环是一个固定句式??

    与其次数没有很大的关系?就如c语言循环越出并不报错。需要你自己查找?

    小结:做了很久,啊啊啊啊,还是有一些东西不能很好的自我理解,但对于这方面的知识懂了很多,对于循环

    有了更底层的认识。

  • 相关阅读:
    [python]windows截图
    [python]PyPI使用国内源
    [MySQL]配置多个MySQL服务(Windows)
    [C#]中获取当前程序运行路径的方法
    [C#]统计文本文件txt中的行数(快速读取)
    [C#]获取连接MySql数据库及常用的CRUD操作
    html和css高级
    html和css进阶
    html和css入门
    Git 简介
  • 原文地址:https://www.cnblogs.com/guapihenhaoc/p/9985871.html
Copyright © 2011-2022 走看看