鱼C论坛

 找回密码
 立即注册
查看: 2943|回复: 6

[已解决]求助实验4.3.。。。

[复制链接]
发表于 2015-8-3 04:13:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 axix005 于 2015-8-3 13:08 编辑

看了答案后 为什么CX的值等于17?能详细讲解下吗,,百度了都看不懂- -


mov ax,cs
mov ds,ax
mov ax,0020h
mov es,ax
mov bx,0
mov cx,17

s:
mov al,[bx]
mov es:[bx],al
inc bx
loop s

mov ax,4c00h
最佳答案
2019-2-18 09:57:51
0C79:0000 8CC8        MOV     AX,CS

0C79:0003 8ED8          MOV     DS,AX

0C79:0005 B82000        MOV     AX,0020

0C79:0008 8EC0          MOV     ES,AX

0C79:000A BB0000        MOV     BX,0000

0C79:000D B91800        MOV     CX,0017

0C79:0010 8A07          MOV     AL,[BX]

0C79:0012 26            ES:

0C79:0013 8807          MOV     [BX],AL

0C79:0015 43            INC     BX

0C79:0016 E2F8          LOOP    0010

0C79:0018 B8004C        MOV     AX,4C00

0C79:001B CD21          INT     21

共计28个字节需要传输,去掉 MOV AX,4C00  INT 21  5个字节 还有 23个 即17H     假如代码开头为 mov ax,code 即总有29个字节,cx,18h 次
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-3 08:19:37 From FishC Mobile | 显示全部楼层
loop是循环指令,他看的是cx里的数值,cx的数值就是循环次数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-4 03:04:49 | 显示全部楼层
fast 发表于 2015-8-3 08:19
loop是循环指令,他看的是cx里的数值,cx的数值就是循环次数


题目是 程序的功能是将 “mov ax,4c00h"之前的指令复制到内存

补全程序,其中cs,CX都为空,我们怎么能知道cx的值是多少??具体得到这个cx数值的流程????
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-8-7 22:41:10 | 显示全部楼层
都没人解答,哎,问题越积越多
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-18 09:57:51 | 显示全部楼层    本楼为最佳答案   
0C79:0000 8CC8        MOV     AX,CS

0C79:0003 8ED8          MOV     DS,AX

0C79:0005 B82000        MOV     AX,0020

0C79:0008 8EC0          MOV     ES,AX

0C79:000A BB0000        MOV     BX,0000

0C79:000D B91800        MOV     CX,0017

0C79:0010 8A07          MOV     AL,[BX]

0C79:0012 26            ES:

0C79:0013 8807          MOV     [BX],AL

0C79:0015 43            INC     BX

0C79:0016 E2F8          LOOP    0010

0C79:0018 B8004C        MOV     AX,4C00

0C79:001B CD21          INT     21

共计28个字节需要传输,去掉 MOV AX,4C00  INT 21  5个字节 还有 23个 即17H     假如代码开头为 mov ax,code 即总有29个字节,cx,18h 次
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-26 22:14:11 | 显示全部楼层
本帖最后由 baivip 于 2019-2-26 22:39 编辑

cx的值可以设置为mov CX,CX
因为编译后会自动计算程序的字节数并保存在CX寄存器中,从图片可以看出程序复制的数据在箭头处前一位就完结了。MOV CX,CX赋值是正确的但两个程序段显示Loop后面的值为什么不一样就不懂了。。。
2019-02-26-22-21-34.png
2019-02-26-22-20-13.png
2019-02-26-22-18-44.png

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-10 20:51:11 | 显示全部楼层
你用debug的u命令查看一下就清楚了
1.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 15:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表