微机原理及应用习题105道 下载本文

75. 编写子程序。将AL中的二进制数转换成对应的ASCII码(置于AL中)返回。

主程序调用子程序实现上述功能。 76. 编写子程序。将AL中的ASCII码转换成对应的二进制数(置于AL中)返回。

若AL中的ASCII码不在’0’~’9’、’A’~’F’之间,则置CF为1,AL不变,返回。主程序调用子程序实现上述功能。 77. 编写子程序。将AX中的无符号十进制数转换成对应的ASCII码串存放于变

量中。变量定义为:ASCII DB 5 DUP()。DX存放该变量的起始地址。要求子程序返回时, CX存放该ASCII码串中的字符个数。主程序调用子程序实现上述功能。 78. 编写子程序。将AX中的有符号十进制数转换成对应的ASCII码串存放于变

量中。变量定义为:ASCII DB 6 DUP()。DX存放该变量的起始地址。要求子程序返回时, CX存放该ASCII码串中的字符个数。主程序调用子程序实现上述功能。 79. 编写子程序。将一ASCII码字符串转换成对应的无符号二进制数(存放于AX

中)。该ASCII码字符串的首地址存放于DX中,其字符个数存放于CX中。若出现非法字符或超过AX的存储范围等情况,置CF为1,AX不变,返回。主程序调用子程序实现上述功能。 80. 编写子程序。将一ASCII码字符串转换成对应的有符号二进制数(存放于AX

中)。该ASCII码字符串的首地址存放于DX中,其字符个数存放于CX中。若出现非法字符或超过AX的存储范围等情况,置CF为1,AX不变,返回。主程序调用子程序实现上述功能。 81. 编写子程序。用给定的字节(在AL中)填充一指定的内存区域。该内存区

域的起始地址位于DI中,需填充的内存单元个数位于CX中。主程序调用子程序实现上述功能。 82. 编写子程序。用给定的字(在AX中)填充一指定的内存区域。该内存区域

的起始地址位于DI中,需填充的内存单元个数位于CX中。主程序调用子程序实现上述功能。 83. 编写子程序。在一给定的内存区域中查找指定的字节。该内存区域的起始地

址位于DI中,其存单元个数位于CX中。指定的字节位于AL中。若找到,则将该内存单元的偏移地址存放于DI中,且置ZF为1,返回。若未找到,DI不变,置ZF为0,返回。主程序调用子程序实现上述功能。 84. 编写子程序。在一给定的内存区域中查找指定的字。该内存区域的起始地址

位于DI中,其存单元个数位于CX中。指定的字位于AX中。若找到,则将该内存单元的偏移地址存放于DI中,且置ZF为1,返回。若未找到,DI不变,置ZF为0,返回。主程序调用子程序实现上述功能。 85. 编写子程序。求内存中一无符号字型数据序列的平均值。该无符号字型数据

序列的起始地址位于BX中,数据个数位于CX中。要求求得的平均值整数部分(商)存放于AX中,小数部分(余数)存放于DX中。主程序调用子程序实现上述功能。

86. 编写子程序。求内存中一有符号字型数据序列的平均值。该无符号字型数据

序列的起始地址位于BX中,数据个数位于CX中。要求求得的平均值整数部分(商)存放于AX中,小数部分(余数)存放于DX中。主程序调用子程序实现上述功能。 87. 编写子程序。求内存中一无符号字节型数据序列的和。该无符号字节型数据

序列的起始地址位于BX中,数据个数位于CX中。要求求得的和存放于AX中,且置CF为0;但若其和超过AX的存放范围,或数据个数为0等情况,则置CF为0,AX不变。主程序调用子程序实现上述功能。 88. 编写子程序。求内存中一有符号字节型数据序列的和。该无符号字节型数据

序列的起始地址位于BX中,数据个数位于CX中。要求求得的和存放于AX中,且置CF为0;但若其和超过AX的存放范围,或数据个数为0等情况,则置CF为0,AX不变。主程序调用子程序实现上述功能。 89. 编写子程序。求内存中一无符号字节型数据序列的最大值和最小值。该无符

号字节型数据序列的起始地址位于SI中,数据个数位于CX中。要求求得的最大值存放于AH中,最小值存放于AL中。主程序调用子程序实现上述功能。 90. 编写子程序。求内存中一有符号字节型数据序列的最大值和最小值。该无符号字节型数据序列的起始地址位于SI中,数据个数位于CX中。要求求得的最大值存放于AH中,最小值存放于AL中。主程序调用子程序实现上述功能。 91. 编写子程序。将一无符号字节序列排成升序。该字节序列的首地址存放于SI中,其字节个数存放于CX中。主程序调用子程序实现上述功能。 92. 编写子程序。将一有符号字节序列排成升序。该字节序列的首地址存放于SI

中,其字节个数存放于CX中。主程序调用子程序实现上述功能。 93. 编写子程序。比较两个字节型数据块。其中,第一个数据块的首地址存放于

SI中,第二个数据块的首地址存放于DI中,CX中存放比较的字节个数。若两个数据块完全匹配,则置ZF=0,返回;否则,置ZF=1,并将不匹配的单元地址存放于DI中返回。主程序调用子程序实现上述功能。 94. 编写子程序。比较两个字型数据块。其中,第一个数据块的首地址存放于SI

中,第二个数据块的首地址存放于DI中,CX中存放比较的字个数。若两个数据块完全匹配,则置ZF=0,返回;否则,置ZF=1,并将不匹配的单元地址存放于DI中返回。主程序调用子程序实现上述功能。 95. 编写子程序。交换两个字节串。其中,第一个字节串的首地址存放于SI中,

第二个字节串的首地址存放于DI中,CX中存放字节串的字节个数。主程序调用子程序实现上述功能。 96. 编写子程序。交换两个字串。其中,第一个字串的首地址存放于SI中,第

二个字串的首地址存放于DI中,CX中存放字串的字个数。主程序调用子程序实现上述功能。 97. 编写子程序。将一个字符串中的小写字母转换成大写字母。该字符串的首地

址存放于BX中,字符个数存放于CX中。主程序调用子程序实现上述功能。

98. 编写子程序。将一个字符串中的大写字母转换成小写字母。该字符串的首地

址存放于BX中,字符个数存放于CX中。主程序调用子程序实现上述功能。 99. 编写子程序。从键盘输入一个十六进制数,将其存储到DX中。若输入数据中出现非法字符,则返回。主程序调用子程序实现上述功能。 100. 编写子程序。将DX中的十六进制数输出到屏幕上。主程序调用子程序实

现上述功能。 101. 编写子程序。从键盘输入一个BCD码十进制数,将其存储到DX中。若输

入数据中出现非法字符,则返回。主程序调用子程序实现上述功能。 102. 编写子程序。将DX中的BCD码十进制数输出到屏幕上。主程序调用子程

序实现上述功能。 103. 编写子程序。从键盘输入一个有符号十进制数,将其存储到DX中。若输

入数据中出现非法字符,则返回。主程序调用子程序实现上述功能。 104. 编写子程序。从键盘输入一个无符号十进制数,将其存储到DX中。若输

入数据中出现非法字符,则返回。主程序调用子程序实现上述功能。 105. 编写子程序。将内存中的一字符块显示到屏幕上。该字符块的首地址存

放于BX中,字符个数存放于CX中。主程序调用子程序实现上述功能。