微机原理 - 第二版 - 课后作业第四章(朱金钧)
更新时间:2024-01-12 05:18:01 阅读量: 教育文库 文档下载
- 微机原理与接口技术推荐度:
- 相关推荐
第4章 指令系统
教材习题解答
1. 若DS=3000H,BP=2000H,SI=1000H,[32000H]=00H,[32001H]=40H,SS=3000H,[31000H]=20H,[31001H]=60H,[33000H]=50H,[33001H]=60H,说明下列各条指令执行后,AX中的内容是什么?并说明各条指令中源操作数的寻址方式。
(1) MOV AX,DS
(3) MOV AX,[SI]
(5) MOV AX,[BP+SI]
【解】
(1) AX=3000H 寄存器寻址 (2) AX=4000H 直接寻址 (3) AX=6020H 寄存器间接寻址 (4) AX=4000H 寄存器间接寻址 (5) AX=6020H 基址加变址寻址 2. 指出下列指令中的非法指令。
(1) MOV BX,AL (3) PUSH 4567H (5) ADD AL,148H (7) MOV
BH,SI
【解】非法指令: (1) MOV BX,AL (2) MOV
CS,2000H
(2) MOV AX,[2000H] (4) MOV
AX,[BP]
(2) MOV CS,2000H (4) XCHG VAR1,VAR2 (6) MOV DS,2000H (8) SUB
38H,AL
BX和AL的长度不一致 CS段寄存器不能作目的操作数
(3) PUSH 是立即数
4567H 只能将寄存器或存储单元的内容压入堆栈,不能
(4) XCHG VAR1,VAR2 (5) ADD (6) MOV (7) MOV (8) SUB
AL,148H DS,2000H BH,SI 38H,AL
两个存储单元之间不能直接交换数据
运算溢出
立即数不能直接传送给DS段寄存器 BH和SI的长度不一致 目的操作数不能是立即数
3. 若SP=2000H,AX=3355H,BX=4466H,试指出下列指令或程序段执行后有关寄存器的内容。 (1) PUSH
AX
执行后AX=?,SP=?
PUSH AX PUSH BX POP
DX
(2)
POP CX
执行后AX=?,CX=?,DX=?,SP=?
【解】(1) 执行后AX=3355H,SP=1FFEH
(2) 执行后AX=3355H,CX=3355H,DX=4466H,SP=2000H 4. 请按下面的要求写出相应的汇编指令或指令序列。
(1) 将1234H送入DS中。
(2) 将5678H与AX中的数相加,结果放在AX中。 (3) 将DATAX和DATAY相加,其和放在DATAY中。 (4) 将AX中的高4位变为全0。 (5) 将BX中的低2位变为全1。 (6) 将CX中的D3~D7位取反。
【解】
(1) MOV AX,1234H
MOV DS,AX
(2) ADD AX,5678H (3) MOV AX,DATAX
ADD AX,DATAY MOV DATAY,AX
(4) AND (5) OR (6)
AX,0FFFH AX,0003H
MOV AX,CX AND AX,07H XOR CX,0FFFFH AND CX,0FFF8H ADD CX,AX
5. 若AL=0FFH,BL=03H,指出下列指令执行后标志AF、OF、ZF、SF、PF、CF的状态。
(1) ADD (3) SUB (5) AND (7) CMP (9) OR
【解】执行后:
(1) ADD BL,AL (2) INC BL (3) SUB BL,AL (4) NEG BL (5) AND BL,AL (6) MUL BL
AF 1 0 1 1 任意值 任意值
OF 0 0 0 0 0 1
ZF 0 0 0 0 0 任意值
SF 0 0 0 1 0 任意值
PF 0 0 0 0 1 任意值
CF 1 不影响 1 1 0 1
BL,AL BL,AL BL,AL BL,AL BL,AL
(2) INC (4) NEG (6) MUL (8) IMUL BL (10)XOR
BL BL BL
BL,BL
(7) CMP BL,AL (8) IMUL BL (9) OR BL,AL (10) XOR BL,BL
1 任意值 任意值 任意值
0 1 0 0
0 任意值 0 0
0 任意值 1 1
0 任意值 1 1
1 1 0 0
6. 已知存储器中有两个压缩BCD码6543和4672存放在从BUF开始的连续4个单元中(高字节放在高地址单元),试编制两数相减的程序,结果存放在后面的两个单元中。
【解】程序段如下:
MOV BX,BUF MOV AX,[BX] MOV CX,[BX+2] SUB AL,CL MOV DL,AL DAA
MOV AL,AH SBB AL,CH DAA
MOV AH,AL MOV AL,DL MOV [BX+4],AX
7. 假设DX=36A5H,CL=3,CF=1,确定下列各条指令执行后DX和CF的值。
【解】
(1) SHR DX,1 (2) SAR DX,CL (3) SHL DX,CL (5) ROR DX,CL
(6)
(4)
SHL DL,1
ROL DL,CL SAR DH,CL (10)RCR DX,CL
(7) SAL DH,1 (8) (9) RCL DX,CL
(1) 指令执行后DX:1B52H,CF:1 (2) 指令执行后DX:06D4H,CF:1 (3) 指令执行后DX:6D4AH,CF:0 (4) 指令执行后DX:364AH,CF:1 (5) 指令执行后DX:0C6D4H,CF:1 (6) 指令执行后DX:362DH,CF:1 (7) 指令执行后DX:6CA5H,CF:0 (8) 指令执行后DX:06A5H,CF:1 (9) 指令执行后DX:0B529H,CF:1 (10) 指令执行后DX:0A6D4H,CF:1
8. 编写程序段将寄存器AL中的8位二进制数的内容颠倒过来,即将原来的最高位变为最低位,次高位变为次低位,以此类推,若原AL的内容为01110001B,则颠倒之后变为10001110B。 【解】程序段如下:
XOR AH,AH MOV CX,8
LP1: SHR AL,1
RCL AH,1 LOOP LP1 MOV AL,AH
;存回AL ;AH清零
;重复8次
;逻辑右移,将最最低位移入CF
;带进位的循环左移,将CF移入AH的最低位
9. 执行下列程序段,指出各相关寄存器的内容。
MOV DEC SUB
AX,0A0BH AX AX,0FFH
AND MOV SAL ADD
AX,00FFH CL,3 AL,CL AL,25H
XCHG AL,AH PUSH AX POP INC
BX BL
【解】各相关寄存器的内容:
MOV DEC SUB AND MOV SAL ADD
AX,0A0BH AX
;AX:0A0BH
;AX:0A0AH ;AX:090BH ;AX:000BH ;CL:03H
;AX:0058H
AX,0FFH AX,00FFH CL,3 AL,CL AL,25H
;AX:007DH ;AX:7D00H
;AX:7D00H
XCHG AL,AH PUSH AX POP INC
BX BL
;BX:7D00H
;BX:7D01H
10. 用串操作指令将100H个字符从2100H处搬到1000H处,并且从中检索与AL中所存字符相同的存储单元,并将该单元的内容替换成空格,本程序只替换检索到的第一个相同的单元。请在下列空格中填入合适的指令,使程序段完成上述功能。
┇
MOV SI,2100H (1) MOV CX,100H CLD
(2) MOV DI,1000H MOV CX,100H (3) JNZ K1
(4) MOV [DI],20H
K1: ┇
【解】
(1) MOV DI,1000H (2) REP MOVSB (3) REPNE SCASB (4) DEC DI
11. 试分析下列程序段,如果AX和BX的内容分别为下列5种情况,问程序分别转向何处?
(1) AX=147FH,BX=80DCH (2) AX=0B586H,BX=54B5H (3) AX=42C0H,BX=608AH (4) AX=0D023H,BX=9FD7H (5) AX=94B7H,BX=0B568H
ADD AX,BX JNO L1 JNC L2 SUB AX,BX JNC L3 JNO L4 JMP L5
【解】
(1) L1;不溢出,转移到L1 (2) L1;不溢出,转移到L1
(3) L2;溢出,不转移到L1,进位为0,转移到L2
(4) L3;溢出,不转移到L1,进位为1,不转移到L2,借位为0,转移到L3 (5) L4;溢出,不转移到L1,进位为1,不转移到L2,借位为1,不转移到L3,不溢出,转移到L4
12. 编程求出AX中存放的16位二进制数中‘1’的个数,将其存入CL中(若AX=1001010011001011B则将8存入CL)。 【解】程序段如下:
MOV CX,16 XOR BX,BX
L1: SHL AX,1
RCL BL,1 ADD BH,BL XOR BL,BL LOOP L1 MOV CL,BH
;最低位移入CF ;CF移入最低位
13. 已知BUF单元有一个单字节无符号数X,按要求编写一程序段计算Y(仍为单字节数),并将其存于累加器。
Y= 3X,X<20 X-20,X≥20
【解】程序段如下:
XOR AX,AX MOV AL,BUF CMP AL,20 JNB L1
MOV BL,3 MUL BL JMP END
L1: SUB AX,20 END: HLT
正在阅读:
微机原理 - 第二版 - 课后作业第四章(朱金钧)01-12
以职业道德教育为例探索立德树人视角下高校思想政治理论课创新03-16
游园活动谜语(语文、数学、脑筋急转弯)11-28
怎样做好项目前期工作05-24
我在书中成长作文550字07-08
云南跨境民族问题与国家安全研究04-24
小学生我的中国梦作文500字02-05
《创新创业教育》课程考核论文11-23
2015年11月半月评论01-25
状态空间描述的概念10-22
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 第四章
- 课后
- 微机
- 原理
- 作业
- 朱金钧
- 第五章 业务承接与审计计划
- 浅谈嵌入式系统电源芯片选型与应用
- 四川省双流中学2015-2016学年高二3月月考地理试卷 - 图文
- 报关员例题
- 2002-2011年刑事诉讼法历年真题解析(单项选择)
- DSP的SPI接口
- 传智播客C - Winform笔记-苏坤
- 在全市大学生村官党性修养专题培训班结业典礼上的讲话
- 激光原理第四章习题
- 内蒙古2009装饰装修工程预算定额
- Alcatel-Lucent操作手册
- 北京邮电大学管理科学与工程(工学)考研 招生人数 参考书 报录比 复试分数线 考研真题 考研经验 招生简章
- 第二十届全国青少年信息学奥林匹克竞赛初赛提高组C语言试题(附答案)
- U大师U盘安装原版WIN7系统图解教程(两种方法)
- 第5章 所有者权益变动表分析习题
- 淘宝如何判断虚假交易的
- UNICODE漏洞一
- 变压器差动保护平衡系数设置错误的思考
- 南山区建筑工务局工程变更管理办法
- 质量信得过班组汇报材料 - 图文