求助实验4.3.。。。
本帖最后由 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,
mov es:,al
inc bx
loop s
mov ax,4c00h
loop是循环指令,他看的是cx里的数值,cx的数值就是循环次数 fast 发表于 2015-8-3 08:19
loop是循环指令,他看的是cx里的数值,cx的数值就是循环次数
题目是 程序的功能是将 “mov ax,4c00h"之前的指令复制到内存
补全程序,其中cs,CX都为空,我们怎么能知道cx的值是多少??具体得到这个cx数值的流程???? 都没人解答,哎,问题越积越多 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,
0C79:0012 26 ES:
0C79:0013 8807 MOV ,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,4C00INT 215个字节 还有 23个 即17H 假如代码开头为 mov ax,code 即总有29个字节,cx,18h 次
本帖最后由 baivip 于 2019-2-26 22:39 编辑
cx的值可以设置为mov CX,CX
因为编译后会自动计算程序的字节数并保存在CX寄存器中,从图片可以看出程序复制的数据在箭头处前一位就完结了。MOV CX,CX赋值是正确的{:10_249:}但两个程序段显示Loop后面的值为什么不一样就不懂了。。。
你用debug的u命令查看一下就清楚了
页:
[1]