assume cs:code
code segment
mov ax,--?
mov ds,ax
mov ax,0020h
mov es,ax
mov bx,0
mov cx,--?
s:mov al,[bx]
mov es:[bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
提示:
(1)复制的是什么?从哪里到哪里?
(2)复制的是什么?有多少个字节?你如何知道要复制的字节的数量?
第一个空,没有疑问。填cs。即把代码段内的指令当作数据,复制到目的地址。源数据段与ds与代码段cs想同。
第二空答案是18h。这里就有些不明白了。上面说先给cx一个小值。编译链接后用debug看cx中的值。然后再减去5h。那么我的问题是,cx会自动存程序长度吗?是只有这个程序里面是这样还是其他的程序都这样。而且答案说会看到cx为1D,但是我r查看cx为1c。求高手解答。
8 个解决方案
#1
我做这个程序的时候是手动计算需要复制的代码的长度的,具体方法是:
1.先在第二个空那随便填一个数字,不要太大了
2.将程序编译链接,用Debug打开程序,U 一下,查找 mov ax,4C00H 的地址,这下你就知道那段需要被复制的代码实际有多长了吧?
3.将真正的长度填入第二个空
实际有简单的方法确定那段代码的长度,不过作者考虑到知识屏蔽,所以在第四章没说,你学到后面就知道了
1.先在第二个空那随便填一个数字,不要太大了
2.将程序编译链接,用Debug打开程序,U 一下,查找 mov ax,4C00H 的地址,这下你就知道那段需要被复制的代码实际有多长了吧?
3.将真正的长度填入第二个空
实际有简单的方法确定那段代码的长度,不过作者考虑到知识屏蔽,所以在第四章没说,你学到后面就知道了
#2
忘了说了,你学这本书,去这个网站看看 www.asmedu.net
#3
我想是因为大家写的程序不一样,所以才有的是17H有的是18H。
不同之处在这里
mov ax,cs
和
mov ax,code
第一个是2字节的,第二个是3字节的,你自己试试看。
不同之处在这里
mov ax,cs
和
mov ax,code
第一个是2字节的,第二个是3字节的,你自己试试看。
#4
在debug里反汇编一下,然后就可以看到有多少内存单元要复制了,然后传给cx
#5
assume cs:code
code segment
mov ax, code
mov ds, ax
mov ax, 0020h
mov es, ax
mov bx, 0
mov cx, 循环计数
s:mov al,[bx]
mov es:[bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
#6
你用debug查看一下就明白了。
#7
谢谢大家了。真的很谢谢。希望大家以后也能多帮忙
#8
。
#1
我做这个程序的时候是手动计算需要复制的代码的长度的,具体方法是:
1.先在第二个空那随便填一个数字,不要太大了
2.将程序编译链接,用Debug打开程序,U 一下,查找 mov ax,4C00H 的地址,这下你就知道那段需要被复制的代码实际有多长了吧?
3.将真正的长度填入第二个空
实际有简单的方法确定那段代码的长度,不过作者考虑到知识屏蔽,所以在第四章没说,你学到后面就知道了
1.先在第二个空那随便填一个数字,不要太大了
2.将程序编译链接,用Debug打开程序,U 一下,查找 mov ax,4C00H 的地址,这下你就知道那段需要被复制的代码实际有多长了吧?
3.将真正的长度填入第二个空
实际有简单的方法确定那段代码的长度,不过作者考虑到知识屏蔽,所以在第四章没说,你学到后面就知道了
#2
忘了说了,你学这本书,去这个网站看看 www.asmedu.net
#3
我想是因为大家写的程序不一样,所以才有的是17H有的是18H。
不同之处在这里
mov ax,cs
和
mov ax,code
第一个是2字节的,第二个是3字节的,你自己试试看。
不同之处在这里
mov ax,cs
和
mov ax,code
第一个是2字节的,第二个是3字节的,你自己试试看。
#4
在debug里反汇编一下,然后就可以看到有多少内存单元要复制了,然后传给cx
#5
assume cs:code
code segment
mov ax, code
mov ds, ax
mov ax, 0020h
mov es, ax
mov bx, 0
mov cx, 循环计数
s:mov al,[bx]
mov es:[bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
#6
你用debug查看一下就明白了。
#7
谢谢大家了。真的很谢谢。希望大家以后也能多帮忙
#8
。