实验四没看懂,请高手指教
assume cs:codecode segment
mov ax,20h
mov ds,ax
mov bx,0
mov cx,64
s: mov ,dl
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
和下面这个
assume cs:code
code segment
mov bx,20h
mov ss,bx
mov sp,40h
mov bx,3f3eh
mov cx,32
s: push bx
sub bx,202h
loop s
mov ax,4c00h
int 21h
code ends
end
上面二个没看明白
下面这个是我自己编的:
assume cs:code
code segment
mov ax,0
mov ds,ax
mov bx,200h
mov dl,0
mov cx,64
s: mov ,dl
inc dl
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end
还有就是第一个,我按上面写完,运行,得不到正确结果 第一个,现在看懂了,我把小写的BL,错打成小写的DL 了,所以没有得到正确结果
第二个,还是没看懂,正看着呢,请指教第二个 随便问一下,WIN7里的,输入法,你们怎么弄的,我这都没法切换,知道的说下,谢谢了 我把第二个改成这样子我就能看懂了,可第二个还是不太懂
assume cs:code
code segment
mov bx,20h
mov ss,bx
mov sp,40h
mov bx,6362
mov cx,32
s: push bx
sub bx,202
loop s
mov ax,4c00h
int 21h
code ends
end
6362 一进到计算机里就变成二进制了,:huffy: 费个牛劲,才看明白,是怎么一回事:titter: 全是楼主的回复 数学真是个奇妙的东西,6362-6160=6160-5958。。。。。=202
3F3E-3D3C=3D3C-3B3A。。。。=202:big 其实王老师这道编程题有个技巧,先push 3f3e,则3f3e入栈,3f推进里,3e推进里,接着执行sub 202h,bx=3D3C,为什么要减202呢,其实就是让bx高位和低位分别减2(减完之后的数就是接下来进内存的数),你将202H转为二进制就明白了,接着3d3c推进相应内存。其实就是利用压栈操作实现逆向排序。 好吧,我还是慢了一步。楼主已经解决了 感谢:小靚同学Leon,你来得一点也不晚哟
实验4第三题我又没看明白: “MOV CX,18H” 这个18H是怎么看出来的??
还有CX=0C79,那么在DEBUG里, “B8 79 0C” 最前面的B8哪里去了??
MOV AL, (BX=0) 为什么,CX不是等于79B8 ??? 大概是上面这个意思了,BX=0,为什么不从200:0开始添而是从 200:1开始添写 18H,应该是程序长度,在程度调试时可以从DEBUG中看到,可这是填空,程序还没写完,18H如何得到的呀??? 基本搞明白了,现在的问题就是,所有MOV AX,4C00H前面的都复制过去了,但在最后,多出一个字节CC
,不知道这个字节,是从哪里来的??? haiouda 发表于 2014-8-10 19:27
18H,应该是程序长度,在程度调试时可以从DEBUG中看到,可这是填空,程序还没写完,18H如何得到的呀???
首先我们可以确定18H是一个循环计数值,而这个计数值肯定是代码段机器指令的字节数。所以在做这道题的时候,这个数是最后填的,你得先把程序确定下来,最后才知道总共的字节数。 这个CC在CS段里,根本没有;
CX,减到1就全复制过去了,这个CC没有理由在这里的;
复制之前,特意有D查看了0:200 里面是空的 不会发图呀,这么说,说明白了吧{:1_1:} 感谢小靚同学Leon 的热心,回复;
谁能说下,引用楼上的话,是怎么弄的,还有怎么发图片? haiouda 发表于 2014-8-10 20:58
感谢小靚同学Leon 的热心,回复;
谁能说下,引用楼上的话,是怎么弄的,还有怎么发图片?
回复别人的时候请在回复帖的下方点击回复,这样作者会及时看到回复通知滴。
另外发帖时,有一个发图选项的,直接编辑就可以了。希望能帮助你
页:
[1]
2