微机原理作业 下载本文

内容发布更新时间 : 2024/5/19 2:29:28星期一 下面是文章的全部内容请认真阅读。

题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位二进制数中的为“1”的位的个数。 题3.45

在自STRI1开始有一个字符串(前两个字节为字符串长度),对每一个字符配上偶检验位,送回原处。 (以下各题所编的程序必须包含必要的伪指令) 题3.46

字NUMBER单元开始放有两个多字节得用BCD码表示的十进制数,NUMBER单元放的是字节数,NUMBER+1开始连续存放两个多字节数(高位在后),编一个程序把这个多字节数相加,和接着原来的数连续存放。 题3.47A

编一个程序,使放在DATA及DATA+1单元的两个八位带符号数相乘,乘积放在DATA+2及DATA+3单元中(高位在后)。 题3.47 B

编一个程序,使放在DATA(被除数)及DATA+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码表示的十进制数码(高位在前),且数值在±32768范围内,然后是非数字字符(表示数的结束)。编一个程序,把它转换为相应的16位二进制数(用补码表示),放在BX寄存器中。 题3.52

把在BX寄存器对中的16位带符号二进制数,且把符号位及各位十进制码转换为相应的ASCII码,放到自DATA开始的7个存储单元中(高位在前),最后填以空格。 题3.53

若自STRING开始有一个字符串(以‘#’号作为字符串的结束标志),编一个程序,查找此

6

字符串中有没有字符$,有多少个$(放在NUMBER单元中,没有$则其为0,佛则既为$的个数);且把每一个$字符所存放的地址,放到自POINTR开始的连续的存储单元中。

题3.54A

某一个监控程序中,有10个命令,分别以字母A,B,C,D,E,F,G,H,I,J表示。这10个命令有10个处理程序,它们的入口地址形成一个表格CMDTBL。

3000 CMDTBL

3000 3500 ;A命令入口 3002 3550 ;B命令入口 3004 3600 ;C命令入口 3006 3640 ;D命令入口 3008 3670 ;E命令入口 300A 36B0 ;F命令入口 300C 3700 ;G命令入口 300E 3730 ;H命令入口 3010 3760 ; I命令入口 3012 37A0 ;J命令入口

若打入的命令字已在累加器A中,编一个程序,根据输入的命令字转至相应的处理程序。 题3.54B

条件同题3054A,只是有一个转移指令表,如下所示: 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

某一个操作系统有6个内部命令,把这6个内部命令及响应的处理程序的入口地址,组成一个内部命令表INCMDT,如下所示: ORG 2000H INCMDT: DB ATRIB DB 00 DW 2020 DB ‘BYE’ 题3.56

再自TAOCK开始的存储区中有1000个带符号数。用气泡排序法编一个程序,使它们排列有

7

序。 题3.57A

在自TABLE 开始的存储区中有一个有序排列(带符号数,大的在后面)的数据块,其中TABLE及TABLE+1中存放数据块长度N(可以大于255)若要搜素的关键字已输入至累加器A中。编一个程序用对分搜索法搜素此关键字,在程序中建立一个标志,表示是否有此关键字 。 题3.57B

条件及要求同题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

写一个宏定义,能使任一个寄存器对向左或向右移位指定的次数。

8