data segment                        ;定义数据段
string1 db ‘assembly language’
data ends
extra segment                       ;定义附加段
string2 db 17 dup(?)
extra segment
code segment                        ;定义代码段
    assume cs:code,ds:data,es:extra
start:
    push ds
    xor ax,ax                       ;ax寄存器清零,作用同sub ax,ax一样
    push ax
    mov ax,data                 ;把数据段地址装入ds寄存器
    mov ds,ax
    mov ax,extra                    ;把附加段地址装入es寄存器
    mov es,ax
    lea si,string1                  ;把源串首址装入si寄存器
    lea di,string2                  ;把目的串首址装入di寄存器
    mov cx,17                   ;把字符串长度装入cx寄存t器
    cld                         ;清方向标志,在串处理时,地址自动增加
    rep movsb                   ;重复串传送操作,重复次数放在cx中
    ret
code ends
    end start

然后就可以-u命令加-d命令下查看数据段和附加段中的内容,最后就可以看到字符串从数据段传送到了附加段中。

0
Posted in 汇编语言

Leave a Comment:

电子邮件地址不会被公开。