Sign-up....

入门级汇编问题,请指教

将内存单元中的3500H开始的16个数据(0-15)传递到3600H单元开始的数据单元中。

请高手帮忙写出完整源程序

一个一百分,如果前面有人已给出了源程序,但后面又有人给出了另一个思路的程序再加一百分,欢迎探讨!

谢谢!

[116 byte] By [msdn] at [2007-8-23 23:56:40]
# 1 Re: 入门级汇编问题,请指教

codesegment

assumecs:code

start:

pushds

subax,ax

pushax

movax,3500h

moves,ax

movax,3600h

movds,ax

movcl,16

subbx,bx

lop:

movdl,byte ptr es:[bx]

movbyte ptr ds:[bx],dl

incbx

looplop

retf

codeends

endstart

mydo at 2005-4-14 16:05:04 >
# 2 Re: 入门级汇编问题,请指教

以上假设数据是以 byte 方式存放的~~~要是以 word 方式请自己更改~~~

mydo at 2005-4-14 16:07:16 >
# 3 Re: 入门级汇编问题,请指教

晕啊,楼主多看书

VxD1 at 2005-4-14 17:47:03 >
# 4 Re: 入门级汇编问题,请指教

to:mydo(坎道斯|Kinds)

我用debug单步跟踪

怎么发现是 move cl,10而不是move cl,16 呢?

能在程序中加点注释吗?

谢谢!

arcow at 2005-4-14 18:50:14 >
# 5 Re: 入门级汇编问题,请指教

move cl,10

10 is hex, =16

建议:rep stosw

代替 循环

movSI,3500h

movDI,3600h

movcl,16

自己组合

icecut at 2005-4-14 19:28:05 >
# 6 Re: 入门级汇编问题,请指教

这很简单,debug中用的是16进制表示数字,move cl,10

中的10是十进制中的16~~~~

mydo at 2005-4-14 20:51:41 >
# 7 Re: 入门级汇编问题,请指教

能给点注释吗?

arcow at 2005-4-14 22:31:25 >
# 8 Re: 入门级汇编问题,请指教

subax,ax

subbx,bx

这两句什么意思呢?

arcow at 2005-4-15 13:53:59 >
# 9 Re: 入门级汇编问题,请指教

subax,ax

subbx,bx

set ax=0,bx=0

mydo at 2005-4-15 17:47:39 >
# 10 Re: 入门级汇编问题,请指教

subax,ax

subbx,bx

就是把寄存器AX,BX清零.

showtime83 at 2005-4-15 18:05:08 >
# 11 Re: 入门级汇编问题,请指教

清零怎么都用 sub 啊?

为何不用 xor ?? 它可比 sub 快啊

tiger999 at 2005-4-15 20:43:06 >
# 12 Re: 入门级汇编问题,请指教

感谢各位

我是刚学汇编

看了大家的注释和讨论我受益菲浅

希望大家以后多多照顾小弟

arcow at 2005-4-16 9:52:39 >
# 13 Re: 入门级汇编问题,请指教

我试过上面的几个程序,但调试后结果并不正确

我编译成了test.exe

然后

debug test.exe

-d3500

-d3600

-g

-d3500

-d3600

这时的3500h与3600h的数据应该一样,但结果却是不同的,不符合题目要求.不知哪有问题

arcow at 2005-4-16 21:23:56 >
# 14 Re: 入门级汇编问题,请指教

小弟胡乱写了一个 也没调试 不知道对不对 高手不要见笑

.model small

.386

.stack100h

.data

.code

start:

mov eax,3500h

movebx,3600h

movcx,4

movesi,0

lab:movedx,[eax][esi*4]

mov[ebx][esi*4],edx

incesi

looplab

mov ah,4ch

int 21h

end start

minsavage at 2005-4-16 22:22:10 >
# 15 Re: 入门级汇编问题,请指教

minsavage(帆野)

你的代码调试后只有一行的内存单元是相同的

arcow at 2005-4-17 11:38:50 >
# 16 Re: 入门级汇编问题,请指教

我随便写的 没有细想 也没有调试

如果全盘错误 大家不要见笑

如果还有点正确 就请自行修改吧

minsavage at 2005-4-17 12:16:28 >
# 17 Re: 入门级汇编问题,请指教

恭喜啊 楼主是不是可以散分了啊?

minsavage at 2005-4-18 21:18:08 >

其他开发语言

All Classified