汇编mov命令与常见错误

您所在的位置:网站首页 汇编里的mov 汇编mov命令与常见错误

汇编mov命令与常见错误

2024-07-16 18:28| 来源: 网络整理| 查看: 265

mov命令类似于赋值,将src的值赋给dst. 格式:mov dest,src 操作:将src的内容移至dest,移动后src的内容还在,dest的内容被src覆盖。

一.规则1.CS、IP的值不可以作为目标操作数(值->CS,IP X); 2.dest、src不可以同时作为存储器操作数出现(内存->内存X); 3.段寄存器不能相互转送(段->段X); 4.不能把立即数送入段寄存器(CS、DS、SS、ES)或者内存([SI],DATA,...),要用寄存器过渡。

二.常见错误:1. DATA DB ? MOV [SI],DATA 解释:[SI]是内存中的值,DATA也是内存中的值。违反了规则2,不能从内存到内存。

这个语句翻译为C语言:*SI=*DATA;

需注意,DATA保存的是变量的地址,类似于指针,因此应当把DATA看作地址,而不是AX,BX一样的立即数。 改正:

MOV AX,DATA

MOV [SI],AX

2. MOV CS,AX MOV DS,1000H 解释:不能给CS赋值,不能把立即数送入段寄存器。

改正:

MOV AX,CS

MOV BX,1000H

MOV DS,BX

3. MOV AX,DL 解释:MOV的操作数必须大小一致,AX为16为,DL为8位。

改正:

MOV AL,DL或MOV AX,DX4. DATA DW 1234H MOV DATA,WORD PTR AH 解释:

PTR无法对寄存器进行操作,AH是寄存器。PTR只能对内存操作,例如BYTE PTR DATA.

改正:

MOV BYTE PTR DATA,AH

5. MOV [SI],10H 解释:第四条规则。

改正:

MOV AH,10H

MOV BYTE PTR[SI],AH  



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3