mov指令有哪些

mov指令有:1、立即数传送;2、寄存器传送;3、存储器传送;4、段寄存器传送。立即数传送通常是指在立即寻址方式指令中给出的数。可以是8位、16位或32位,该数值紧跟在操作码之后。如果立即数为16位或32位,那么,它将按“高高低低”的原则进行存储。

mov指令有哪些-Worktile社区

1、立即数传送

立即数通常是指在立即寻址方式指令中给出的数。可以是8位、16位或32位,该数值紧跟在操作码之后。如果立即数为16位或32位,那么,它将按“高高低低”的原则进行存储。

MOV CL,4 ;CL←4,字节传送

MOV DX,0FFH ;DX←00FFH,字传送

MOV SI,200H ;SI←0200H,字传送

MOV BVAR,0AH ;字节传送

;假设BVAR是一个字节变量,定义如下:BVAR DB 0

MOV WVAR,0BH ;字传送

;假设wvar是一个字变量,定义如下:wvar dw 0

2、寄存器传送

寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。

mov ah,al ;ah←al,字节传送

mov bvar,ch ;bvar←ch ,字节传送

mov ax,bx ;ax←bx,字传送

mov ds,ax ;ds←ax,字传送

mov [bx],al ;[bx]←al,字节传送

3、存储器传送

存储器单元实际上是时序逻辑电路的一种。按存储器的使用类型可分为只读存储器(ROM)和随机存取存储器(RAM),两者的功能有较大的区别,因此在描述上也有所不同。

mov al,[bx] ;al←ds:[bx]

mov dx,[bp] ;dx←ss:[bp+0]

mov dx,[bp+4] ;dx←ss:[bp+4]

mov es,[si] ;es←ds:[si]

4、段寄存器传送

段寄存器是因为对内存的分段管理而设置的。计算机需要对内存分段,以分配给不同的程序使用(类似于硬盘分页)。在描述内存分段时,需要有如下段的信息:1.段的大小;2.段的起始地址;3.段的管理属性(禁止写入/禁止执行/系统专用等)。需要用8个字节(64位)存储这些信息,但段寄存器只有16位,因此段寄存器中只能存储段号(segment selector,也译作“段选择符”),再由段号映射到存在内存中的GDT(global (segment) descriptor table,全局段号记录表),读取段的信息。

MOV [SI],DS

MOV AX,DS ;AX←DS

MOV ES,AX ;ES←AX←DS

注意:

MOV指令不能在两个存储器之间进行数据直接传送。

MOV指令不能在两个段寄存器之间进行数据直接传送&

延伸阅读:

什么是MOV

(片内RAM)传送指令MOV(Move)表示把一个字节、字或双字的操作数从源位置传送到目的位置,源操作数的内容不变。

(片内RAM)传送指令MOV(Move)把一个字节、字或双字的操作数从源位置传送到目的位置,源操作数的内容不变。可以实现立即数到通用寄存器或主存的传送,通用寄存器与通用寄存器、主存或段寄存器之间的传送,主存与段寄存器之间的传送。该操作属于复制性质,不属于搬家性质。

格式:MOV DST,SRC(从SRC复制数值,覆盖DST)。

目的操作数要与源操作数类型要一致,不能一个是字,一个是字节

目的操作数要和源操作数类型之一必须要有明确的类型

立即数不能作为目的操作数

不能用立即寻址方式给段寄存器传数

源操作数和目的操作数不能同时为存储器操作数,即存储单元之间不能用MOV指令直接传送

CS和IP不能作为目的操作数,但CS可以作为源操作数。

段寄存器之间不能用MOV指令直接传送

在传送字单元时,遵循“高字节存放在高地址,低字节存放在低地址”的原则。

文章标题:mov指令有哪些,发布者:小编,转载请注明出处:https://worktile.com/kb/p/35088

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编的头像小编

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部