鱼C论坛

 找回密码
 立即注册
查看: 3313|回复: 2

算术表达式运算

[复制链接]
发表于 2011-4-25 22:07:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
老师说课本这个程序还可以优化完善,不过我抓破头还是看不出来,请大家帮帮忙:
assume ds:data,  cs:code

data segment
        x dw 200
        y dw 300
        z dw 4000
        v dw 10000
        w dw ?, ?
data ends

code segment
start:
        mov ax, data
        mov ds, ax

        mov ax, x           
        imul y               ;multiply y

        mov cx, ax
        mov bx, dx
                
        mov ax, z
        cwd
                
        add cx, ax
        adc bx, dx           ;abc
                
        sub cx, 460
        sbb bx, 0            ;sbb
                
        mov ax, v
        cwd
                
        sub ax, cx
        sbb dx, bx           ;sbb
                
        idiv x               ;idiv
        mov w, ax
        mov w+2, dx

        mov ax, 4c00h
        int 21h
code ends

end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-27 21:56:14 | 显示全部楼层
        mov ax, x           
        imul y               ;multiply y
        mov cx, ax
        mov bx, dx
        mov ax, z
        cwd
        add cx, ax
        adc bx, dx           ;abc
以上代码实现x*y+z,没必要非把z放入ax,再扩展再加吧
        mov ax, x           
        imul y               ;multiply y
        mov cx, z
        add ax,cx,
        adc dx,0
汇编放下一段时间了,不一定对,可以参考下

评分

参与人数 1荣誉 +2 收起 理由
loop + 2 热心回复,鱼C有你更精彩~

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-4-27 22:55:20 | 显示全部楼层
最后结果显示不知道怎么看,好像是错的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-3 07:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表