微型计算机原理中的mov,微机原理(判断题)(指令正误)

这篇内容涉及汇编语言指令的正确性判断,包括立即数、存储器操作数、段寄存器、寻址方式等方面的错误分析,并探讨了数据定义中的变量类型匹配和EQU的使用规则。同时,还讨论了程序跳转指令和输入输出指令的正确格式。
摘要由CSDN通过智能技术生成

1、指出下面指令正误,对错误指令说明错误原因

(1)MOV DS ,100×立即数不能直接送到段寄存器

(2)MOV [1200H] , 23H×目的操作数不能确定是字节属性还是字属性等

(3)MOV [1000H] , [2000H] ×存储器之间不能直接传送数据

(4)MOV 1020H , CX×立即数不能作为目的操作数

(5)MOV AX , [BX+BP+0100H] ×目的操作数的寻址方式错误BX和BP都是基址寄存器

(6)MOV CS , AX×不能直接对CS赋值

(7)PUSH AL×PUSH操作对象是字属性

(8)PUSH WORD PTR [SI]√

(9)OUT CX , AL×在OUT指令中用DX寄存器存放端口地址而不是CX

(10)IN AL , [80H]×在IN指令中端口直接表示时,不加[]

(11)MOV CL , 3300H×3300H数太大,AL寄存器不能存放

(12)MOV AX , 2100H[BP] √

(13)MOV DS , ES×段寄存器之间不能直接传送数据

(14)MOV IP , 2000H×IP寄存器不能直接赋值,不能使用MOV指令

(15)PUSH CS√

(16)POP CS×POP指令不能使用CS寄存器,不能向CS寄存器中赋值

2、已知3个变量的数据定义如下所示,分析给定的指令是否正确,有错误时加以改正。DA TA SEGMENT

V AR1 DB ?

V AR2 DB 10

V AR3 EQU 100

DA TA ENDS

(1)MOV V AR1 , AX×源操作数和目的操作数类型不匹配

(2)MOV V AR3 , AX×V AR3是一个常量,值不变,不能赋值

(3)MOV BX , V AR1

MOV [BX] , 10×源操作数和目的操作数类型不匹配

(4)CMP V AR1 , V AR2×存储器之间不能直接传送数据

(5)V AR3 EQU 20×EQU不能重复定义

3、设V AR1和V AR2为字变量,LAB为标号,分析下列指令错误之处,并加以改正(1)ADD V AR1 , V AR2×2个数都是存储器操作数,不能直接放在指令中,指令要求必须有一个是寄存器操作数

(2)MOV AL , V AR2×源操作数和目的操作数类型不匹配

(3)SUB AL , V AR1×源操作数和目的操作数类型不匹配

(4)JMP LAB[SI] ×标号LAB位于代码段,[SI]位于数据段,两个不同的段,LAB[SI]不能确定是代码段还是数据段

(5)JNZ V AR1×JNZ指令的操作数应该是标号

(6)JMP NEAR LAB×正确指令是JMP NEAR PTR LAB

4、说明下面指令哪些需要加PTR伪操作。

BV AL DB 10H , 20H

WV AL DW 1000H

(1)MOV AL , BV AL√

(2)MOV DL , [BX] √

  • 4
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值