
微机原理程序设计题 谢谢 30
1、将数据段中首地址为ADDR、长度为N的一组数据加1,并送回原处2、把八位无符号数乘法程序编为一个子程序,被乘数、乘数和乘积放在自DATA开始的存储单元中。主程序调用子...
1、将数据段中首地址为ADDR、长度为N的一组数据加1,并送回原处
2、把八位无符号数乘法程序编为一个子程序,被乘数、乘数和乘积放在自DATA开始的存储单元中。主程序调用子程序实现上述功能
3、编写子程序。将AX中的无符号十进制数转换成对应的ASCII码串存放于变量中。变量定义为:ASCII DB 5 DUP(?)。DX存放该变量起始地址。要求子程序返回时,CX存放该ASCII码串中的字符个数。主程序调用子程序实现上述功能
发到邮箱:yi070215@sina.com
要汇编语言的啊 呵呵 展开
2、把八位无符号数乘法程序编为一个子程序,被乘数、乘数和乘积放在自DATA开始的存储单元中。主程序调用子程序实现上述功能
3、编写子程序。将AX中的无符号十进制数转换成对应的ASCII码串存放于变量中。变量定义为:ASCII DB 5 DUP(?)。DX存放该变量起始地址。要求子程序返回时,CX存放该ASCII码串中的字符个数。主程序调用子程序实现上述功能
发到邮箱:yi070215@sina.com
要汇编语言的啊 呵呵 展开
1个回答
展开全部
#define uchar unsigned char
#define uint unsigned int
uint cx; //第3个函数存放ascii的字符个数
void add1back(uchar *addr,uchar n)
{
uchar i;
for(i=0;i<n;i++){
*addr=*addr+1; //数据+1
addr=addr+1; //地址+1
}
}
void MulMain(uint multiplier,uint Multiply)
{
uint product;
product=multiplier*Multiply;
*(x)=multiplier; //x表示data存储单元地址
*(x+1)=Multiply;
*(x+2)=product;
}
//无符号十进制我忽略了0,不知道对不对
void IntToAscii(uint ax,uint *dx)
{
uchar i=1;
while((ax/10!=0)){
i++;
}
cx=i;
i=1;
for(;cx>0;cx--,i++){
dx[i]=ax%10;
}
}
没有经过验证,你自己用tc2.0运算下看看
#define uint unsigned int
uint cx; //第3个函数存放ascii的字符个数
void add1back(uchar *addr,uchar n)
{
uchar i;
for(i=0;i<n;i++){
*addr=*addr+1; //数据+1
addr=addr+1; //地址+1
}
}
void MulMain(uint multiplier,uint Multiply)
{
uint product;
product=multiplier*Multiply;
*(x)=multiplier; //x表示data存储单元地址
*(x+1)=Multiply;
*(x+2)=product;
}
//无符号十进制我忽略了0,不知道对不对
void IntToAscii(uint ax,uint *dx)
{
uchar i=1;
while((ax/10!=0)){
i++;
}
cx=i;
i=1;
for(;cx>0;cx--,i++){
dx[i]=ax%10;
}
}
没有经过验证,你自己用tc2.0运算下看看

2025-08-07 广告
广州赛恩科学仪器有限公司(原中大科仪)始创于2053年,是全球领先的精密测量仪器供应商和微弱信号检测方案提供商。公司以锁相放大器为核心产品,陆续推出光学斩波器、源表、功率放大器、电化学工作站、电流源等一系列产品。赛恩科仪推出的锁相放大器,覆...
点击进入详情页
本回答由赛恩科仪提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询