在汇编里如何把一个字符串值赋给另一个字符串并输出呢?

汇编菜鸟一名……求高手指点

我定义的输入字符串:
Stringin 16,?,16 dup(?),'$'
Stringout 16 dup(' '),13,10,'$'

现在已经编写完了键盘输入到Stringin的子程序,如何实现将Stringin赋值到Stringout并从屏幕输出呢?
感谢1L……问一句这个如果只用LEA 不用REP有办法做吗?

另外1L……这个代码好像有问题的说哦

1L……其实我读您的代码觉得没有问题的……但是就是编译会报错……

感谢2L……果然用LEA神马的麻烦好多……

第1个回答  2010-10-05
;赋值
LDS SI,Stringin
ADD SI,2
LES DI,Stringout
CLD
MOV CX,16
REP MOVSB
;打屏
LDS DX,Stringout
MOV AH,9
INT 21H
-----------------------------------
用LEA,还要设置段寄存器
不用REP,用LOOP也可以实现,不过,不推荐
如果Stringin,Stringout都是字节型的,应当没有问题,如确有问题,请指教!

-----------------------------------
如方便,请给出:
1.代码清单
2.编译环境及设置
3.错误报告
第2个回答  2010-10-05
不用REP写了一个……不过挺麻烦的……

lea si,stringout
mov bx,si

lea si,stringin
mov di,si
add di,16
inc si

loop1:
inc si

mov ax,[si]
mov [bx],ax
inc bx

cmp si,di
jne loop1本回答被提问者采纳
相似回答