wouiwhbn 发表于 2012-8-5 12:11:59

实验7的改进

本帖最后由 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,         ;年份
         mov dx,
               mov es:,ax
               mov es:,dx
                                 
             mov ax,      ;收入
               mov es:,ax
               mov dx,
               mov es:,dx
                        
               div word ptr           ;均收入
               mov es:,ax
               
               mov ax,            ;雇员
               mov es:,ax
               
               add bx,4
               add di,16
               add si,2
               
               loop s               
         mov ax,4c00h
   int 21h
codesg ends
end start

步骤减少了,呵呵!减少了6步

wouiwhbn 发表于 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,                ;年份
                  mov es:,al
                  
                  mov al,
          mov es:,al
          
                  mov al,
                  mov es:,al
                  
                  mov al,
             mov es:,al

   
                                        ;总收入
                  mov ax,         
                  mov dx,
                  
                  mov es:,ax
                  mov es:,dx
                              

                                  ;雇员人数
                  mov ax,
                  mov es:,ax

         mov ax,            ;人均收入
                  mov dx,
                  div word ptr ds:
                  mov es:,ax
                  
                  add bx,4
                  add si,2
                  add di,16
                  
                  loop s
                            
      mov ax,4c00h
       int 21h
codesg ends
end start这是老办法

lukelqz 发表于 2012-8-5 14:13:06

{:2_26:}
利用了ax直接复制2个字节和平均收入调到前面来,减少一次ax和dx的重复赋值
页: [1]
查看完整版本: 实验7的改进