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)OUT CX , AL×在OUT指令中用DX寄存器存放端口地址而不是CX (9)IN AL , [80H]×在IN指令中端口直接表示时,不加[] (10)MOV CL , 3300H×3300H数太大,AL寄存器不能存放

(11)MOV DS , ES×段寄存器之间不能直接传送数据(12)MOV IP , 2000H×IP寄存器不能直接赋值,不能使用MOV指令

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

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

DATA SEGMENT

V AR1 DB ?

V AR2 DB 10

V AR3 EQU 100

DATA 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)SUB [BX] , 2×目的操作数不能确定是字节属性还是字属性等

(2)MOV CL , WV AL×源操作数和目的操作数类型不匹配,正确指令是MOV CL , BYTE PTR WV AL

5、程序在数据段中定义的数组如下

NAMES DB ‘TOM.’

DB 20

DB ‘ROSE.’

DB 30

DB ‘KATE.’

DB 25

请指出下列指令是否正确,为什么

(2)MOV AX , NAMES×源操作数和目的操作数类型不匹配

(4)MOV BX , 6

MOV SI , 5

MOV AX , NAMES[BX][SI] ×类型不匹配,如果目的操作数变为AL正确

(5)MOV BX , 6*2

MOV SI , 5

MOV AX , OFFSET NAMES[BX][SI]

INC [AX] ×①在汇编过程中,OFFSET伪指令将得到变量的偏移值,但对于相对基址变址形成的值在汇编时值还未知②使用AX存放地址不对,但如果使用BX 存放地址,由于有第①个原因也是不对的

6、下面有4条等值语句

C1 EQU 1000

C2 EQU 1

C3 EQU 20000

C4 EQU 25000

下面指令哪些不对,请说明原因

(1)ADD AL , C1-C2×C1-C2的值是999,超出字节表示范围(4)SUB AH , C4-C3-C1 ×C4-C3-C1的值超出字节表示范围

7、分析下列指令正误,并加以改正

(1)MOV AH , BX×(2)MOV [BX] , [SI] ×

(3)MOV AX , [SI][DI] ×(4)MOV MYDAT[BX][SI] , ES:AX×

(5)MOV BYTE PTR [BX] , 1000×(7)MOV CS , AX×

(9)MOV AX,70

MUL 56 ×

8、下面哪些指令错误的?(假设OP1、OP2是已经用DB定义的变量)

(1)CMP 15 , BX×(2)CMP OP1 , OP2×(3)CMP AX , OP1×

9、假设V AR1和V AR2为字变量,LAB为程序中的一个标号,试找出指令错误之处

(1)ADD V AR1 , V AR2×存储器中2个数不能直接相加

(2)SUB AL , V AR1×类型不匹配

(3)JNZ V AR1×转移指令后应该存放标号

(4)JMP LAB[SI] ×[SI]是数据段中一个数,LAB是代码段中标号,LAB[SI]不能确定是数据段还是代码段

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

10、对于下面符号的定义,指出下面指令的正误

A1 DB ?

A2 DB 10

K1 EQU 1024

(1)MOV K1 , AX×常量不能作为目的操作数(2)MOV A1 , AX×类型不匹配

(3)MOV BX , A1×类型不匹配

MOV [BX] , 1000×目的操作数[BX]对象是字节|字|双字,不确定

(4)CMP A1 , A2×存储器中2个数不能直接进行比较(5) K1 EQU 2048×EQU不能重复定义

11、指出下面伪指令表达式的错误,并改正之

(1)STACK-SEG SEGMENT ‘STACK’×应改为STACK_SEG SEGMENT ‘STACK’(2)DATA_SEG SEG×应改为DATA_SEG SEGMENT

(3)SEGMENT ’CODE’×没有段名

(4)MYDATA SEGMENT ’DATA’

ENDS ×应改为MYDATA ENDS

(5)MAIN_PROC PROC FAR

END MAIN_PROC

MAIN_PROC ENDP×不要END MAIN_PROC

12、DATA DW 1234H

MOV AL , HIGH DATA×DATA是变量,HIGH伪指令不能这样使用

13、JMP [BX] ×不能判断[BX]是段内还是段间,应改为JMP WORD PTR [BX]或JMP DWORD PTR [BX]

14、MUL AL , BL ×MUL BL MUL指令只有一个操作数

SHL AL , 3×如果移位次数不是1,使用CL寄存器

15、mov cx, 50

shl ax , cx×应使用CL寄存器

16、JMP BYTE PTR [BX] ×

17、ORG 100H

NAMES DB ‘TOM..’,20

DB ‘ROSE.’,25

DB ‘KATE.’,22

(1)MOV BX , OFFSET NAMES

MOV AX , [BX+5] √

(2)MOV BX , OFFSET NAMES+11

CMP [BX] , BYTE PTR NAMES+5×存储器中2个数不能直接进行比较

18、PUSH 5 ×不能放立即数

19、XCHG AX , DS×XCHG指令中的段寄存器不能作为操作数

XCHG AX , [SI] √

XCHG [BX] , [SI] ×XCHG指令中操作数必须有一个是寄存器,不能2个操作数都是存储器操作数

XCHG AX , CX√

20、78 MOV AL , FFH ×十六进制数如果以A~F或a~f开头时,则前面加上0

20%3cx 30 的c语言表达式是,判断题(指令正误)相关推荐

  1. c语言rr算法,[判断题] 在RR、PF、MAXC/I三种算法中,RR算法的用户公平性最好

    [判断题] 在RR.PF.MAXC/I三种算法中,RR算法的用户公平性最好 更多相关问题 在等差数列中,有,则此数列的前13项之和为()A.24B.39C.52D.104 已知y=xlnx,则y(10 ...

  2. C语言试卷选择判断题(7)

    若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式:(float)(a+b)/2+(int)x%(int)y的值是 () A.2.500000 B.3.500000 ...

  3. 用C语言解“超速判断”题

    7-8 超速判断 模拟交通警察的雷达测速仪.输入汽车速度,如果速度超出60 mph,则显示"Speeding",否则显示"OK". 输入格式: 输入在一行中给出 ...

  4. c语言表达式1 4 2.75,东师C程序设计20秋在线作业1 2【标准答案】

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 C程序设计19春在线作业1-0005 试卷总分:100 得分:100 一.单选题 (共 20 道试题,共 60 分) 1.设有如下定义:int a=1,b ...

  5. 三个等价c语言表达式,C语言习题综合(20页)-原创力文档

    第二章练习题 -.选择题 1. 以下选项中正确的实型常量 2 A 0 B 3. 1415 C 0.329×10 D .871 2.不合法的用户标识符 A _123 B printf C A $ D D ...

  6. 把算术表达式 表示为一个c语言表达式,正确的写法是____,C与C++程序设计-中国大学mooc-题库零氪...

    第一周:从问题到C语言程序设计 1.1 计算机的问题求解方法随堂测验 1.算法的描述方法除了自然语言之外,还包括: A.流程图 B.NS流程图 C.伪代码 D.程序语言 2.结构化程序设计方法包含三种 ...

  7. 与表达式p =0等价的c语言表达式是,2015年3月全国计算机二级C语言选择第1套

    1.算法的时间复杂度是指 A.设计该算法所需的工作量 B.执行该算法所需要的时间 C.执行该算法时所需要的基本运算次数 D.算法中指令的条数 2.设循环队列存储空间为Q(1:50),初始状态为fron ...

  8. c语言表达式1 4 2.75,c语言摸底考试.docx

    c语言摸底考试.docx 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文档所得收 ...

  9. c语言表达式106的结果是,云南师范大学C语言期末试题

    <云南师范大学C语言期末试题>由会员分享,可在线阅读,更多相关<云南师范大学C语言期末试题(10页珍藏版)>请在人人文库网上搜索. 1.云南师范大学2009-2010学年下学期 ...

最新文章

  1. MySQL开发医药管理系统_java Web开发医药后台管理系统mysql版本源代码下载,支持中英文...
  2. python学习音频-机器学习利用Python进行音频数据增强
  3. HTML DOM Table 对象
  4. PagedList.Mvc只有一行时不显示分页
  5. 【Python】精选22个Pandas函数!
  6. matlab频率阻抗,有分析阻抗的matlab脚本吗?
  7. python的return语句求两数之和_程序题(python解)
  8. 微信分享JS-SDK示例页面
  9. MySQL—Linux查看客户端连接信息(连接数、进程等)及SpringBoot配置数据库模板
  10. 2016.3.16(Java图形用户界面)
  11. matlab设置三维图等高线,MATLAB --三维图形等高线
  12. OpenTCS打造移动机器人交通管制系统(三)
  13. ESXI主机密码忘记恢复
  14. dBm、mw、dB三者之间的关系
  15. autojs编写的支付宝支付模板,带toast弹窗,自定义控件,界面上插入图片,功能非常强大和完善值得学习
  16. 锐捷框式交换机日常维护与故障排查
  17. 正常人白手起家挣一千万需要多久?
  18. 某游戏免广告领奖励教程
  19. 洲明8K超高清地砖屏亮相2022北京冬奥会;汉高计划将两大业务部合并为消费品牌业务部|美通社头条...
  20. 百世集团去年第四季度总收入达90.4亿元 净亏损2400万元

热门文章

  1. Java基础学习总结(179)——Java 日志框架冲突解决方案大汇总
  2. Multiresolution Recurrent Neural Networks: An Application to...
  3. windows 安装tomcat 7
  4. Hadoop入门进阶步步高(四)-测试Hadoop
  5. mysql之触发器before和after的区别
  6. 分布式监控系统ganglia配置文档
  7. 【概率论】对弈输光模型,ruin model
  8. 发现了 四川方言版的让子弹飞 的种子
  9. 两大微服务框架dubbo和spring cloud对比
  10. JN_0005:PS改变图片指定内容颜色