实验4 [bx]和 loop 的使用 P121~P122

本贴最后更新于 3151 天前,其中的信息可能已经斗转星移

(1)编程:向内存0:200~0:23F 依次传送数据 0~63(3FH)

assume CS:code
code segment
	mov AX,20H
	MOV DS,AX
	MOV BX,0
	MOV CX,40h

s:MOV [BX],BX
INC bx
LOOP s

MOV AX,4c00h
INT 21h

code ends
end


(2)编程:向内存0:200~0:23F 依次传送数据 0~63(3FH),程序中只能使用 9 条指令,9 条指令包括“mov ax,4c00h”和“int 21h”

    同(1)

(3)下面的程序的功能是将“mov 4c00h”之前的指令复制到内存0:200处,补全程序。上机调试,跟踪运行结果。

       assume cs:code
       code segment
              mov ax,  cs  
              mov ds,ax
              mov ax,0020h
              mov es,ax
              mov bx,0
              mov cx,  cx  
            s:mov al,[bx]
              mov es:[bx],al
              inc bx
              loop s
              mov ax,4c00h
              int 21h
       code ends
       end

(1)复制的是什么?从哪里到哪里?

    答:复制的是机器码,从程序入口到CS:[CX]。

(2)复制的是什么?有多少个字节?你如何知道要复制的字节的数量?
    答:复制的是机器码?有CX个字节,因为DEBUG中CX寄存器默认的数据是程序的大小(总字节数)。
注意,一定要做完这个实验才能进行下面的课程。

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 88250

    代码段,数据段~

    当年我也是写过汇编的~~~~

  • zempty
    作者

    @88250 奇怪,为什么我把同步的设置去掉了还是同步过来了?

  • 88250

    @zempty 你改过代码么 👿

  • zempty
    作者

    @88250 我改过一点点。什么情况啊?

  • 88250

    @zempty 理论上 [Solo] 是强制同步的,除非你改过同步开关那部分,同步过来也很好的嘛

  • zempty
    作者

    @88250 你告诉我什么情况,我并没有改原来的代码。只是加了个自动领取昨日奖励和自动博彩的功能。然后在 SoloServletListener 调用。你还留有这阴招

  • 88250

    @zempty 哦,我以为你改过同步开关那部分,那部分代码逻辑比较怪异,很容易入坑。大概是在 [Solo] 以前发布某个版本的时候,就强制同步了,只有加密的文章不会同步过来。有一个方式可以关闭,就是把 B3 Key 在社区的个人设置中改掉。

    你生气了....?

  • zempty
    作者

    @88250 我没有生气。我是想知道你是怎么做到的。我在社区是把 key 给留空了。api 也乱填。然后刚刚发的文章居然同步过来了,很是惊奇。你是怎么做到的?说说看么

  • zempty
    作者

    @88250 我打算把 latke 和 solo 给搞通呢。

  • 88250

    @zempty 我想起来了....

    有这样一段逻辑:

        String userKey = user.optString(UserExt.USER_B3_KEY);
        if (StringUtils.isBlank(userKey) || (Strings.isNumeric(userKey) && userKey.length() == clientB3Key.length())) {
            userKey = clientB3Key;
    
            user.put(UserExt.USER_B3_KEY, userKey);
            userMgmtService.updateUser(userKey, user);
        }
    

    也就是说,客户端过来的 key 如果是数字,并且长度和社区这边长度一致,则社区这边的 key 会被强制更新;另外还有一个逻辑是 [Solo] 会定时同步用户帐号到社区,并且校验那几个接口地址,如果发现不是 [Solo] 的格式,也会强制覆盖....

    虽然流氓了一点,但是为了实践 B3 整个计划,我只能这么做了。

  • zempty
    作者

    @88250 哈哈~好像让你感觉到我生气了?我一点都没有生气。我只是以为你在 solo 里有检测源码被改过的机制,想学习下这高深的技术。大公司的前身都是流氓起家的,我也很流氓的。

  • 88250

    @zempty 关于自动检测是否有改过代码这个机制我也想研究,因为想做 Solo 的自动更新(在发布 Solo 新版时,如果检测到用户没有改过代码,就自动更新)。

    萌萌哒~ 🍇

请输入回帖内容 ...

推荐标签 标签

  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    21 引用 • 37 回帖 • 547 关注
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    186 引用 • 318 回帖 • 303 关注
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 536 关注
  • NetBeans

    NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。

    78 引用 • 102 回帖 • 681 关注
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 40 关注
  • 七牛云

    七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。

    27 引用 • 225 回帖 • 169 关注
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    89 引用 • 345 回帖
  • 学习

    “梦想从学习开始,事业从实践起步” —— 习近平

    169 引用 • 506 回帖
  • OpenShift

    红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。

    14 引用 • 20 回帖 • 633 关注
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    53 引用 • 37 回帖 • 2 关注
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖 • 1 关注
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    41 引用 • 130 回帖 • 261 关注
  • 笔记

    好记性不如烂笔头。

    308 引用 • 793 回帖
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 351 关注
  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖 • 1 关注
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    90 引用 • 59 回帖 • 1 关注
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖 • 1 关注
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    729 引用 • 1327 回帖 • 1 关注
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    110 引用 • 54 回帖 • 1 关注
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖 • 6 关注
  • Love2D

    Love2D 是一个开源的, 跨平台的 2D 游戏引擎。使用纯 Lua 脚本来进行游戏开发。目前支持的平台有 Windows, Mac OS X, Linux, Android 和 iOS。

    14 引用 • 53 回帖 • 530 关注
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 99 关注
  • Telegram

    Telegram 是一个非盈利性、基于云端的即时消息服务。它提供了支持各大操作系统平台的开源的客户端,也提供了很多强大的 APIs 给开发者创建自己的客户端和机器人。

    5 引用 • 35 回帖 • 2 关注
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 653 关注
  • Swagger

    Swagger 是一款非常流行的 API 开发工具,它遵循 OpenAPI Specification(这是一种通用的、和编程语言无关的 API 描述规范)。Swagger 贯穿整个 API 生命周期,如 API 的设计、编写文档、测试和部署。

    26 引用 • 35 回帖