■1、在内存地址SRC处连续保存有两个字型数组A和B,A在前B在后,A中有20个数,B中有10个数
1个回答
关注
展开全部
假设每个数占用一个字节,则A占用20个字节,B占用10个字节,总共占用30个字节。如果SRC的地址为1000,则A的起始地址为1000,B的起始地址为1020。
咨询记录 · 回答于2023-06-08
■1、在内存地址SRC处连续保存有两个字型数组A和B,A在前B在后,A中有20个数,B中有10个数
1、在内存地址SRC处连续保存有两个字型数组A和B,A在前B在后,A中有20个数,B中有10个数。请将(AI1+A[(21)与(BI1+B12D中较大的那个数保存到R0中
假设每个数占用一个字节,则A占用20个字节,B占用10个字节,总共占用30个字节。如果SRC的地址为1000,则A的起始地址为1000,B的起始地址为1020。
假设每个数占用一个字节,则A占用20个字节,B占用10个字节。如果SRC的地址为1000,则A的起始地址为1000,B的起始地址为1020。首先需要找到A[21]和B[12]的地址:A[21]的地址为1000 + 20 * 21 = 1040B[12]的地址为1020 + 12 = 1032然后分别取出A[21]和B[12]的值,计算出较大的那个数,保存到R0中:```LDR R1, [1000, #20*21] ; 取出A[21]的值LDR R2, [1020, #12] ; 取出B[12]的值CMP R1, R2 ; 比较A[21]和B[12]MOVGT R0, R1 ; 如果A[21]大于B[12],则将A[21]保存到R0中MOVLE R0, R2 ; 如果B[12]大于等于A[21],则将B[12]保存到R0中```最终,R0中保存的就是A[21]和B[12]中较大的那个数。
已赞过
评论
收起
你对这个回答的评价是?