鱼C论坛

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

实验7的改进

[复制链接]
发表于 2012-8-5 12:11:59 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 wouiwhbn 于 2012-8-5 12:16 编辑
codesg segment
start:   mov ax,data
         mov ds,ax
         mov ax,table 
                 mov es,ax
                 
                 mov cx,21
             mov bx,0
                 mov di,0
                 mov si,0
                 
s:                 mov ax,[bx]           ;年份
         mov dx,[2+bx]
                 mov es:[di],ax
                 mov es:[2+di],dx
                                  
             mov ax,[54h+bx]        ;收入
                 mov es:[5h+di],ax
                 mov dx,[56h+bx]
                 mov es:[7h+di],dx
                          
                 div word ptr [0a8h+si]          ;均收入
                 mov es:[0dh+di],ax
                 
                 mov ax,[0a8h+si]              ;雇员
                 mov es:[0ah+di],ax
                 
                 add bx,4
                 add di,16
                 add si,2
                 
                 loop s                
         mov ax,4c00h
     int 21h
codesg ends
end start
步骤减少了,呵呵!减少了6步
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-8-5 12:14:02 | 显示全部楼层

RE: 实验7的改进

codesg segment
start:    mov ax,data
          mov ds,ax
                  mov bx,0
                  mov ax,table 
                  mov es,ax
                  mov di,0
                  mov si,0
                  mov cx,21
                  
s:        mov al,[bx]                ;年份
                  mov es:[di],al
                  
                  mov al,[bx+1]
          mov es:[di+1],al
          
                  mov al,[bx+2]
                  mov es:[di+2],al
                  
                  mov al,[bx+3]
               mov es:[di+3],al
  
   
                                        ;总收入
                  mov ax,[54h+bx]           
                  mov dx,[56h+bx]
                   
                  mov es:[5h+di],ax
                  mov es:[7h+di],dx
                               

                                    ;雇员人数
                  mov ax,[08ah+si]
                  mov es:[0ah+di],ax
  
           mov ax,[54h+bx]            ;人均收入
                  mov dx,[56h+bx]
                  div word ptr ds:[0a8h+si]
                  mov es:[0dh+di],ax
                  
                  add bx,4
                  add si,2
                  add di,16
                  
                  loop s
                            
        mov ax,4c00h
       int 21h
codesg ends
end start
这是老办法

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-8-5 14:13:06 | 显示全部楼层
{:2_26:}
利用了ax直接复制2个字节和平均收入调到前面来,减少一次ax和dx的重复赋值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-10-8 06:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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