试编写多字节加法子程序。R0为被加数指针,R1为加数指针,R2位字节数,结果存放在被加数R0指向的单元。
第1题
试编写子程序,使间址寄存器R0所指向的连续两个片外RAM单元中的低4位二进制数,合并为一个字节(R0指向低位地址,合并时放在高4位),并仍存放在R0所指的外RAM单元中。
第2题
试编写一个子程序,将多字节的数据带CF循环左移一位(参见下图)。已知该子程序的出入口参数是:
入口参数:IX=多字节数据首地址、BR=数据长度(字节数)、CF=移位前状态。
出口参数:CF=移位后状态。
第4题
第5题
试编写一个判断某字符是否为数字字符的子程序。已知子程序的出入口参数是:
入口参数:AR=字符。
出口参数:是数字字符CF=0,否则CF=1。
第6题
试编写一个奇偶校验子程序。已知该子程序的出入口参数是:
入口参数:AR=数据。
出口参数:若AR中为奇数个“1”CF=1,否则CF=0。
第7题
试编写一个将寄存器AR中的小写字母(ASCII)转换成大写字母(ASCII)的子程序,并编写一个主程序,通过调用这个子程序将下面字符串中的小写字母转换成大写字母(其中,0为字符串的结束标记)。
STR:DB 'How do you do!',0
第8题
试编写一个工作在16位空间的486段内调用子程序,实现取16位有符号数x绝对值的操作。要求:
(1)子程序入口地址(标号):ABSX
(2)入口参数:AX=x
(3)出口参数:AX=|x|
另外,再编写一个程序段,利用这个子程序,将数据段内首地址为1000H数据区的100个16位有符号数取绝对值,并将结果存放到数据段内首地址为1100H的数据区中
第9题
ORG 10H
BINX:DB 28,150,45,90
DB 160,99,210,63
NIIN EOU $-BINX
BITN: DS NUM
第10题