java编程题.docx
- 文档编号:24368489
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:50
- 大小:35.94KB
java编程题.docx
《java编程题.docx》由会员分享,可在线阅读,更多相关《java编程题.docx(50页珍藏版)》请在冰豆网上搜索。
java编程题
一、分析题(每题4分,共96分)
1.编写一段程序使用串操作指令,将BUF缓冲区中的200个字节清0。
2.编写一段程序将有符号的字数据A和B中大者存入C中。
3.编写一段程序检测字单元A中的第四位是否为0,是则FLG置1,否则清0。
4.编写一段程序将100个元素的字数组A中的每个元素减1。
5.编写一段程序将DX:
AX:
BX中的48位数乘以2。
6.编写一段程序计算Z=(X+5)*Y+30(XY为无符号字节数据)
7.编写一段程序将DX:
AX中的32位数据逻辑左移2位。
8.试写出一程序段,把DX,AX中的双字右移四位.
9.编写一段程序将有100个字符的缓冲区BUF中的$符号用空格(20H)代替。
10.设AX,BX中的数一个为正数,一个为负数,下面程序段完成将正数送到PLW单元中存放,请将程序中所缺指令语句补上。
TESTAX,8000H
___________________
MOVPLW,BX
JMPDONE
K1:
_______________
DONE:
11.设BUF开始有254个字节的带符号数,编一段程序将其中最大数找出来放到AL中。
12.编程序,求1+2+3+...+100的和送入DX。
13.┌1X>0(X<=127)
编一个段程序,求Y=┼0X=0
└-1X<0(X>=-128)
14.已知存储器中有一个首地址为ARRAY的100个字节的数组,编一段程序求数组元素之和,结果放在AX寄存器中.
15.在STR到STR+99个单元中存放着一个字符串,试编制一程序测试该字符串中是否含有数字。
如有,则把FLAG标志置1,否则将该标志清0。
16.试编写一个汇编语言程序,求出首地址为ARY的100个无符号字数组的最小偶数,并把它存放在BUF中。
17.已知存储器中有一个首地址为ARRAY的100个字节的数组,编一段程序将数组中的每个数加1(不考虑溢出问题).
18.编写一个程序,从键盘输入一个字符,若输入的字符为Y(或y),则将字变量A和B中的16位无符号数相乘,其结果存放在F字单元中:
否则将执行A/B的运算,其结果的商存放在F中,余数存放在F+2中。
19.设X、Y是双精度的32位的无符号数变量,下列程序是完成2个数大小的比较,当x大于Y时,将字节变量F置1,否则将字节变量F清0。
请在程序的空格处填上适当的指令。
MOVAX,X+2
MOVBX,X
CMPAX,Y+2
JBL1
(1)
____________
CMPBX,Y
(2)
____________
L1:
(3)
____________
JMPEKIT
L2:
MOVF,1
EXIT:
MOVAH,4CH
INT21H
20.写一段程序,完成输出空行的功能。
21.编写一个子程序,在屏幕上重复输出N个相同的字符.
入口参数为:
(AL)=字符的ASCII码,(CX)=重复次数.
22.写出把光标设置在第8行、12列的程序段.
23.编一段程序,在屏幕上显示字符串:
"IBMPESONALCOMPUTER."
24.编写程序段,通过键盘输入一字符。
如字符是“Y”,则转向YES程序段;如字符是“N”,则转向NO程序段;如是其他字符,则重新输入字符。
一、分析题(每题4分,共500分)
1.编写一完整程序,比较两个字符串STR1和STR2所含字符是否完全相同,如果相同(AL)=1,不相同(AL)=0.
2.编写一段程序统计BUF缓冲区100个字数据中为0的个数,并将统计结果保存在DL中。
3.比较5个字节的字符串A和B,若两个字符串不相等则字节标志单元FLG置1;否则清0。
4.设STR开始有一个长度为50个字节的字符串,编一段程序,将字符串的所有字符向后(大地址)移动20个字节。
5.已知在AX、BX中放有一个32位二进制数,求其补码,并送入CX、DX之中,其中AX、CX放高位。
6.在A字单元有一个有符号被除数,在B字单元有一个有符号除数,求其商存于C字单元中,余数存D字单元中,试编程实现之。
7.
8.编写一个完整的程序放在代码段CSEG中,要求把数据段中两个字单元X和Y的内容相加,结果放在AX中.
9.试编写一程序段把40个字母A的字符串从源缓冲区传送到目的缓冲区。
10.在A地址处有10个数据,现要求传送到B地址处,请编程实现。
11.在A、B地址起各有4个字节单元的无符号数,试编程实现二个无符号数的和,并将值存于C址起的单元中。
12.按下面要求写出程序的框架:
①定义一个数据段,其中开辟100个字单元、初值为0;
②定义一个代码段,并在其中指定段寄存器、指定主程序从0100H开始、给有关段寄存器赋值;
③程序结束。
13.编制将DS段中名为BUFB的字节存储区改写为空白字符(编码为20H)的程序段。
假定BUFB存储区定义为BUFBDBNDUP('^'),其中N为字面常量。
14.将BUF中的16位数分成四组,每组四位,然后把这四组数分别存放在A、B、C、D字节变量中。
15.编一段程序把BX中的二进制数用十六进制数的形式在屏幕上显示出来.
16.在附加段有一个字数组,其首地址已存放在DI寄存器中,在数组的第一个字中存放着该数组的长度.要求编制一个程序使该数组中的数按照从小到大的次序排列整齐.(起跑排序算法)
17.在ADDR单元中存放着数Y的地址,试编制一程序把Y中1的个数存入COUNT单元中.
18.在STR字符串中搜索字符A。
如果找到该字符,则用字符B替代字符A;如果未找到该字符,则在STR字符串后插入字符B,试编写此程序。
19.下列程序是检查并统计BUF缓冲区中以回车(0DH)结束的ASCⅡ码串中十进制数的字符个数。
若全部是十进制数字符,则将统计的结果送RESUL单元;否则输出‘ERROR!
’。
请在程序的空格处填写适当的指令。
20.设有数组X和数组中有X1...X10;Y数组中有Y1,...Y10.试编制Z1=X1+Y1,Z2=X2+Y2,Z3=X3-Y3,Z4=X4-Y4,Z5=X5-Y5,Z6=X6+Y6,Z7=X7-Y7,Z8=X8-Y8,Z9=X9+Y9,Z10=X10+Y10.结果存入Z数组.
21.编写一程序,统计BUF字缓冲区中的确个数据中为0的个数,并将统计的结果以十六制数的形式显示输出。
22.编一程序从键盘输入一个字母,然后找出它的前导字符和后续字符(如B的前导字符为A,后续字符为C),并顺序显示输出这三个字符。
23.AX中有一个16位二进制数,编一段程序统计其中值为1的位的个数,统计结果存放在CX中。
24.编程计算SUM=a1b1+a2b2+a3b3+…+a10b10。
25.下列程序段是将X中的64位的无符号的二进制数除以Y中的16位的无符号的二进制数,其结果的商存放在W,余数存放在N中的程序,请在程序段的空格处填上适当的指令。
XDW4DUP()
YDW7
WDW4DUP(0)
NDW0
…
MOVDX,0
MOVAX,X+6
_______
(1)_______
DIVBX
MOVW+6,AX
MOVAX,X+4
DIVBX
________
(2)______
MOVAX,X+2
DIVBX
________(3)________
MOVAX,X
DIVBX
________(4)_________
________(5)__________
26.编写一段程序,将数据段中S1开始的任意十个字符按相同顺序传送到以S2为起始地址的存储单元中。
27.已知数据区中从A开始存放任意10个字节数据,求非零数据个数,将结果存于B存储单元。
28.试编制一个程序把BX寄存器内的二进制数用十六进制数的形式在屏幕上显示出来.
29.有两个3位的ASCII数和ASC3定义如下:
ASC1DB'578'
ASC2DB'694'
ASC3DB'0000'
请编写计算ASC3=ASC1+ASC2的程序。
30.编写一段汇编程序,要求实现对从键盘输入的小写字母用大写字母显示出来。
31.将BUF中的8位二进制数转换成八进制数,其中的最高位存放在A字节单元中,最低位存放在C字节单元中。
同时显示转换后的结果。
32.试编写一段汇编程序,实现从键盘接收一个小写字母,然后找出它的前导字符,和后续字符,并按顺序输出这三个字符的功能.
33.下列程序段是将BUF缓冲区中的两个字节的非压缩型BCD码转换成ASCII码并送显示器显示的程序,请在程序的空格处填上适当的指令。
BUFDB5,7
…
MOVDL,BUF
_________
(1)____________
MOVAH,2
_________
(2)____________
_________(3)____________
ADDDL,30H
MOVAH,2
__________(4)____________
34.设X,Y,Z为有符号的16位二进制数,编写程序计算表达式W=(X+Y+10)*Z/(X+Y)(不考虑加法溢出),其中W存放商,W+2存放余数。
35.在所定义的字节数组中找出第一个非0数据,并显示输出其所在数组的下标。
36.下列程序段是A和B中的24位的无符号数相加,其结果放在双字的C变量中的程序,请在程序段的空格处填上适当的指令。
ADB3DUP()
BDB3DUP()
CDD0
…
MOVAL,A
___________
(1)___________
XCHGCH,CL
MOVBL,B
___________
(2)____________
XCHGDH,DL
ADDCX,DX
___________(3)____________
MOVAH,0
___________(4)____________
ADCAH,BH
MOVC,CX
____________(5)____________
37.编写一程序,将x变量中的16位二进制数转换成十六进制数并输出。
38.设有一字符串存放在以STING为首址的数据区中,其最后一个字符'$'作为结束标志,编一程序,计算该字符串的长度并送到LEN单元中.
39.下列程序是将BCD字节缓冲区中的数据转换为十六进制数并输出。
请在程序的空格处填写适当的指令。
40.下列程序段是A和B中的24位的无符号数相加,其结果放在双字的C变量中的程序,请在程序段的空格处填上适当的指令。
ADB3DUP()
BDB3DUP()
CDD0
…
MOVAL,A
___________
(1)___________
XCHGCH,CL
MOVBL,B
___________
(2)____________
XCHGDH,DL
ADDCX,DX
___________(3)____________
MOVAH,0
___________(4)____________
ADCAH,BH
MOVC,CX
____________(5)____________
41.给出一组数:
249AH,7802H,0FFFFH,1234H,9031H,0002H,867AH,2A3EH,将其视为无符号数,找出其中最大数和最小数,结果送入AX和DX中。
42.从键盘接收一个个位数,然后响铃N次.
43.设有单字节无符号数X,Y,Z,若X+Y>255,则求X+Z,否则求X-Z,运算结果放在F1中。
X,Y,Z,F1均为字节变量名。
44.设在内存某一数据区以STRING地址开始存放了一字符串,其最后一个字符为“$”,其ASSCII码为24H。
要求检查该字符串中所有字符的奇偶性,规定每个字符对应的一个字节数中必须有偶数个“1”,则为正确。
若奇偶性正确,结果为0,否则结果为-1。
试编写程序。
45.有一个50个字符的串,试把其中小写字母改为大写字母,把数字改为“*”,其它字符不变。
46.下列程序是将BUF缓冲区的多精度数求补。
请在程序的空格处填写适当的指令。
47.将A字节变量中的48位无符号数与B字节变量中的16位无符号数相乘,并将结果存放在C字节变量中。
48.编写一程序,将BUF字节缓冲区中的100字节按相反方向存放到BUFl中。
49.有一个首地址为A的N字数组,编制程序使该数组中的数按照从大到小的次序排列.(起跑排序算法)
50.下面程序段是判断寄存器AH和AL中第3位是否相同,如相同,AH置0,否则AH置全1。
试把空白处填上适当指令。
_______________
ANDAH,08H
_______________
MOVAH,OFFH
JMPNEXT
ZERO:
MOVAH,0
NEXT:
……
51.以BUF为首地址的字节单元中,存放了COUNT个无符号数,下面程序段是找出其中最大数并送入MAX单元中。
请完成程序。
BUFDB5,6,7,58H,62,45H,127,……
COUNTEQU$-BUF
MAXDB
┆
MOVBX,OFFSETBUF
MOVCX,COUNT-1
MOVAL,[BX]
LOP1:
INCBX
________________
JAENEXT
MOVAL,[BX]
NEXT:
DECCX
________________
MOVMAX,AL
┆
52.下列程序是统计BUF字缓冲区中正数、负数和0的个数并分别送P、N和Z字变量。
请在程序的空格处填写适当的指令。
53.试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示.
54.下列程序是统计以0为结尾的STR字符串中大写字母、小写字母、数字和非数字字母的个数分别送A、B、C、D字单元保存。
请在程序的空格处填写适当的指令。
55.将A和B中的2位压缩型BCD码相加后并输出结果。
56.设在以EXAMSTU为首址的存区中依次存放着某考区245个理科生的七门成绩,现要统计每个考生的总成绩,并将其存放在该考生单科成绩之后的两个单元。
试编出完成这一任务的程序。
57.在首地址为TABLE的数组中按递增有序存放着100H个16位的补码数,试编写一个程序,把数组中出现次数最多的数及其出现次数分别存放在NUMB和COUN字单元中。
58.设有一段英文,其字符变量名为ENG,并以$字符结束。
试编写一程序,查找单词RED在该文中出现的次数,并以“RED出现的次数:
XXXX”的格式显示出次数。
59.下列程序段是将BUF缓冲区中的两个字节的非压缩型BCD码转换成ASCII码并送显示器显示的程序,请在程序的空格处填上适当的指令。
BUFDB5,7
…
MOVDL,BUF
_________
(1)____________
MOVAH,2
_________
(2)____________
_________(3)____________
ADDDL,30H
MOVAH,2
__________(4)____________
60.下列程序是将有符号数字节缓冲区BUF中小于100的数送BUF1字节缓冲区中保存。
请在程序的空格处填写适当的指令。
61.编程序,将AX寄存器中的16位数分成四组,每组四位,然后把这四组数分别放在AL、BL、CL、DL中。
62.已知数组A包含15个互不相等的整数,数组B包含20个互不相等的整数,试编制一个程序,把既在A中出现又在B出现在整数存放于数组C中。
63.编写一程序,将BUF缓冲区中的2位十六进制数转换成二进制数并输出。
64.统计变量X中的值有多少位为1,并记入ONE变量中.
65.编写一程序,将字符串缓冲区BUF中的小写字母转换成大写字母。
66.从键盘上接收一个四位的16进制数,并在终端上显示出与它等值的二进制数.
67.将A单元的内容求补,并与原内容相“与”,结果存入B单元中。
68.编写一程序,用串比较指令,比较STR1和STR2字符串,若两个字符串完全相等,则输出‘OK!
’;若不相等,则输出‘ERROR!
’及STRl中第一个不相等的字符。
69.数组A包含15个互不相等的整数,数组B包含20个互不相等的整数,编写程序,将既在A数组中出现又在B数组中出现的整数存放于数组C中.
70.从键盘输入一系列字符,以字符'$'为结束符,然后对其中的非数字字符记数,并显示出记数结果.
71.有若干行字符串存放在以BUF为首地址的字节存储区中,最后以1AH作结束标志。
现需删除第4行的内容,并将删除后BUF缓冲区的内容显示输出。
72.有一个首地址为MEM的100个字数组,试编制程序删除数组中所有为零的项,并将后续项向前移进,填补删除项,最后将数组的剩余部分以零补充。
73.试编写一程序,要求比较两个字符串STR1和STR2中所含字符是否相同,若相同则显示输出‘MATCH’;若不相同则显示输出‘NOMATCH’。
74.在附加段中,有一个按从小到大顺序排列的无符号数数组,其首地址存放在DI寄存器中,数组中的第一个单元存放着数组中的偏移地址;如未找到,则使CF=1.(折半查找算法)
75.X、Y、Z为无符号的16位二进制数,编写程序计算表达式W=(X+8)*Z+(X*Y)(不考虑加法的溢出)。
76.设X、Y是无符号数字节变量,下列程序是计算表达式Z=(X+5)*10/Y的程序,请在空格处填上适当的语句(不考虑溢出)。
DATASEGMENT
XDB
YDB
ZDW0
_______
(1)__________
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
_______
(2)__________
MOVAL,X
ADDAL,5
________(3___________
MULBL
_________(4)___________
MOVZ,AX
MOVAH,4CH
________(5)____________
CODEENDS
ENDSTART
77.在附加段中,有一个首地址为LIST和未经排序的字数组.在数组的第一个数字中,存放着该数组的长度,数组的首地址已存放在DI寄存器中,AX寄存器中存放着一个数.要求编制一程序:
在数组中查找该数,如果找到此数,则把它从数组中删除.
78.设A、B、C是无符号数字节变量,下列程序是计算表达式Z=(C+(A+B)*(B+5))/B的程序段,请在空格处填上适当的指令。
ADB
BDB
CDW2DUP(0)
…
MOVAL,A
ADDAL,B
MOVBL,B
________
(1)_____________
________
(2)______________
ADDAL,C
ADCAH,0
DIVB
MOVZ,AX
___________(3)____________
79.下列程序是将BUF中的16位无符号二进制数转换为十进制数并输出。
请在程序的空格处填写适当的指令。
80.编写一程序,将A和B中的两位压缩型BCD码相加,并将相加的结果用十进制数输出。
81.设在X单中存放一个0-7之间的整数,用查表法求出其平方值,并将结果存入Y单元。
82.已知有符号字节变量A,设计一段程序,求出A的绝对值,将结果存于字节变量B中。
83.设有一段英文,其字符变量名为ENG,试编写一个程序,查对单词SUN在该文中出现的次数,并显示出次数:
"SUN:
...."
84.将BUF缓冲区中的100个字的有符号数按正数和负数分开,并分别送至同一个数据段的BUF1和BUF2两个缓冲区中。
85.在ARRAY址起有20个有符号数。
试编程将其正数存于A起的单元中。
负数存于B起的单元中,且显示正数及负数的个数。
86.在首地址为ARY的字数组中,存放了100H个16位的补码数,试编写一程序,求出它们的平均值并放在V字单元中;求出数组中有多少个数大于此平均值(整数部分),将结果放在COUN字单元中。
87.设X、Y是有符号数字变量,下列程序是计算表达式S=((X+5)*Y+4)/(X—Y)的程序段,请在程序的空格处填上适当的指令。
XDW
YDW
SDW2DUP(0)
…
MOVAX,X
ADDAX,5
IMULY
__________
(1)__________
__________
(2)__________
MOVBX,X
SUBBX,Y
__________(3)__________
MOVS+2,AX
__________(4)__________
88.将A中的2位非压缩型BCD码与B中的2位非压缩型BCD相乘,并将结果存放在C字节变量中。
89.编写完整程序,功能是把N个8个二进制数据转换成16进制字符数据。
假定N个数据存放在字节变量VARB中,转换后的字符数据存放在HVARB中,提示0--9的字符码为30H--39H,A--F的字符码为41H--46H
90.在ABC起的连续4个单元中放有4个无符号数。
试编程实现第1、4二数求和,再减去第2数和第3数,结果存入XYZ起的单元中。
91.设在内存数据区TABLE地址开始存放一列表,表长在LEN单元,表中数据为有符号字节数据,请用冒泡排序法编程将表中的数据从小到大排序。
92.编写一程序,比较两个有符号的字变量x和Y。
(1)若两个数都大于等于100,则将两个数分别加1。
(2)若两个数都不大于等于100,则将两个数分别减1。
(3)若两个数一个大于等于100,另一个数不大于等于100,则将两个数互换。
93.下列程序是统计S,丑字符串中出现X变量中存放的字符的次数,并将统计的结果送COUNT单元。
请在程序的空格处填写适当的指令。
DATASEGMENT
STRDB‘CAGEYGUUIY04637DYU7R656SR’
C=$-ARY
XDB‘U’
COUNTDWO
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVCOUNT,0
(1)
MOVCX,C
MOVAL,X
L:
CMPAL,[SI]
(2)
INCCOUNT
NEXT:
INCSI
(3)
MOVAH,4CH
INT2lH
CODEENDS
ENDSTART
94.下列程序是将BUF字节缓冲区中的2位十六进制数转换成2位十六进制数的ASClI码,并将转换结果存放在Y单元中。
请在程序的空格处填上的适
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 编程