请高手帮忙解决下有关微机原理的问题

一,指出下列语句错误
1,MOV [SI],34H

2, MOV 45H,AX

3, INC 12

4,MOV [BX],[SI+BP+BUF]

二,已知DS=2000H,(21000H)=2234H,(21002H)=5566H,试区别以下三条指令。
MOV SI,[1000H]
LEA SI,[1000H]
LDS SI,[1000H]
大哥大姐们,这是我们的周末作业,麻烦步骤详细点,让老师看的懂啊,万谢啊

一、
1。如果源操作数是立即数,那么必须用属性操作符指明存储器操作数的类型,否则不能确定是存为一字节还是二字节。
MOV BYTE PTR [SI],34H
2。MOV 指令第一个操作数不能为立即数
3。INC 指令操作数不能为立即数
4。不支持存储器到存储器的mov操作
二、
1、将地址1000H的值送SI寄存器,SI=2234H
2、将内在单元[1000]的偏移地址送SI,SI=1000H
3、高地址送DS,低地址送寄存器,DS=5566h,SI=1000H
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-10-19
1:不知

2:立即数无空间,不可以进跟MOV后边 可以写成 MOV AX,45H 意思是把45H送入AX数据寄存器

3:简单的说立即数不能紧跟在操作符后边 把INV换成JMP,MOV等等这些都不可以

4:存储器"内部"单元不可以相互代换,但是寄存器内部可以

二: MOV SI,[1000H] 将1000H送入源变址寄存器,SI=2234H
LEA SI,[1000H] 将1000H所指向的偏移地址送入源变址寄存器,SI=1000H
LDS SI,[1000H] 将1000H所指向单元的段地址送入源变址寄存器,DS=5566H,SI=1000H
第2个回答  2008-10-18
第一个正确
第二个,错了,目的操作数不能是立即数
第三个,错了INC指令的目的操作数不能是立即数
第四个,错了,两个都是地址,都是内存单元,MOV指令不能在两个存储器单元间进行
第二大题
(1)(SI)=2234H
(2)(SI)=1000H
(3)(SI)=1000H,(DS)=5566H
相似回答