我是靠谱客的博主 包容高跟鞋,这篇文章主要介绍nasm语言进行数据批量传输主要指令实验代码,现在分享给大家,希望可以做个参考。

数据批量传输

  • 主要指令
  • 实验代码

主要指令

数据批量传输所使用的指令有,传输命令movsb、movsw,以及循环指令loop。

movsb(或movsw)运行时,首先会检测df标志位的值,来决定数据读取的方向。并且自动以ds:si作为数据的源地址,以es:di作为目标地址。
命令运行以后会根据df的值自动修改该si和di的值,如果df=0也就是正向传输,则si和di的值同时加1(或2)

rep指令会循环执行后面跟随的指令,会自动检测cx寄存器中的值,如果不为0,则将cx减1,同时运行后面紧跟的命令。直到cx的值为0为止。

实验代码

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
jmp near start ;这里使用jmp直接跳到指令部分执行,原因就是cpu分不清指令和数据,都是按照顺序执行的。如果不手动跳过数据区,cpu就会误把数据当作指令执行,造成混乱。 mytext: db 'H',0x07,'e',0x07,'l',0x07,'l',0x07,'o',0x07,' ',0x07, 'W',0x07,'o',0x07,'r',0x07,'l',0x07,'ed',0x07,'!',0x07,'!',0x07 start: mov ax, 0x7c0 ;设置数据段地址为0x7c0,可以省去拼接0x7c00的步骤 mov ds, ax mov ax, 0xb800 ;显示缓冲区段地址 mov es, ax ;显示Label Offset: cld mov si, mytext ;ds:si mov di, 0 ;es:di mov cx, (start-mytext)/2 ;循环的次数,计算结果为13 rep movsw ;movsw和movsb指令会自动使用es作为目的数据段,可以不用 拼接

最后

以上就是包容高跟鞋最近收集整理的关于nasm语言进行数据批量传输主要指令实验代码的全部内容,更多相关nasm语言进行数据批量传输主要指令实验代码内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(76)

评论列表共有 0 条评论

立即
投稿
返回
顶部