汇编,求大神!要详细过程 80
VAR_BDB10DUP(3,5,7,9)LEABX,VAR_BMOVCX,10XORAX,AXLOP:ADDAL,[BX]CMPAL,10JBNEXTINCAHSUBA...
VAR_B DB 10 DUP(3,5,7,9)
LEA BX,VAR_B
MOV CX,10
XOR AX,AX
LOP: ADD AL,[BX]
CMP AL,10
JB NEXT
INC AH
SUB AL,10
NEXT: INC BX
LOOP LOP
上述程序段运行结束后,AH=______,AL=______。
要详细过程 展开
LEA BX,VAR_B
MOV CX,10
XOR AX,AX
LOP: ADD AL,[BX]
CMP AL,10
JB NEXT
INC AH
SUB AL,10
NEXT: INC BX
LOOP LOP
上述程序段运行结束后,AH=______,AL=______。
要详细过程 展开
2个回答
展开全部
上述程序段运行结束后,AH=_05H_,AL=_06H_。
程序,把数据 VAR_B 中的内容,依次加入到 AL。
共循环了 10 次,分别加入了:3、5、7、9、3、5、7、9、3、5。
每次加入后,都要检测是否大于 10。
如果大于,则减去 10,AH 加一,然后再继续加数据表的内容。
那么,AL 历次的数值是:
3、8、15(变成5)、14(变成4)、7、12(2)、9、18(8)、11(1)、6。
AL 最后,就是 06H。
AH 加了 5 次,所以是 05H。
程序,把数据 VAR_B 中的内容,依次加入到 AL。
共循环了 10 次,分别加入了:3、5、7、9、3、5、7、9、3、5。
每次加入后,都要检测是否大于 10。
如果大于,则减去 10,AH 加一,然后再继续加数据表的内容。
那么,AL 历次的数值是:
3、8、15(变成5)、14(变成4)、7、12(2)、9、18(8)、11(1)、6。
AL 最后,就是 06H。
AH 加了 5 次,所以是 05H。
展开全部
VAR_B DB 10 DUP(3,5,7,9) ; 定义数组
LEA BX,VAR_B ;取数组地址
MOV CX,10 ; 设定循环次数
XOR AX,AX ; ax清零
LOP: ADD AL,[BX] ; al = al + [bx] (bx的内容)3.5.7.9
CMP AL,10 ;比较AL 是否大于10
JB NEXT ;小于则跳转到NEXT
INC AH ; AL大于10 ,记录次数在AH中
SUB AL,10 ; AL = AL -10
NEXT: INC BX ;BX++
LOOP LOP :循环
ah中记录的是 计算后大于10的结果有多少个, al保存的是最后一个结果值。
0+3 = 3; 3+5 =8; 8+7 =15; 15-10+9=14;14-10+3=7;
7+5 =12; 12-10+7=9; 9+9=18;18-10+3=11;11-10+5=6;
所以,ah=05 al=06
LEA BX,VAR_B ;取数组地址
MOV CX,10 ; 设定循环次数
XOR AX,AX ; ax清零
LOP: ADD AL,[BX] ; al = al + [bx] (bx的内容)3.5.7.9
CMP AL,10 ;比较AL 是否大于10
JB NEXT ;小于则跳转到NEXT
INC AH ; AL大于10 ,记录次数在AH中
SUB AL,10 ; AL = AL -10
NEXT: INC BX ;BX++
LOOP LOP :循环
ah中记录的是 计算后大于10的结果有多少个, al保存的是最后一个结果值。
0+3 = 3; 3+5 =8; 8+7 =15; 15-10+9=14;14-10+3=7;
7+5 =12; 12-10+7=9; 9+9=18;18-10+3=11;11-10+5=6;
所以,ah=05 al=06
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询