A.CALL指令下面第二条指令的地址
B.(SP+1)和(SP)中存放的地址
C.(SP+5)和(SP+4)中存放的地址
D.CALL指令下面第四条指令的地址
试编写子程序,使间址寄存器R0所指向的连续两个片外RAM单元中的低4位二进制数,合并为一个字节(R0指向低位地址,合并时放在高4位),并仍存放在R0所指的外RAM单元中。
A.CALL指令下面第二条指令的地址
B.(SP+1)和(SP)中存放的地址
C.(SP+5)和(SP+4)中存放的地址
D.CALL指令下面第四条指令的地址
A.CALL指令下面第4条指令的地址
B.CALL指令下面第2条指令的地址
C.(SP+1)和(SP)中存放的地址
D.(SP+5)和(SP+4)中存放的地址
A.子程序只能被调用程序调用一次
B.子程序调用指令CALL执行后只需保护断点的偏移地址
C.子程序返回指令RET可以用一条出栈指令POP代替
D.子程序是特定功能程序段,可被其他程序调用,完全确定功能后,可使用返回指令返回到调用程序
(1)子程序入口地址(标号):BINCHR;
(2)入口参数:AL=8位二进制数;
DI=ASCII数字串首地址(位于数据段中);
(3)出口参数:无;
(4)不影响其他寄存器。
试编写一个工作在16位空间的486段内调用子程序,实现取16位有符号数x绝对值的操作。要求:
(1)子程序入口地址(标号):ABSX
(2)入口参数:AX=x
(3)出口参数:AX=|x|
另外,再编写一个程序段,利用这个子程序,将数据段内首地址为1000H数据区的100个16位有符号数取绝对值,并将结果存放到数据段内首地址为1100H的数据区中
编程:
(1)将A址起的100个无符号数按升序排放在原址处。
(2)在已经排好序的100个数中,查找是否有与AL中数值相同的数
(3)有相同的数,显示“YES”,无相同的数,显示“NO”。
编写上述任务为子程序,并由主程序调用相应子程序完成上述任务。