怎么用其他语句实现汇编daa指令 50

、如果AL的低四位大于9,或标志位AF=1,那么,AL=AL+6,并置AF=1;、如果AL的高四位大于9,或CF=1,那么,AL=AL+60H,并置CF=1;、如果以上两... 、如果AL的低四位大于9,或标志位AF=1,那么,AL=AL+6,并置AF=1;
、如果AL的高四位大于9,或CF=1,那么,AL=AL+60H,并置CF=1;
、如果以上两点都不成立,则,清除标志位AF和CF。
按照这三个逻辑
谢谢
展开
 我来答
做而论道
高能答主

2015-07-15 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部

代替 DAA 指令的程序如下:

;===============================
DAA_PROG:
    LAHF             ;FLAG--->AH
    TEST  AH, 10H    ;AF
    JE    DA1
    ADD   AL, 06H
    JMP   DA2
DA1:
    MOV   BL, AL
    AND   BL, 0FH
    CMP   BL, 0AH
    JB    DA2
    ADD   AL, 06H
    OR    AH, 10H
DA2:
    TEST  AH, 01H    ;CF
    JE    DA3
    ADD   AL, 60H
    JMP   DA4
DA3:
    MOV   BL, AL
    AND   BL, 0F0H
    CMP   BL, 0A0H
    JB    DA4
    ADD   AL, 60H
    OR    AH, 01H
DA4:SAHF             ;FLAG<---AH
    RET
;===============================


本程序经过全面测试,无误。

匿名用户
2017-07-22
展开全部
DA指令实质上是低四位或者高四位超过9的话加6,然后向上进位,用汇编指令应该很好实现,分别对低四位、高四位进行超过9的比较,如果超过则加6之后进位
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式