微机原理及应用试卷 编程题

发布时间 : 星期二 文章微机原理及应用试卷 编程题更新完毕开始阅读

一.编程题 (共43题,430分)

1.1 [库中题号:060030] 10分

编写完整的8086汇编程序:将字符缓冲区A的字符'1234567890'倒序存放到缓冲区B中。

1.2 [库中题号:060029] 10分

编写一个程序,接收从键盘输入的10个十进制数字,输入回车符则停止输入,然后将这些数字加密后(用XLAT指令变换)存入内存缓冲区BUFFER。加密表为; 输入数字: 0,1,2,3,4,5,6,7,8,9 密码数字: 7,5,9,1,3,6,8,0,2,4

1.3 [库中题号:060028] 10分

试编写程序,它轮流测试两个设备的状态寄存器,只要一个状态寄存器的第0位为1,则与其相应的设备就输入一个字符;如果其中任一状态寄存器的第3位为1,则整个输入过程结束。两个状态寄存器的端口地址分别是0024和0036,与其相应的数据输入寄存器的端口则为0026和0038,输入字符分别存入首地址为BUFF1和BUFF2的存储区中。

1.4 [库中题号:060027] 10分

把0~10010之间的30个数,存入首地址为GRAD的字数组中,GRAD+i表示学号为i+1的学生成绩。另一个数组RANK是30个学生的名次表,其中RANK+I的内容是学号为i+1的学生的名次。试编写程序,根据GRAD中的学生成绩,将排列的名次填入RANK数组中(提示:一个学生的名次等于成绩高于这个学生的人数加1)。

1.5 [库中题号:060026] 10分

已知整数变量A和B,试编写完成下述操作的程序:

(1)若两个数中有一个是奇数,则将该奇数存入A中,偶数存入B中; (2)若两个数均为奇数,则两数分别加1,并存回原变量; (3)若两个数均为偶数,则两变量不变。

1.6 [库中题号:060025] 10分

试编写完整的程序,要求从键盘输入3个16进制数,并根据对3个数的比较显示如下信息: (1)如果3个数都不相等则显示0;

(2)如果3个数中有2个数相等则显示2; (3)如果3个数都相等则显示3。

1.7 [库中题号:060024] 10分

编写完整的程序,比较两个字符串STRING1和STRING2所含字符是否完全相同,若相同则显示“MATCH”,若不同则显示“NO MATCH”。

1.8 [库中题号:060023] 10分

试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。

1.9 [库中题号:060022] 10分

编写程序段, 比较两个5字节的字符串OLDS和NEWS, 如果OLDS字符串与NEWS不同, 则执行NEW_LESS, 否则顺序执行程序。

1.10 [库中题号:060021] 10分

有两个3位的ASCII数串ASC1和ASC2定义如下: ASC1 DB ?578? ASC2 DB ?694? ASC3 DB ?0000?

请编写程序计算ASC3←ASC1+ASC2。

1.11 [库中题号:060020] 10分

变量N1和N2均为2字节的非压缩BCD数码,请写出计算N1与N2之差的指令序列。

1.12 [库中题号:060019] 10分

编写程序段, 比较两个5字节的字符串OLDS和NEWS, 如果OLDS字符串与NEWS不同, 则执行NEW_LESS, 否则顺序执行程序。

1.13 [库中题号:060018] 10分

变量DATAX和DATAY定义如下: DATAX DW 0148H DW 2316H

DATAY DW 0237H DW 4052H

按下述要求写出指令序列: (1)DATAX除以23(用DIV)。

(2)DATAX双字除以字DATAY(用DIV)。

1.14 [库中题号:060017] 10分

变量DATAX和DATAY定义如下: DATAX DW 0148H DW 2316H

DATAY DW 0237H DW 4052H

按下述要求写出指令序列:

(1)DATAX和DATAY两个字数据相乘(用MUL)。 (2)DATAX和DATAY两个双字数据相乘(用MUL)。

1.15 [库中题号:060016] 10分 变量DATAX和DATAY定义如下: DATAX DW 0148H

DW 2316H DATAY DW 0237H DW 4052H 按下述要求写出指令序列:

(1)DATAX和DATAY中的两个双字数据相加, 和存放在DATAY和DATAY+2中。 (2)DATAX和DATAY中的两个字数据相加, 和存放在DATAY开始的字单元中。

1.16 [库中题号:060015] 10分

根据下列要求编写一个汇编语言程序:: (1)代码段的段名为COD_SG (2)数据段的段名为DAT_SG (3)堆栈段的段名为STK_SG

(4)变量HIGH_DAT所包含的数据为95

(5)将变量HIGH_DAT装入寄存器AH,BH和DL (6)程序运行的入口地址为START

1.17 [库中题号:060014] 10分

编写程序用XLAT指令将小于16的二进制数转换成ASCII表示的16进制数。

1.18 [库中题号:060013] 10分

编写程序将一个8位二进转换为2位BCD数字,进入程序时,AL中为二进制数,退出程序时,如CF为0,则AL中为BCD数字,如CF为1,则表示由于输入值超出范围故结果无效。

1.19 [库中题号:060012] 10分

编写程序实现两个16位组合BCD码相加。进入程序时,BX中为加数,AX中为被加数,程序执行后,结果在AX中。

1.20 [库中题号:060011] 10分

编写程序实现两个16位组合BCD码相减,进入程序时,BX中为减数,AX中为被减数,程序执行后,结果在AX中。

1.21 [库中题号:060010] 10分

编写程序段设计一个实现16位非组合BCD码减法的程序。

1.22 [库中题号:060009] 10分

编写程序实现两个16位非组合BCD码的数相加。

1.23 [库中题号:060008] 10分

编写程序设计一个16位带符号数和32位带符号数相乘程序。(DX、AX)*CX->DX、CX、AX,为有符号数

1.24 [库中题号:060007] 10分

编写程序实现在TABLE 为起始地址的100个字符长度的表中检索“$\字符。

1.25 [库中题号:060006] 10分

编写程序实现对两个存储区中的字进行比较。如找到一对不同的字,则退出,此时 ,ZF为0,DI 指向此字;如两个存储区中所有的字都相同,则退出程序时,CX中值为0,ZF为1。

1.26 [库中题号:060005] 10分

编程序将一个存储块的内容复制到另一个存储块,进入存储段时,SI中为源区起始地址的偏移量,DI中为目的区起始地址的偏移量,CX中为复制的字节数。

1.27 [库中题号:060004] 10分

用循环控制指令设计程序段,从60H 个元素中寻找一个最大值,结果放在AL中。

1.28 [库中题号:060003] 10分

用串操作指令设计实现以下功能的程序段:首先将100H个数从2170H处搬到1000H处,然后,从中检索相等于AL中字符的单元,并将此单元值换成空格符。

1.29 [库中题号:060002] 10分

试编写一个程序段,实现将BX中的数除以10,结果仍放在BX中。

1.30 [库中题号:060001] 10分

在DS段中有一个从TABLE开始的由160个字符组成的链表,设计一个程序,实现对此表进行搜索,找到第一个非0元素后,将此单元和下一单元清0。

1.31 [库中题号:060043] 10分

编写统计DATAWORD字数据中1的个数的程序段,结果存放在COUNT中。

1.32 [库中题号:060042] 10分

在DS段中有一个从TABLE开始的由1000个字符组成的链表,设计一个程序段,实现对此表的搜索,找到第一个非0元素后,将此单元和下一个单元清0。

1.33 [库中题号:060041] 10分

用循环控制指令设计程序段,从100个元素中寻找一个最大值,结果放在AL中(假设数据存放在起始地址为DATA1开始的单元中)。

1.34 [库中题号:060040] 10分

用串操作指令设计以下功能的程序段:首先将500H个数从2170H处搬到1000H处,然后,从中检索相等于AL中字符的单元,并将此单元值换成空格符(BUFF1处的地址为1000H,BUFF2处的地址为2170H) 。

1.35 [库中题号:060039] 10分

试编写一个程序段,实现将BX中的数除以10,结果仍放在BX中。

1.36 [库中题号:060038] 10分

试定义一个字符串搜索宏指令,要求文本首地址和字符串首地址用形式参数。

1.37 [库中题号:060037] 10分

试定义将一位十六进制数转换为ASCII码的宏指令。

1.38 [库中题号:060036] 10分

从键盘输入一个大写英文字母,将其转换为小写字母并显示出来,要求输入其它字符时,能够有出错提示信息。

1.39 [库中题号:060035] 10分

已知在内存中从BLOCK单元起存放有20个带符号字节数据,统计其中负数的个数并放入COUNT单元。

1.40 [库中题号:060034] 10分

从键盘输入一系列字符,以回车符结束,编程统计其中非数字字符的个数。

1.41 [库中题号:060033] 10分 编写程序,计算下面函数的值。

?2x?s??3x?4x?

1.42 [库中题号:060032] 10分

(x?0)(0?x?10) x?10已知用寄存器BX作地址指针,自BUF所指的内存单元开始连续存放着3个无符号数字数据,编程序求它们的和,并将结果存放在这3个数之后。

1.43 [库中题号:060031] 10分

编写完整的8086汇编程序:查表求X(0-9)的立方并将结果存放到变量XXX中去。

联系合同范文客服:xxxxx#qq.com(#替换为@)