ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

王爽汇编语言 检测点9.3

2020-03-14 20:01:28  阅读:367  来源: 互联网

标签:ch 题目 字节 cx 王爽 跳转 检测点 loop 9.3


题目

这里写一下自己的理解,作为笔记。

s:mov cl,[bx]
mov ch,0

这段代码的意思是从2000H段的偏移地址为0的地方每次取出1个字,不过因为题目要求的是寻找字节,但是由于loop进行比较的是寄存器cx,因此我们需要使用一整个cx来存储当前字节。但是该如何做呢:只需要从2000H:[BX]的地方读取cl的部分,然后把ch的部分置0,就可以获得我们所需的当前字节了。

inc bx

这段代码很好理解,因为需要一个个比较每一个字节,所以每次偏移地址加1。同样因为这里是这样写的,所以才需要像如上一样设置ch为0,为了防止读到cx中ch的部分。

inc cx

然后这是需要填空的部分,一开始我认为这里写的很奇怪,甚至认为答案应该是jcxz ok。题目的意思是用loop来进行实现,实际上就是想让loop来跳转到目标语句,而其条件为cx=0。要注意,loop是先对cx–,再判断cx==0的,因此如果当前cx里面存放的字节就是0,那么如果没有这句话,当loop进行完成后,cx的值将是-1(这个数应该由补码表示),那么这样显然是不对的,因此,加上这句话,令cx的值加上1(0001H),再进行loop判断时(变为0000H),就可以正常跳转到ok上。

标签:ch,题目,字节,cx,王爽,跳转,检测点,loop,9.3
来源: https://blog.csdn.net/blxl313/article/details/104865615

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有