汇编习题及答案
更新时间:2024-05-05 08:36:01 阅读量: 综合文库 文档下载
- 汇编语言推荐度:
- 相关推荐
第三章 8086的寻址方式和指令系统
1. 指令正误判断,对正确指令写出源和目的操作数的寻址方式,对错误指令指出原因(设VAR1, VAR2为字变量, L1为标号):
(1)MOV SI,100 (2)MOV BX,VAR1[SI] (3)MOV AX, [BX] (4)MOV AL, [DX] (5)MOV BP, AL (6)MOV VAR1, VAR2 (7)MOV CS, AX (8)MOV DS, 0100H
(9)MOV [BX][SI], 1 (10)MOV AX, VAR1+VAR2 (11)ADD AX, LENGTH VAR1 (12)OR BL, TYPE VAR2 (13)SUB [DI], 78H (14)MOVS VAR1, VAR2 (15)PUSH 100H (16)POP CS
(17)XCHG AX, ES (18)MOV DS, CS (19)JMP L1+5 (20)DIV AX, 10 (21)SHL BL, 2 (22)MOV AL, 15+23 (23)MUL CX (24)XCHG CL, [SI]
(25)ADC CS:[0100], AH (26)SBB VAR1-5,154
参考答案:(1)MOV SI,100 ;指令正确,源:立即数寻址,目的:寄存器寻址 (2)MOV BX,VAR1[SI] ;指令正确,源:寄存器相对寻址,目的:寄存器寻址 (3)MOV AX, [BX] ;指令正确,源:寄存器间接寻址,目的:寄存器寻址 (4)MOV AL, [DX] ;指令错误,DX不能用作为地址寄存器 (5)MOV BP, AL ;指令错误,类型不一致
(6)MOV VAR1, VAR2 ;指令错误,MOV指令不能从存储器到存储器传送 (7)MOV CS, AX ;指令错误,CS不能用作为目的操作数
(8)MOV DS, 0100H ;指令错误,MOV指令不能将立即数传送到段寄存器 (9)MOV [BX][SI], 1 ;指令错误,类型不定
(10)MOV AX, VAR1+VAR2 ;指令错误,MOV指令中不能完成加法运算
(11)ADD AX, LENGTH VAR1 ;指令正确,源:立即数寻址,目的:寄存器寻址 (12)OR BL, TYPE VAR2 ;指令正确,源:立即数寻址,目的:寄存器寻址 (13)SUB [DI], 78H ;指令错误,类型不定
(14)MOVS VAR1, VAR2 ;指令正确,源:隐含寻址,目的:隐含寻址 (15)PUSH 100H ;指令错误,立即数不能直接压入堆栈 (16)POP CS ;指令错误,CS不能用作为目的操作数
(17)XCHG AX, ES ;指令错误,XCHG指令中不能使用段寄存器 (18)MOV DS, CS ;指令错误,MOV指令不能从段寄存器到段寄存器 (19)JMP L1+5 ;指令正确,段内直接转移
(20)DIV AX, 10 ;指令错误,DIV指令格式错误
(21)SHL BL, 2 ;指令错误,移位指令的移位数要么是1,要么是CL (22)MOV AL, 15+23 ;指令正确,源:立即数寻址,目的:寄存器寻址 (23)MUL CX ;指令正确,源:寄存器寻址,目的:隐含寻址
(24)XCHG CL, [SI] ;指令正确,源:寄存器间接寻址,目的:寄存器寻址 (25)ADC CS:[0100], AH ;指令正确,源:寄存器寻址,目的:直接寻址 (26)SBB VAR1-5,154 ;指令正确,源:立即数寻址,目的:直接寻址
2. 写出下列转移指令的寻址方式(设L1为标号,VAR1为字型变量,DVAR1为双字型变量): (1)JMP L1 (2)JMP NEAR L1 (3)JNZ L1 (4)JMP BX
(5)JG L1 (6)JMP VAR1[SI]
(7)JMP FAR PTR L1 (8)JMP DVAR1
2. 答:(1)JMP L1 ;段内直接寻址 (2)JMP NEAR L1 ;段内直接寻址 (3)JNZ L1 ;段内相对寻址 (4)JMP BX ;段内间接寻址
(5)JG L1 ;段内相对寻址 (6)JMP VAR1[SI] ;段内间接寻址
(7)JMP FAR PTR L1 ;段间直接寻址(8)JMP DVAR1 ;段间间接寻址 3. 如果堆栈的起始地址为2200:0000,栈底为0100H,(SP)=00A8H,求 (1)栈顶地址; (2)SS的内容; (3)再存入数据5678H,3AF2H后,SP的内容。
4. 按下列要求写出指令:
(1)将AX寄存器的低4位清零,其余位不变; (2)将BX寄存器的低4位置1,其余位不变; (3)将AL寄存器的低4位保持不变,高4位取反;
(4)测试BX中的位1和位2,当这两位同时为0时将AL置0FFH,否则AL清零; (5)测试BX中的位1和位2,当这两位有一位为0时将AL置0FFH,否则AL清零; (6)将AL中保存的字母ASCII码变换成相应的大写字母的ASCII码; (7)将AL中保存的字母ASCII码变换成相应的小写字母的ASCII码; (8)将AX中的各位取反;
(9)将DX中的低7位取反,高9位不变; (10)将CX中的低8位与高8位互换。
5. 写出完成下述功能的程序段: (1)传送40H到AL寄存器; (2)将AL的内容乘以2; (3)传送16H到AH寄存器; (4)AL的内容加上AH的内容。 计算最后结果(AL)=? 5. 解:(1)MOV AL,40H (2)SHL AL,1 (3)MOV AH,16H (4)ADD AL,AH 执行后(AL)=96H
6. 设(BX)=11001011B,变量VAR的内容为00110010B,求下列指令单独执行后BX的内容:(1)XOR BX,VAR; (2)AND BX,VAR; (3)OR BX,VAR; (4)XOR BX,11110000B; (5)AND BX,00001111B; (6)TEST BX,1。 6. 解:(1)XOR BX,VAR; 执行后(BX)=00F9H (2)AND BX,VAR; 执行后(BX)=0002H (3)OR BX,VAR; 执行后(BX)=00FBH
(4)XOR BX,11110000B;执行后(BX)=003BH (5)AND BX,00001111B;执行后(BX)=00C4H (6)TEST BX,1 ; 执行后(BX)=00CBH(不变)
7. 选择题(各小题只有一个正确答案) (1)执行下列三条指令后: MOV SP,1000H PUSH AX CALL BX
a. (SP)=1000H; b. (SP)=0FFEH; c. (SP)=1004H; d. (SP)=0FFCH;
(2)要检查寄存器AL中的内容是否与AH相同,应使用的指令为: a. AND AL, AH b. OR AL, AH c. XOR AL, AH d. SBB AL, AH
(3)指令JMP NEAR PTR L1与CALL L1(L1为标号)的区别在于: a. 寻址方式不同; b. 是否保存IP的内容; c. 目的地址不同; d. 对标志位的影响不同。 7. 答:(1)d (2)c (3)b
8. 下列程序段执行后,求BX寄存器的内容:
MOV CL,3 MOV BX,0B7H ROL BX,1 ROR BX,CL
8. 答:(BX)=C02DH
9. 指出下列指令中哪些是错误的,错在哪? (1)MOV DL, AX (2)MOV 8650H, AX (3)MOV DS, 0200H (4)MOV [BX], [1200H] (5)MOV IP, 0FFH
(6)MOV [BX+SI+3], IP (7)MOV AX, [BX][BP] (8)MOV AL, ES:[BP] (9)MOV DL, [SI][DI]
(10)MOV AX, OFFSET 0A20H (11)MOV AL, OFFSET TABLE (12)XCHG AL, 50H (13)IN BL, 05H (14)OUT AL, 0FFEH 9. 答:
(1)错,寄存器寻址方式中,目的操作数与源操作数长度必须一致 (2)错,目的操作数不可以是立即数
(3)错,MOV指令不允许将立即数传入段寄存器 (4)错, MOV指令的两个操作数不能同时为存储器 (5)错, IP不能作为MOV指令的目的操作数 (6)错, IP不能作为MOV指令的源操作数
(7)错,BX与BP不可以同时出现在源操作数当中 (8)对
(9)错,SI与DI是两个变址寄存器,不可以同时出现在源操作数中。
(10)错,OFFSET后面跟的应该是符号地址,再把符号地址的值作为操作数。 (11)错,TABLE的偏移地址是16位,目的与源长度不一致
(12)错,交换指令可以在寄存器之间,寄存器和存储器之间进行,不可以是立即数。 (13)错, BL不能作为IN指令的目的操作数,只能用AL或AX
(14)错,端口地址0FFEH>FFH, 应用DX间接寻址, 同时源操作数和目标操作数的位置颠倒了,应改为OUT DX, AL。
10.已知当前SS=1050H, SP=0100H, AX=4860H, BX=1287H,试用示意图表示执行下列指令过程中,堆栈中的内容和堆栈指针SP是怎么变化的? (1) PUSH AX (2) PUSH BX (3) POP BX (4) POP AX 10.答:
正在阅读:
汇编习题及答案05-05
91助手怎么给iphone设置铃声?02-09
新人教版六年级数学下册教学计划及进度05-10
第六章给水管网的设计计算 - 图文07-03
民谣及其赏析 讲稿10-19
机电学院办公室3、4月份政治学习总结总结02-01
2018-2019学年人教版五年级数学上册第五单元测试题12-03
山西经济出版社信息技术第一册全册教案12-13
纸币能执行价值尺度的职能吗08-19
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 习题
- 汇编
- 答案