汇编mov命令与常见错误 |
您所在的位置:网站首页 › 汇编里的mov › 汇编mov命令与常见错误 |
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 |