一、分析题(每题4分,共500分)
1. 编写一完整程序,比较两个字符串STR1和STR2所含字符是否完全相同,如果相同(AL)=1,不相同(AL)=0.
2. 编写一段程序统计BUF缓冲区100个字数据中为0的个数,并将统计结果保存在DL 中。
3. 比较5个字节的字符串A和B,若两个字符串不相等则字节标志单元FLG置1;否则清0。
ascii共有多少个字符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)______

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。