常见错误写法:1.DATA DB 10H MOV [SI],DATA 解释:SI]指向的是内存内的数,违反规则2,所以此语句错误。改正:MOV AX,DATA;MOV [SI],AX 2.MOV CS,AX MOV DS,1000H 解释:见常见错误写法:1. DATA DB 10H MOV [SI],DATA 解释:SI]指向的是内存内的数,违反规则2,所以此语句错误。改正:MOV AX,DATA;MOV [SI],AX 2. MOV CS,AX MOV DS,1
正文1 微机原理指令错误类型:mov bp,bl 8位寄存器送16位mov cs,ax cs不能做目操作数mov[bx],[si] 存储器不能送存储器。一个程序中可能要使用到若干个变量,为了区(5)IP 不能用指令直接修改(6)指令中不能出现IP (7)BX/BP 应与SI/DI 搭配(8)对(9)SI/DI 应与BX/BP 搭配(10)OFFSET 后应该内存(11)应用AX (12)不能立即数(13)IN 必须用AL/AX
第一条,因为[BX]和[SI]都是存储单元,两个存储单元间不能直接进行传送。若果要,需通过寄存器,如:MOV AX,[BX][SI],AX 这样即实现将[SI]单元的内容送至[BX]单元1. 两个操作数的类型不一致:例如源操作数是字节,而目的操作数是字;或相反绝大多数双操作数指令(包括传送指令),除非特别说明,目的操作数与源操作数必须类型一致,或者同为字,
(1)两个存储单元之间不能直接传送数据,即:MOV指令只允许⼀个操作数在存储器中。MOV [SI],2000H];这是错误的(2)MOV指令中⽴即数不能直接传送给段寄存器(CS、DS、SS例如:MOV 100H,AX // 错误的6.指令指针IP 寄存器不可以做为MOV 指令操作数;7.两个操作数不能同时作为存储单元,例如:MOV VARA,VARB 那么真的规定2 4 7
常见错误写法:1. DATA DB 10H MOV [SI],DATA 解释:SI]指向的是内存内的数,违反规则2,所以此语句错误。改正:MOV AX,DATA;MOV [SI],AX 2. MOV CS,AX MOV DS,1000H 解释(4)MOV 指令中立即数不能做目标操作数。MOV 2000H, [SI] (错误) (5)立即数不能作为目的操作数,如:MOV 100H. AX (6)指令指针IP,不能作为MOV指令的操作数(7)两