汇编,求大神!要详细过程 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=______。
要详细过程
展开
 我来答
做而论道
高能答主

2013-01-01 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部
上述程序段运行结束后,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。
duyanbin68
2013-01-02 · 超过16用户采纳过TA的回答
知道答主
回答量:59
采纳率:100%
帮助的人:37.9万
展开全部
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
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式