指出以下汇编指令的错误

(1)MOV AH,BX
(2)MOV [SI],[BX]
(3)MOV AX,[SI][DI]
(4)MOV AX,[BX][BP]
(5)MOV[BX],ES:AX
(6)MOV BYTE PTR[BX],1000
(7)MOV AX,OFF SEF [SI]
(8)MOV CS,AX

(1)MOV AH,BX ;指令的两个操作对象的位数不一致
(2)MOV [SI],[BX]
;mov 指令可以有以下几种形式:
;mov 寄存器,数据
;mov 寄存器,寄存器

;mov 寄存器,内存单元
;mov 内存单元,寄存器

;mov 段寄存器,寄存器
;mov 寄存器,段寄存器

;mov 内存单元,段寄存器
;mov 段寄存器,内存单元
(----------------------好像没有mov 内存,内存--------------------)
(3)MOV AX,[SI][DI] ;si,di只能分开使用
(4)MOV AX,[BX][BP] ;bx,bp只能分开使用
(5)MOV[BX],ES:AX ;这个是什么?????????????????????
(6)MOV BYTE PTR [BX],1000 ;它都说要传 byte 了 你还硬塞个 word
(7)MOV AX,OFF SEF [SI] ;这个我不会
(8)MOV CS,AX ;上面的列表有这种格式,所以他正确了!

(本人初学,大家一起努力,尽量自己看书找资料,实在不懂再问!!!)

参考资料:王爽<<汇编语言>>

温馨提示:内容为网友见解,仅供参考
第1个回答  2008-09-11
1.BX的长度比AH大其他的不高兴一一回答了都是汇编最简单的题目了...拿本汇编书看看刚开始介绍MOV语句的地方吧,这些都给你解释一遍你还是不知道为什么.

指出以下汇编指令的错误
(1)MOV AH,BX ;指令的两个操作对象的位数不一致 (2)MOV [SI],[BX];mov 指令可以有以下几种形式:;mov 寄存器,数据 ;mov 寄存器,寄存器 ;mov 寄存器,内存单元 ;mov 内存单元,寄存器 ;mov 段寄存器,寄存器 ;mov 寄存器,段寄存器 ;mov 内存单元,段寄存器 ;mov 段寄存器,内存单元 (---好像...

以下汇编语言错在哪?
1.MOV [SI],34H ——[si]是存储器操作数,34h是立即数,两个操作数类型都不明确 可以这样修改:mov [si],byte ptr 34h;或者word ptr等也可以 2.MOV 45H,AX ——目标操作数不能是立即数 3.INC 12 ——inc是单操作数指令,将操作数的内容加一再放回去。很显然,inc指令后面的操作数应该...

汇编IN AL,DX是否正确 并指出错误
应该是正确的。IN AL,DX(DX是源操作数。AL是8位寄存器,作为目的操作数,IN指令是端口操作指令,作用是将源操作数代表的端口的内容送给目的操作数,所以整条指令是将DX端口的内容送给AL寄存器)执行完后 DX=0F1H,AL等于第OF1H号端口的内容。

有关汇编语言的,请指出下列各非法指令的错误原因
cs和ds都是段寄存器地址,所以直接给他们MOV应该不对,另外BX是8位的,AL是4为的所以不能MOV AL,BX MOV指令必须经过寄存器,而MOV [],[]是直接在内存中用的MOV 所以不行,CX是代码段寄存器,所以不能MOV AL,[CX]...仅供参考

汇编语言中哪些是错误的指令
MOV BYTE BX 1000 ;格式错误,且超范围,应为MOV word PTR BX1000 MOV CS 1000;不允许直接修改CS值 MOV BX,OFFSET VAR[SI] 错误 VAR是内存变量,[SI]是源变址寄存器,OFFSET是取偏移量,三者不能放在一起 MOV AX,[SI][DI] 错误 指令中不能同时出现两个变址寄存器 MOV COUNT[BX][SI],ES...

汇编题,下列语句都是错误的,请说出错误在哪里?
错误原因:目的操作数不能用立即数。MOV CS,AX 错误原因:CS不能用作目的操作数。XCHG,BX,AX 错误原因:前面一个逗号是多余的。MUL AX,BX 错误原因:MUL是单操作数指令,不该用两个操作数。LEA BX,AX 错误原因:LEA指令的源操作数必须是内存寻址。INC 12 错误原因:立即数不能用作目的操作数 X...

指出下列指令的错误! 急急急急急急急急急急急急急急急急急急急急急急...
1234H ;不能直接给段寄存器赋立即数 14.MOV CS ,AX ;正确 15.SUB DL,CF ;SUB指令不允许标识符直接作为源操作数 16,ADC AX,AL ;操作数长度不匹配 17.MOV AL,300 ;AL是8位寄存器,最大只能装入255这样的无符号数,300>255,源操作数超出范围。18.JDXZ NEXT ;汇编语言中没有JDXZ指令。

关于汇编指令的错误,谢谢
正确的写法:MOV ES:DATA[SI], AX--放在存储器操作数前面 或:ES:---或整个指令前面,单独写一行 MOV DATA[SI], AX

帮检查下汇编程序的错误
1. 在按键的延时去抖动后,没有重新读取按键键值,即:L8: ACALL DELAY CJNE A,#0FFH,SAVE 这两条指令中间应插入:MOV A, P1,否则你用来比较的A还是第一次读到的A 2. 你在检测到按键按下后,没有等待键释放再去检测下一个按键。从你的程序中看,检测到按键按下后,蜂鸣器会响,除非你能...

请问以下汇编指令有什么问题?1.LEA BX,10[BX] 2.POP CS 3.JMP BYTE P...
1.LEA BX,10[BX]是对的,因为LEA BX,MyAddress[BX]是对的,见过此指令,MyAddress是一地址符号 2错误,CS、IP不能赋值的 3.错误,转移的目标应提供CS:IP,一个Byte不够 4、正确,读取接口 5、错误,移位次数2用DL表示 6、错误. 没有这种指令 ...

相似回答