【www.myl5520.com--英文简历模板】
内存自buf单元开始的缓冲区连续存放着100个学生的英文分数,编程序统计其中90~100
篇一:设有50个无符号数,存放在array开始的100个字节单元中,试将它们降序排列,并存放于
内存自buf单元开始的缓冲区连续存放着100个学生的英文分数,编程序统
计其中90~100
一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共10分)
1.CPU发出的访问存储器的地址是()
A.物理地址B.偏移地址
C.逻辑地址D.段地址
2.将高级语言的程序翻译成机器码程序的实用程序是()
A.编译程序B.汇编程序
C.解释程序D.目标程序
3.DECBYTEPTR〔BX〕指令中的操作数的数据类型是()
A.字B.双字C.字节D.四字
4.在下列语句中,BUFFER称为()
BUFFERDB01H,0AH
A.符号B.变量C.助记符D.标号
5.串操作指令中,源串操作数的段地址一定在()寄存器中。
A.CSB.SSC.DSD.ES
6.使计算机执行某种操作的命令是()
A.伪指令B.指令C.标号D.助记符
7.将数据5618H存放在存储单元中的伪指令是()
A.DATA1DW1856H
B.DATA1DB18H,56H
C.DATA1EQU5618H
D.DATA1DB18H,00H,56H,00H
8.若AX=3500H,CX=56B8H,当ANDAX,CX指令执行后,AX=()
A.1400HB.77F8HC.0000HD.0FFFFH
9.计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。目前,微机中普遍采用的是()码。
A.BCD码B.二进制码C.ASCII码D.十六进制码
10.用指令的助记符、符号地址、标号和伪指令、宏指令以及规定的格式书写程序的语言称为()
A.汇编语言B.高级语言C.机器语言D.低级语言
二、填空题(每空1分,共20分)
1.在8086/8088汇编语言中,有五条串操作指令,其中搜索字符串指令的助记符是______.
2.通常所说的计算机系统包括________和________两大部分。
3.8086/8088存储器分四个段,这四个段的段名所对应的段寄存器分别是________、________、________、________.
4.现有AX=2000H,BX=1200H,DS=3000H,DI=0002H,(31200H)=50H,(31201H)=02H,(31202H)=
40H,请写出下列各条指令独立执行完后有关寄存器及存储单元的内容,并指出标志位ZF、CF的值。
A.ADDAX,1200H;问AX=________HZF=________
B.SUBAX,BX;问AX=________HZF=________
C.MOVAX,〔BX〕;问AX=________HCF=________设有50个无符号数,存放在array开始的100个字节单元中,试将它们降序排列,并存放于。
D.NEGWORDPTR〔1200H〕;问(31200H)=________HCF=________
5.设DS=2200H,BX=1000H,SI=0100H,偏移量D=0A2B1H,
试计算出下列各种寻址方式下的有效地址,填入括号中。
A.使用D的直接寻址()
B.使用BX的寄存器间接寻址() C.使用BX和D的寄存器相对寻址() D.使用BX、SI和D的相对基址变址寻址() E.使用BX、SI的基址变址寻址() 三、简答题(共20分) 1.程序在数据段中定义的数组如下:(4分) ARRAYDB‘YESIS’ DB20 ┇ DB‘DONOT’ 请指出下列指令是否正确若不正确,错在哪里 A.MOVBX,OFFSETARRAY MOVAX,〔BX+8〕 B.MOVAX,ARRAY C.MOVBX,2 MOVSI,3 MOVAX,ARRAY〔BX〕〔SI〕 D.MOVBX,2*2 MOVSI,3 MOVAX,OFFSETARRAY〔BX〕〔SI〕 INC〔AX〕 2.如TABLE为数据段中0100单元的符号名,其中存放的内容为0FF00H,
试问以下两条指令有什么区别指令执行后,AX寄存器的内容是什么(3分)
MOVAX,TABLE
MOVAX,OFFSETTABLE
3.对于下面的数据定义,三条MOV指令分别汇编成什么(3分)
TAB1DW10DUP()
TAB2DB10DUP()
TAB3DB‘1234’
┇
MOVAX,LENGTHTAB1
MOVBL,LENGTHTAB2
MOVCL,LENGTHTAB3
4.子程序的说明文件中应包括哪几方面的内容(5分)
5.分别指出下列指令中源操作数的寻址方式:(5分)
A.MOVSI,100
B.MOVCX,DATA〔SI〕
C.MOV〔SI〕,AX
D.ADDAX,〔BX〕〔DI〕
E.POPHF
四、程序分析(每小题5分,共20分)
1.下列程序段完成什么工作
DAT1DB30DUP()
DAT2DB10DUP()
┇ MOVCX,10 MOVBX,20 MOVSI,0 MOVDI,0 NEXT:MOVAL,DAT1〔BX〕〔SI〕 MOVDAT2〔DI〕,AL INCSI INCDI LOOPNEXT 2.执行下列指令后,AX寄存器中的内容是什么 STARTDW10H,20H,30H,40H,50H EE1DW3 ┇ MOVBX,OFFSETSTART ADDBX,EE1 MOVAX,〔BX〕 3.试分析下面程序段的功能是什么 CMPAL,‘A’ JCOTHER CMPAL,‘Z’+1 JNCOTHER
微机作业汇编程序参考答案
篇二:设有50个无符号数,存放在array开始的100个字节单元中,试将它们降序排列,并存放于
1.编写一个完整的源程序:X,Y,
Z三个字节存储单元中各有一个无符号数,其中有两个数据相等,找出不相等的那个数,并存入W单元中
20.在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一完整的源程序,求它们对应项的绝对值之和,并将和数存入以SUM为首址的数据区中。
DATA SEGMENT
BUF1 DW -56,24,54,-1,89,-8„„
BUF2 DW 45,
-23,
124,345,-265,„„
SUM
DW 10 DUP(0)
DATA ENDS
2.编程:把存储单元A
和B
中的两个压缩BCD数相加,结果存入存储单元C中,并将结果显示
3.
4. 将DISP单元中存放的一压缩BCD码内容显示出来。(如果能显示为(DISP)=XXH更
好)
4. 将字节变量DISP的内容(
00H-FFH任意值)显示出来。(如果能显示为(DISP)=XXH更好)
5.将带符号字节变量A、B中的大数送C单元中。
DATA SEGMENT
A DB 60H ;50H ;50H
B DB 50H ;60H ;50H
C DB ?
DATA ENDST
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AL,A
CMP AL,B
JGE NEXT ;A>=B
MOV AL,B
MOV C,AL
NEXT: MOV C,AL ;A<B
MOV AH,4CH
INT 21H
CODE ENDS END START
6.设X为带符号字变量,求X的绝对值放入Y单元中。
DATA SEGMENT
X DW -1 ;1 ;0
Y DW ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MAIN: MOV AX,DATA
MOV DS,AX
MOV AX,X
CMP AX,0
JGE NT ;JNS NT
NEG AX
NT: MOV Y,AX
MOV AH,4CH
INT 21H
CODE ENDS
END MAIN
7编程:比较D1、D2单元中的字符,相同显示YES,不同显示
NO
8. 编制程序实现符号函数(+127X-128)。
DATA SEGMENT
X DB 10H ;00H ;-1
Y DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AL,X
CMP AL,0
JL NEXT1
CMP AL,0
JG NEXT2
MOV Y,0
JMP RES
NEXT1: MOV Y,-1
JMP RES
NEXT2: MOV Y,1
RES: MOV AH,4CH
INT 21H
CODE ENDS
END START
编程题 试卷2
篇三:设有50个无符号数,存放在array开始的100个字节单元中,试将它们降序排列,并存放于
一、分析题(每题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存储区定义为BUFB DB N DUP('^'),其中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和Y.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中的程序,请在程序段的空格处填上适当的指令。
X DW 4 DUP (?)
Y DW 7
W DW 4 DUP ( 0)
N DW 0
„
MOV DX, 0
MOV AX, X+6
_______(1)_______
DIV BX
MOV W+6, AX
MOV AX, X+4
DIV BX
________(2)______
MOV AX, X+2
DIV BX
________(3)________
MOV AX, X
DIV BX
________(4)_________
________(5)__________
26. 编写一段程序,将数据段中S1开始的任意十个字符按相同顺序传送到以S2为起始地址的存储单元中。
27. 已知数据区中从A开始存放任意10个字节数据,求非零数据个数,将结果存于B存储单元。
28. 试编制一个程序把BX寄存器内的二进制数用十六进制数的形式在屏幕上显示出来.
29. 有两个3位的ASCII数和ASC3定义如下:
ASC1 DB '578'
ASC2 DB '694'
ASC3 DB '0000'
请编写计算ASC3=ASC1+ASC2的程序。
30. 编写一段汇编程序,要求实现对从键盘输入的小写字母用大写字母显示出来。
31. 将BUF中的8位二进制数转换成八进制数,其中的最高位存放在A字节单元中,最低位存放在C字节单元中。同时显示转换后的结果。
32. 试编写一段汇编程序,实现从键盘接收一个小写字母,然后找出它的前导字符,和后续字符,并按顺序输出这三个字符的功能.
33. 下列程序段是将BUF缓冲区中的两个字节的非压缩型BCD码转换成ASCII码并送显示器显示的程序,请在程序的空格处填上适当的指令。
BUF DB 5, 7
„
MOV DL, BUF
_________(1)____________
MOV AH, 2
_________(2)____________
_________(3)____________
ADD DL, 30H
MOV AH, 2
__________(4)____________
34. 设X,Y,Z为有符号的16位二进制数,编写程序计算表达式W=(X+Y+10)*Z/(X+Y)(不考虑加法溢出),其中W存放商,W+2存放余数。
35. 在所定义的字节数组中找出第一个非0 数据,并显示输出其所在数组的下标。
36. 下列程序段是A和B 中的24位的无符号数相加,其结果放在双字的C变量中的程序,请在程序段的空格处填上适当的指令。
A DB 3 DUP(?)
B DB 3 DUP(?)
C DD 0
„
MOV AL, A
___________(1)___________
XCHG CH, CL
MOV BL, B
___________(2)____________
XCHG DH, DL
ADD CX, DX
___________(3)____________
MOV AH, 0
___________(4)____________
ADC AH, BH
MOV C, CX
____________(5)____________
37. 编写一程序,将x变量中的16位二进制数转换成十六进制数并输出。
38. 设有一字符串存放在以STING为首址的数据区中,其最后一个字符'$'作为结束标志,编一程序,计算该字符串的长度并送到LEN单元中.
39. 下列程序是将BCD字节缓冲区中的数据转换为十六进制数并输出。请在程序的空格处填写适当的指令。
40. 下列程序段是A和B 中的24位的无符号数相加,其结果放在双字的C变量中的程序,请在程序段的空格处填上适当的指令。
A DB 3 DUP(?)
B DB 3 DUP(?)
C DD 0
„
MOV AL, A
___________(1)___________
XCHG CH, CL
MOV BL, B
___________(2)____________
XCHG DH, DL
ADD CX, DX
___________(3)____________
MOV AH, 0
___________(4)____________
ADC AH, BH
MOV C, 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。试把空白处填上适当指令。
_______________
AND AH,08H
_______________
MOV AH,OFFH
JMP NEXT设有50个无符号数,存放在array开始的100个字节单元中,试将它们降序排列,并存放于。
ZERO:MOV AH,0
NEXT:„„
51. 以BUF为首地址的字节单元中,存放了COUNT个无符号数,下面程序段是找出其中最大数并送入MAX单元中。请完成程序。
BUF DB 5,6,7,58H,62,45H,127,„„
COUNT EQU $-BUF
MAX DB ?
┆
MOV BX,OFFSET BUF
MOV CX,COUNT-1
MOV AL,[BX]
LOP1:INC BX
________________
JAE NEXT
MOV AL,[BX]
NEXT:DEC CX
________________
MOV MAX,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码并送显示器显示的程序,请在程序的空格处填上适当的指令。
BUF DB 5, 7
„
MOV DL, BUF
_________(1)____________
MOV AH, 2
_________(2)____________
_________(3)____________
ADD DL, 30H
MOV AH, 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中的小写字母转换成大写字母。
微型计算机原理练习附答案
篇四:设有50个无符号数,存放在array开始的100个字节单元中,试将它们降序排列,并存放于
复习提纲
1.两个4字节的无符号数分别存放在从2000H和2010H开始的存储单元中,编写程序完成它们的相加操作,并将所求的和放在从2000H开始的内存单元中。
2.设在2000H开始的内存单元中,存放50个无符号字节数,编程找出其中的最大值,并把它存放到DL寄存器中。
3.将AL中的两个组合BCD数分别转换成对应的ASCII码,并存放在CX中(高位BCD数的转换结