jhtyolg20002 发表于 2007-12-17 10:54

求助!一道考题的改编!

将数据断DAT1为首址的数据区中的100个字符移到DAT2开始的存储区,假设DAT1小于DAT2且DAT1+100大于DAT2,(不允许使用串操作指令)
下面是我写的代码,请帮忙批评,修改!

MOV AX,DATA
MOV DS,AX
LEA SI,DAT1
LEA DI,DAT2
MOV CX,100
LOP: MOV AX,0
MOV AL,[SI+100]
DEC SI+100
MOV DI,AL
LOOP LOP

谢谢各位了!

kr^zHaYj 发表于 2007-12-17 12:28

data1 db 100 dup(?)
data2 db 100 dup(?)
mov  cx,100
xor ax,ax
mov bx,ax
again :    mov ax,data1[bx]
                 mov  data2[bx],ax
                loop again

jhtyolg20002 发表于 2007-12-17 12:36

楼上的,在下愚笨  xor ax,ax 这句是什么意思哦?

kr^zHaYj 发表于 2007-12-17 13:51

mov ax,0
异或
上面 INC bx
bx 要++ 的

[[italic] 本帖最后由 kr^zHaYj 于 2007-12-17 13:54 编辑 [/italic]]

jhtyolg20002 发表于 2007-12-17 15:14

楼上的仁兄  有点乱  可否重写一下 加注释
谢谢

无理取闹 发表于 2007-12-17 16:10

我觉得如果你看不懂上面 kr^zHaYj给的代码 应该好好复习一下基础知识  都是很简单的语句 没法再加注释了

jhtyolg20002 发表于 2007-12-17 16:32

无理取闹版主,我是初学汇编,如果我也是版主,还来这里求助做什么
基础嘛,我正在努力,但不是很快就能完成的

jhtyolg20002 发表于 2007-12-18 10:06

有谁能给出新的答案

页: [1]

编程论坛