微机原理第3章习题(2)知识讲稿

上传人:yulij****0329 文档编号:133582793 上传时间:2020-05-28 格式:PPT 页数:38 大小:274KB
返回 下载 相关 举报
微机原理第3章习题(2)知识讲稿_第1页
第1页 / 共38页
微机原理第3章习题(2)知识讲稿_第2页
第2页 / 共38页
微机原理第3章习题(2)知识讲稿_第3页
第3页 / 共38页
微机原理第3章习题(2)知识讲稿_第4页
第4页 / 共38页
微机原理第3章习题(2)知识讲稿_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《微机原理第3章习题(2)知识讲稿》由会员分享,可在线阅读,更多相关《微机原理第3章习题(2)知识讲稿(38页珍藏版)》请在金锄头文库上搜索。

1、第三章习题 3 1什么叫寻址方式 8086 8088CPU共有哪几种寻址方式 略 3 2设 DS 6000H ES 2000H SS 1500H SI 00A0H BX 0800H BP 1200H 数据变量VAR为0050H 请分别指出下列各条指令源操作数的寻址方式 它的物理地址是多少 1 MOVAX BX 2 MOVDL 80H 3 MOVAX VAR 4 MOVAX VAR BX SI 5 MOVAL B 6 MOVDI ES BX 7 MOVDX BP 8 MOVBX 20H BX 3 3假设 DS 212AH CS 0200H IP 1200H BX 0500H 位移量DATA 40

2、H 217A0H 2300H 217E0H 0400H 217E2H 9000H 试确定下列转移指令的转移地址 1 JMP2300H 2 JMPWORDPTR BX 3 JMPDWORDPTR BX DATA 解 1 JMP2300H段内直接转移PA CS 10H IP 2300H 05500H 2 JMPWORDPTR BX 段内间接转移PA CS 10H BX 0200H 217A0H 04300H 3 JMPDWORDPTR BX DATA 段间间接转移PA BX DATA 217E2H 10H 217E0H 90000H 0400H 90400H 3 4试说明指令MOVBX 5 BX

3、与指令LEABX 5 BX 的区别 答 MOVBX 5 BX 是数据传送类指令 表示将数据段中以 BX 5 为偏移地址的16位数据送寄存器BX中 LEABX 5 BX 是取偏移地址指令 结果为 BX BX 5 即操作数的偏移地址为 BX 53 5设堆栈指针SP的初值为2300H AX 50ABH BX 1234H 执行指令PUSHAX后 SP 再执行指令PUSHBX及POPAX之后 SP AX BX 解 执行指令PUSHAX后 SP 22FEH执行指令PUSHBX及POPAX之后 SP 22FEH AX BX 1234H 3 6指出下列指令的错误 1 MOVAH CX类型不匹配或两操作数字长不

4、相等 2 MOV33H AL立即数不能做目的操作数 3 MOVAX SI DI 两变址寄存器不能同时使用 4 MOV BX SI 两操作数不能同时为存储器操作数 5 ADDBYTEPTR BP 256两操作数类型不匹配 6 MOVDATA SI ES AX源操作数形式错 寄存器操作数不加段重设符 7 JMPBYTEPTR BX 转移地址的字长至少应是16位 8 OUT230H AX对I O指令 端口地址超过8位 必须采用间接寻址 9 MOVDS BP正确 10 MUL39HMUL指令中操作数不能为立即数 3 7已知 AL 7BH BL 38H 试问执行指令ADDAL BL后 AF CF OF

5、PF SF和值各为多少 解 AL B3HAF 1 CF 0 OF 1 PF 0 SF 1 ZF 03 8试比较无条件转移指令 条件转移指令 调用指令和中断指令有什么异同 略 3 9试判断下列程序执行后 BX中的内容 MOVCL 3MOVBX 0B7HROLBX 1RORBX CL解 该程序是首先将BX内容不带进位循环左移1位 再循环右移3位 即相当于将BX内容不带进位循环右移2位 所以结果为 BX C02DH 3 10按下列要求写出相应的指令或程序段 1 写出两条使AX内容为0的指令 MOVAX 0XORAX AXANDAX 0SUBAX AX 2 使BL寄存器中的高4位和低4位互换 MOVC

6、L 4ROLBL CL或RORBL CL 3 屏蔽CX寄存器的b11 b7和b3位 ANDCX 0F777H 4 测试DX中的b0和b8位是否为1 TESTDX 0101H 3 11分别指出以下两个程序段的功能 1 MOVCX 10LEASI FIRSTLEADI SECONDSTDREPMOVSB将数据段中FIRST为最高地址的10个字节数据按减地址方向传送到附加段SECOND为最高地址的向前10个单元中 2 CLDLEADI 1200H MOVCX 0F00HXORAX AXREPSTOSW将附加段中偏移地址为1200H单元开始的0F00H个字单元清零 3 12执行以下两条指令后 标志寄存

7、器FLAGS的六个状态位各为什么状态 MOVAX 84A0HADDAX 9460H解 AX 1900H在两个16位数进行加法运算时 对CF ZF SF OF会产生影响 但对PF和AF标志位 只有其低8位运算影响它们的状态 AF 0 PF 1 CF 1 ZF 0 SF 0 OF 1 3 13将 46和 38分别乘以2 可应用什么指令来完成 如果除以2呢 解 将 46和 38分别乘以2 可分别用逻辑左移指令SHL和算术左移指令SAL完成 SHL针对无符号数 SAL针对有符号数 也可用MUL 无符号数 和IMUL 有符号数 除以2 用SHR或DIV实现 46 2 用SAR或IDIV实现 38 2 3

8、 14已知AX 8060H DX 03F8H 端口PORT1的地址是48H 内容为40H PORT2的地址是84H 内容为85H 请指出下列指令执行后的结果 1 OUTDX AL将60H输出到地址为03F8H的端口中 2 INAL PORT1从PORT1读入一字节数据 则 AL 40H 3 OUTDX AX将AX 8060H从地址为03F8H的端口输出 4 INAX 48H由48H端口读入16位的数据 5 OUTPORT2 AX将8060H从地址为84H的端口输出 3 15试编写程序 统计BUFFER为起始地址的连续200个单元中0的个数 解 LEASI BUFFERMOVCX 200XORB

9、X BXAGAIN MOVAL SI CMPAL 0JNEGOONINCBXGOON INCSILOOPAGAINHLT 3 16写出完成下述功能的程序段 1 从地址DS 0012H中传送一个数据56H到AL寄存器 MOVDS BYTEPTR 0012H 56HMOVAL 0012H 2 将AL中的内容左移两位 MOVCL 2SHLAL CL 3 AL的内容与字节单元DS 0013H中的内容相乘 MULDS BYTEPTR 0013H 4 乘积存入字单元DS 0014H中 MOVDS 0014H AX 3 17若 AL 96H BL 12H 在分别执行指令MUL和IMUL后 其结果是多少 OF

10、 CF 解 执行MULBL后 AX 0A8CH CF OF 1 执行IMULBL后 AX F88CH CF OF 1 补充作业 1 系统有一个堆栈段区 其地址为1250H 0000H 1250H 0100H SP 0052H 则计算以下数值 1 栈顶物理地址 2 栈底物理地址 3 堆栈段寄存器SS中的段地址 4 若把数据3456H存入 此时SP的值 解 1 栈顶地址 逻辑地址为1250H 0052H物理地址为1250H 16 0052H 12552H 2 栈底地址 逻辑地址为1250H 0100H物理地址为1250H 16 0100H 12600H 3 段寄存器 SS 1250H 4 若把数据

11、3456H存入 此时 SP 0050H 2 已知 DS 3000H BX 1000H DI 0020H MASK 0300H 内存分配如图所示 连续执行下列指令后 DS SI DI AX的内容是什么 标志位状态如何 LEASI MASK BX DI MOVAX SI LDSDI BX SI SUBAX 76EBH 解 1 LEASI MASK BX DI 这条指令传送的是源操作数的有效地址而不是内容 SI MASK BX DI 0300H 1000H 0020H 1320H 2 MOVAX SI 这条指令传送的是源操作数的有效地址的内容 源操作数的物理地址PA DS 16 SI 31320H

12、则 AX 1322H 3 LDSDI BX SI 其源操作数的物理地址PA DS 16 SI BX 30000H 1320H 1000H 32320H则 DS 2000H DI 1000H 4 AX 1322H 执行SUBAX 76EBH后 AX 1322H 76EBH 9C37H标志位状态分别为 CF 1 SF 1 ZF 0 OF 0 PF 0 AF 1 补充习题 1 一个有16个字的数据区 起始地址为70A0H DDF6H 则这个数据区末字单元的物理地址是 A 7E815H B 7E816H C 7E814H D 7E7F8H2 已知 BL 6FH 执行TESTBL 8FH后 BL A 0

13、FH B 6FH C 0 D EFH 3 读程序回答问题XORAX AXMOVBX 1MOVCX 5LOP ADDAX BXINCBXINCBXLOOPLOPHLT上述程序段执行后 AX 25 BX 11 4 在程序运行过程中 确定下一条指令的物理地址的计算表达式是 A CS 10H IP B DS 10H DI C SS 10H SP D ES 10H SI 5 设 SS 2000H 则下列程序执行后 SP AL 中数据在内存地址 中 AH 中数据在内存地址 中 MOVSP 2000HMOVAX 1234HPUSHAX答案 1FFEH 21FFEH 21FFFH 6 有如下程序段MOVAX

14、1234HMOVBX 5678HADDAL BLDAA AL 12H CF 1MOVCL ALMOVAL AHADCAL BHDAA 12H 56H CF 69H执行程序后 AL 69H CL 12H 7 寄存器间接寻址时 操作数在 中 A 寄存器 B 存储器 C 堆栈区 D 累加器8 执行返回指令 退出中断服务程序 这时返回地址来自 A ROM区 B 程序计数区 C 堆栈区 D CPU的暂存寄存器 9 读程序回答问题MOVAX 1234HMOVCL 4ROLAX CLDECAXMOVCX 4MULCXHLT执行后 AH 8DH AL 00H 10 下面程序段中 当满足条件转到NEXT标号执行

15、时 AL 的值正确的是 CMPAL 0FBHJNBNEXT NEXT A 80H B 8FH C F0H D FEH 答案 SP 1FFEH AX 00F0HDX ACF0H DI 1234H CF 0 ZF 0 MOVSP 2000HMOVAX 00F0HMOVSI 1234HMOVDX 5678H PUSHSIPOPDISHLDX 1TESTAX USHDX 11 执行下列程序后 SP AX DX DI 标志位CF ZF 12 交换SI DI的内容 正确程序段是 AC A PUSHSI B PUSHSIPUSHDIPUSHDIPOPSIPOPDIPOPDIPOPSI C MOVAX SI

16、D MOVAX SIMOVSI DIMOVBX DIMOVDI AXXCHGBX AX 13 完成41H送 2100H 42H送 2101H 的正确程序段是 A A MOVAX 4241HMOV 2100H AX B MOVAX AB MOV 2100H AX 14 下列程序段执行后 BX MOVCL 7MOVBX 8016HSHRBX CL答案 0100H15 假设 SP 0100H SS 6000H 执行POPAX指令后 栈顶的物理地址是多少 答案 60102H 16 近过程NEAR的RET指令把当前栈顶的一个字弹出到 IP 远过程FAR的RET指令弹出一个字到 IP 后又弹出一个字到 CS IRET指令是 中断返回 从堆栈顺序弹出三个字分别送到 IP CS 和 FLAGS 中 17 程序段如下 MOVAX 0405HMOVBL 06HAADDIVBL执行后 AX 答案 0307H 18 AX和CX中内容为无符号数 BX和DX中内容为带符号数 试用CMP指令和条件转移指令 实现以下判断 1 若AX超过CX 则转至BIGERCMPAX CXJABIGER 2 若BX超过D

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号