10.
11.
12. 13. 14. 15. 16.
17.
DATA开始的存储区中(每一位BCD码占一个单元,高位在前)。(4.54) 若在BX寄存器中存放有一个16位带符号数,把它转换成相应的BCD码,并存放到自DATA开始的存储区中(符号位占一个单元,0表示正,1表示负,每一位BCD码占一个单元,高位在前)。(4.55)
若自STRING单元开始存放一个字符串(以字符$结尾),编写一个程序,统计这个字符串长度(不包括$字符),并把字符串的长度放在STRING单元,把整个字符串下移两个存储单元。(4.56)
若自STRING单元开始存放一个字符串(以字符空格引导,以字符$结尾),编写一个程序,统计这个字符串长度(忽略前导空格和结尾$字符)。(4.57) 若自STRING单元开始存放一个字符串(以字符$结尾),统计十六进制字符‘0’~‘9’和‘A’~‘F’的个数。(4.59)
编写一个程序,统计一个8位二进制数中的为‘1’的位的个数。(4.63) 编写一个程序,统计一个16位二进制数中的为‘1’的位的个数。(4.64) 自NUMBER单元开始存放有两个多字节的用BCD码表示的十进制数,NUMBER单元存放的是字节数,NUMBER+1开始连续存放两个多字节数(高位在后),编写一个程序把这两个多字节数相加,其和接着原来的数连续存放。(4.66) 若自STRING开始有一个字符串(以‘#’作为字符串的结束标志),编写一个程序,查找此字符串中有没有字符‘$’有多少个‘$’(放在NUMBER单元中,没有‘$’则其为0,否则即为‘$’的个数);且把每一个‘$’字符所存放的地址存入自POINTER开始的连续存储单元中。(4.75)
三、简单综合应用
1. 下图为某输出装置以查询方式与8086系统接口示意图,请先据此图说明完成一次
数据输出的过程,再编写一个程序将以BUFFER开始的一个数据块送出,数据块以回车字符作为结束,输出时要包括回车字符。
2. 下图为某输入装置以查询方式与8086系统接口示意图,请先据此图说明完成一次
数据输入的过程,再编写一个从这个输入装置连续读入100个数据,并将读入数据放在BUFFER单元开始的存储区内。
3. 下图为某输入装置以中断方式与8086系统接口示意图,请先据此图说明完成一次
数据输入的过程,再编写主程序及中断服务程序实现从这个输入装置读入100个数据,并存放在以BUFFER开始的存储区内。
相关推荐: