汇编 之串操作

<1>  REP  重复串操作直到寄存器Count Reg的内容为0为止

<2>moves 串传送指令
(1)方向标志DF=0 时用+  DF=1时用—
(2) CLD(clear direction flag)使指令使DF=0,在执行串处理指令时可使地址自动增量; 
(3) STD(set direction flag)该指令使DF=1,在执行串处理指令时可使地址自动减量
(4)在与REP联用时必须把数据串的长度值送到计数寄存器中,以便控制指令结束
(5)根据数据格式(B,W,D)对源变址寄存器和目的变址寄存器进行修改
   moves  显示声明数据格式
   movesB
   movesw
   movesd

   

...............................................................

   datarea segment
mess1   db 'personal computer '
datarea ends

extra segment
mess2 db '17 dup(?)'
extra ends 

code segment 
  assume cs:code,ds:datarea,es:extra
  
  mov ax,datarea
  mov ds,ax
  mov ax,extra
  mov es,ax
  lea si,mess1
  lea di,mess2

  mov cx,17
  cld
  rep movesB
  
  code ends 
 
  
  STOS  存入串指令
  STOS DST
  
  STOSB     AL
  STOSW     AX
  STOSD     EAX
  该指令把AL,AX,EAX的内容存入由目的变址寄存器指向的附加的某单元中,并根据
  DF的值及数据类型修改目的变址寄存器的内容。
  当它与REP联用时,可以把AL,AX,EAX,的内容存入一个长度为(count Reg)的缓冲区中
  
  LODS 从串取指令
  LODS   SRC
  LODSB    AL <--SRC
  LODSW    AX <--SRC
  LODSD     EAX<--SRC
  
  该指令把由源变址寄存器指向的数据段中某单元的内容送到AL,AX,EAX中
  并根据方向标志和数据类型修改源变址寄存器的内容
  一般来说,该指令不和REP联用
  
  INS串输入指令
  INS DST,DX
  INSB
  INSW
  INSD
  该指令把端口在DX寄存器中的I/O空间的字节,字,双字传送到附加段中的由目的变址寄存器
  所指向的存储单元中,并根据DF的值和数据类型修改目的的变址寄存器的内容。
  REP联用时,可以把成组的字节,字或双字输入到长度为Count Reg)的缓冲区中
  
  
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Farmwang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值