微机原理作业.doc

上传人:豆**** 文档编号:33581433 上传时间:2022-08-11 格式:DOC 页数:9 大小:78KB
返回 下载 相关 举报
微机原理作业.doc_第1页
第1页 / 共9页
微机原理作业.doc_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《微机原理作业.doc》由会员分享,可在线阅读,更多相关《微机原理作业.doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、如有侵权,请联系网站删除,仅供学习与交流微机原理作业【精品文档】第 9 页微机原理作业第一章题1.1A 把下列十进制数转换为二进制,十六进制和BCD数;1.135.625 2.548.753.376.125 4.254.25题1.1B 要求同上,要转换的十进制数如下;1.67.375 2.936.5268.875 4.218.0625题1.2A 写下列十进制数的原码,反码和补码表示(用8位二进制);1.+65 2.-1153.-65 4.-115题1.2B 要求同题1.2A数据如下;1.+33 2.+1273.-33 4.-127题1.3A 用16位二进制,写出下列十进制数的原码,反码,和补码

2、表示;1.+62 2.-623.+253 4.-2535.+615 6.-615题1.4A 写出下列用补码表示的二进制数的真直;1.01101110 2.010110013.10001101 4.11111001题1.4B 要求同题1.4A数据如下;1.01110001 2.000110113.10000101 4.11111110 , 第三章 汇编语言程序设计 题3.1A在下列程序运行后,给相应的寄存器及存储单元填入运行的结果:MOV AL,10H MOV byte PTR 1000,0FFH MMOV CX,1000H BLMOV BX,2000H 1000H MOV BX,AL BHXC

3、HG CX,BX MOV DH,BX CLMOV DL,01H XCHG CX,BX CHMOV BX,DL 2000HHLT DL 题 3.1B DH要求同题 3.1A程序如下;MOV AL,50H ALMOV BP,1000HMOV BX,2000HMOV BP,ALMOV DH,20HMOV BX,DHMOV DL,01HMOV DL,BXMOV CX,3000HHLT题3.2, 如在自1000H单元开始有一个100个数的数椐块。要把它传送到自2000H开始的存储区中去,用以下三种方法,分别编制程序;1;不用数据块转送指令;2;用单个转送的数据块转送指令;3;用数据块成组转送指令;题3.

4、3A 利用变址寄存器遍一个程序,把自1000H单元内开始的100个数转送到自1070H开始的存储区中去,题3.3B 要求用3.3A,源地址为2050H,目的地址为2000H,数据块长度为50,题3.4 编一个程序,把自 1000H单元开始的100个数转送至1050H开始的存储区中(注意数据区有重叠)。题3.5A 在自0500H单元开始,存有100个数。要求把它传送到1000H开始的存储区中,但在传送过程中要检查数的值,遇到第一个零就停止传送。题3.5B 条件同题3.5A,但在传送过程中检查数的值,零不传送,不是零则传送至目的区。题3.6 把在题3.5A中指定的数据块中的正数,传送到自1000H

5、开始的存储区。题3.7 把在题3.5A中指定的数据块中的正数,传送到自1000H开始的存储区;而把其中的负数,传送到自1100H开始的存储区。且分别统计正数和负数的个数,分别存入1200H和1201H单元中。题3.8A 自0500H单元开始,有10个无符号数,编一个程序求10个数的和(用8个位数运算指令),把和放到050A及050B单元中(和用两个字节表示),且高位在050B单元。题3.8B 自0200H单元开始,有100个无符号数,编一个程序求这100个数的和(用8位数运算指令),把和放在0264H 和0265H单元(和用两字节表示),且高位在0265H单元。题3.9 题同3.8,只是在累加

6、时用16位运算指令编程序。题3.10A 若在0500H单元中有一个数x:1.利用加法指令把它乘2,且送回原存储单元(假定x*2后仍为一个字节); 2.x*4; 3.x*10 (假定x*10 255)。题3.10B 题意与要求同题3.10A,只是x*2后可能为两个字节。题3.11 若在存储器中有两个数a和b(它们所在地址用符号表示,下同),编一个程序实现a*10+b(a*10以及“和”用两字节表示)。题3.12 若在存储中有数a,b,c,d(它们连续存放),编一个程序实现 (a*10+b)*10+c)*10+d (和 65535)题3.13A 在0100H单元和010AH单元开始,存放两个各为1

7、0个字节的BCD数(地址最低处放的是最低字节),求它们的和,且把和放在0114H开始的存储单元中。题3.13B 在0200H单元和020AH单元开始,存放两个各为10个字节的二进制数(地址最低处放的是最低字节),求它们的和,且把和放在0214H开始的存储单元中。 题3.14 在0200H单元开始放有效A(低位在前) NA=95 43 78 62 31 04 56 28 91 01 在020单元开始放有数B NB=78 96 42 38 15 40 78 21 84 50 求两数之差,且把差值送入自0200H开始的存储区。题3.15A 在0500H单元有一个数x,,把此数的前四位变0,后四位维持

8、不变,送回同一单元。题3.15B 条件同题3.15A,要求最高位不变,后7位都为0。题3.16A 若在0500H单元有一个x, 把此数的前四位变“1”,后四位维持不变,送回同一单元。题3.16B 把x的最低位变“1”,高7位不变,送至0600H单元。题3.17A 若在0500H有一个数X,把此数的前四位变反,后四位维持不变,送回同一个单元题3.17B把X最高位去反,后7位不变,送至0600H单元。题3.18 从0200H单元读入一个数,检查它的符号,且在0300H单元为它建立一个符号标志(正为OO,负为FF)。 题3.19A 若从0200H单元开始有100个数,编一个程序检查这些数,正数保持不

9、变,负数都取补后送回 。题3.19B 把题3.19A中的负数取补后送至0300H单元开始的存储区。题3.20A 若在0200H和0201H单元中有一个双字节数,编一个程序对它们求补。题3.20B 在BX寄存器对中有一个双字节数,对它求补。题3.21 若在0200H0203H单元中有一个四字节数,编一个程序对它求补。题3.22A 若在0200H0201H单元中有两个正数,编一个程序比较它们的大小,把大的数放在0201H单元中。题3.22B 条件同上,把较小的数放在0201H单元中。题3.23 条件与要求同题3.22A,只是两个数为无符号数。题 3.24 条件与要求同题3.22A,相比较的是两个带

10、符号数。题3.25A若自0500H单元开始有1000个带符号数,把它们的最小值找出来,放在1000H单元中。题3.25B若自1000H单元开始有1000个无符号数,把它们的最大值找出来,放在2000H单元。题 3.26 若在0200H单元中有一个数X,用移为方法实现 1. X2 2. X4(X255 且送回原单元。题 3.27A 编一个程序,使寄存器对BX中的数整个左移一位。题 3.27B 编一个程序,使寄存器对BP中的数整个右移一位(最高位维持不变)。题 3.28A 在0200H单元中有一个数X,利用移位和相加的办法,使X*10(假定X*10255)后送回原单元。题 3.28B 条件和要求同

11、题3.28A,但X*10可大于255。题 3.29 在0200H和0201H单元中存有一个两字节数 (高位在后),编一个程序把它们整个右移一位。题 3.30 在自BUFFER单元开始,放有一个数据快,BUFFER和BUFFER+1单元中放的是数据的长度,自BUFFER+2开始存放的是ASCII码表示的十进制数码,把它们转换为BCD码,且把两个想邻单元的数码并成一个单元(地址高的放在 高 四位)。放到自BUFFER+2开始的存储区中。题 3.31 来自BUFFER单元开始,放有一个数据快,BUFFER和BUFFER+1单元中放的是数据的长度,BUFFER+2开始存放数据,每一单元放的是两位BCD

12、码,把它们分别转换为ASCII,放到自BLOCK开始的存储区中(第四位BCD码 转换成的ASCII码放在地址低的单元),而BLOCK和BLOCK+1放转换成的ASCCII码的长度。题3.32B 条件同题3.32A,把转换以后的两个相邻的16进制树并在一个存储单元中。题3.33 若在某存储区中已输入4个以ASC11码表示的16进制数码(高位在前),把它们转换为二进制数放入BX寄存器对中。题3.34 在自BUFFER单元开始的数据块中,前两个单元放的是数据块的长度,自BUFFER+2开始存放的是二进制的数据块。把每一个存储单元的两位16进制数,分别转换为各自的ASC11码,放到自BLOCK开始的存

13、储区中(开始两个单元放新的数据块的长度)。题3.35 在题3.30中,把相邻单元的两个数码看成是两位十进制数(后面的为十位数),把它们转换为相应的二进制数,放到自BUFFER+2开始的存储区中。题3.36 在题3.34中,把数据块中的每一单元的二进制数转换为相应的BCD码(每一字节的二进制数,对应三位BCD码),在把它们转换为ASC11码放到BLOCK开始的存储区中(开始两个单元放新的数据块的长度)。题3.37 若在AX寄存器中放有四位BCD码把它们转换为相应的二进制数,放在BX寄存器中。题3.38A 若在BX寄存器中有一个16位无符号数,把它们转换为相应的BCD码,放到自DATA开始的存储区

14、中(每一位BCD码占一个存储单元,高位在前)。题3.38B 若在BX寄存器中有一个16位带符号数,把它们转换为相应的BCD码,放在自DATA开始的存储区中(符号占一个单元,每一位BCD码占一个存储单元,高位在前)。题3.39 若自STRING单元开始存放一个字符串(以字符结尾):1. 编一个程序统计这个字符串的长度(不包括字符);2. 把字符串的长度,放在STRING单元,把整个字符串往下移两个存储单元。题3.40 若自STRING单元开始存放一个字符串(一字符空格引导,以结尾),编一个程序统计这个字符串的长度(忽略前导空格和结尾的字符)。题3.41A 在题3.40的字符串中,统计数字字符(0

15、-9)的个数。题3.41B 在题3.40的字符串中,统计16进位字符(既0-9,A-F)的个数。题3.42A 在题3.40的字符串中,把十进制数字字符(0-9)传送至DATA开始的存储区中,在DATA和DATA+1单元存放的是这个数字字符串的长度,自DATA+2单元开始存放字符。题3.42B 条件和要求同题3.42A,只是传送的是16进制数字字符。题3.43 在自STRI1和STRI2开始各有一个由10个字符串,检查这两个字符串是否相等,在STFLAG单元中建立一个标志(相等为00,不等为FF)。题3.44A 编一个程序,统计一个八位二进制数中的为“1”的位的个数。题3.44 B 编一个程序,

16、统计一个16位二进制数中的为“1”的位的个数。题3.45 在自STRI1开始有一个字符串(前两个字节为字符串长度),对每一个字符配上偶检验位,送回原处。(以下各题所编的程序必须包含必要的伪指令)题3.46 字NUMBER单元开始放有两个多字节得用BCD码表示的十进制数,NUMBER单元放的是字节数,NUMBER+1开始连续存放两个多字节数(高位在后),编一个程序把这个多字节数相加,和接着原来的数连续存放。题3.47A 编一个程序,使放在DATA及DATA+1单元的两个八位带符号数相乘,乘积放在DATA+2及DATA+3单元中(高位在后)。题3.47 B 编一个程序,使放在DATA(被除数)及D

17、ATA+1 (除数)两个八位带符号数相除,商放在DATA+2单元,余数放在DATA+3单元中。题3.48A 编一个程序,使放在DATA及DATA+1的两字节无符号数与在DATA+2及DATA+3中的无符号数相乘,乘积接着原来的数存放(高位在后)。题3.48B 编一个24 位无符号数相乘的函数。题3.49 编一个程序,使上题中的两个16位无符号数相除,商和余数接着原来的数 存放(先放商,高位在后)。题3.50 在题3.48中,相乘的是两个16位带符号数,计算成绩。题3.51 若在自DATA开始的7个单元中,第一个单元放数的符号(用ASC11码表示),接着最多为5位用ASC11码表示的十进制数码(

18、高位在前),且数值在32768范围内,然后是非数字字符(表示数的结束)。编一个程序,把它转换为相应的16位二进制数(用补码表示),放在BX寄存器中。题3.52 把在BX寄存器对中的16位带符号二进制数,且把符号位及各位十进制码转换为相应的ASCII码,放到自DATA开始的7个存储单元中(高位在前),最后填以空格。题3.53 若自STRING开始有一个字符串(以#号作为字符串的结束标志),编一个程序,查找此字符串中有没有字符$,有多少个$(放在NUMBER单元中,没有$则其为0,佛则既为$的个数);且把每一个$字符所存放的地址,放到自POINTR开始的连续的存储单元中。题3.54A 某一个监控程

19、序中,有10个命令,分别以字母A,B,C,D,E,F,G,H,I,J表示。这10个命令有10个处理程序,它们的入口地址形成一个表格CMDTBL。3000 CMDTBL3000 3500 ;A命令入口3002 3550 ;B命令入口3004 3600 ;C命令入口3006 3640 ;D命令入口30083670;E命令入口300A36B0;F命令入口300C3700;G命令入口300E 3730 ;H命令入口3010 3760 ; I命令入口3012 37A0 ;J命令入口若打入的命令字已在累加器A中,编一个程序,根据输入的命令字转至相应的处理程序。题3.54B 条件同题3054A,只是有一个转

20、移指令表,如下所示: 3000 CMDJPT 3000 JP 3500 ;转至A命令处理程序入口 3003 JP 3550 ;转至B命令处理程序入口 3006 JP 3600 ;转至C命令处理程序入口 3009 JP 3640 ;转至D命令处理程序入口 300C JP 3670 ;转至E命令处理程序入口 300F JP 36B0 ;转至F命令处理程序入口 3012 JP 3700 ;转至G命令处理程序入口; 3015 JP 3730 ;转至H命令处理程序入口 3018 JP 3760 ;转至I命令处理程序入口 301B JP 37A0 ;转至J命令处理程序入口 要求同题3.54A题3.55A

21、某一个操作系统有6个内部命令,把这6个内部命令及响应的处理程序的入口地址,组成一个内部命令表INCMDT,如下所示: ORG 2000HINCMDT: DB ATRIB DB 00 DW 2020 DB BYE题3.56再自TAOCK开始的存储区中有1000个带符号数。用气泡排序法编一个程序,使它们排列有序。题3.57A 在自TABLE 开始的存储区中有一个有序排列(带符号数,大的在后面)的数据块,其中TABLE及TABLE+1中存放数据块长度N(可以大于255)若要搜素的关键字已输入至累加器A中。编一个程序用对分搜索法搜素此关键字,在程序中建立一个标志,表示是否有此关键字 。题3.57B 条

22、件及要求同题3.57A只是已有序排列的数据块是大的数据在前面(地址低处)题3.58 把数据块传送程序遍为一个子程序MOVE,原地址,目的地址和传送的字节数放在自ADDR开始的存储单元中。题3.59A 把八位无符号数乘法程序编为一个子程序,被乘数,乘数和乘积放在自DATA开始的存储单元中。题3.59B 把八位无符号数除法程序编为一个子程序,被除数,除数,商和余数放在自DATA开始的存储单元中。题3.60 写一个宏定义,使8088的8位寄存器之间的数据能实现任意传送。题3.61 写一个宏定义,使8088的16位寄存器的数据互换。题3.62A 写一个宏定义,能把任一个寄存器的最高位移至另一个寄存器的最低位中。题3.62B 写一个宏定义,能把任一个内存单元中的最高位移至另一个内存单元中的最低位中。题3.63A 写一个宏定义,能把任一个寄存器的最低位移至另一个寄存器的最高位中。题3.63B 写一个宏定义,能把任一个内存单元中的最低位移至另一个内存单元中的最高位中。题3.64 用宏定义写一个数据块传送指令。题3.65 写一个宏定义,能使任一个寄存器对向左或向右移位指定的次数。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 家庭教育

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁