鱼C论坛

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

实验7的改进

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

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

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

x
本帖最后由 wouiwhbn 于 2012-8-5 12:16 编辑

  1. codesg segment
  2. start:   mov ax,data
  3.          mov ds,ax
  4.          mov ax,table
  5.                  mov es,ax
  6.                  
  7.                  mov cx,21
  8.              mov bx,0
  9.                  mov di,0
  10.                  mov si,0
  11.                  
  12. s:                 mov ax,[bx]           ;年份
  13.          mov dx,[2+bx]
  14.                  mov es:[di],ax
  15.                  mov es:[2+di],dx
  16.                                  
  17.              mov ax,[54h+bx]        ;收入
  18.                  mov es:[5h+di],ax
  19.                  mov dx,[56h+bx]
  20.                  mov es:[7h+di],dx
  21.                           
  22.                  div word ptr [0a8h+si]          ;均收入
  23.                  mov es:[0dh+di],ax
  24.                  
  25.                  mov ax,[0a8h+si]              ;雇员
  26.                  mov es:[0ah+di],ax
  27.                  
  28.                  add bx,4
  29.                  add di,16
  30.                  add si,2
  31.                  
  32.                  loop s               
  33.          mov ax,4c00h
  34.      int 21h
  35. codesg ends
  36. end start
复制代码

步骤减少了,呵呵!减少了6步
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2012-8-5 12:14:02 | 显示全部楼层

RE: 实验7的改进

  1. codesg segment
  2. start:    mov ax,data
  3.           mov ds,ax
  4.                   mov bx,0
  5.                   mov ax,table
  6.                   mov es,ax
  7.                   mov di,0
  8.                   mov si,0
  9.                   mov cx,21
  10.                   
  11. s:        mov al,[bx]                ;年份
  12.                   mov es:[di],al
  13.                   
  14.                   mov al,[bx+1]
  15.           mov es:[di+1],al
  16.           
  17.                   mov al,[bx+2]
  18.                   mov es:[di+2],al
  19.                   
  20.                   mov al,[bx+3]
  21.                mov es:[di+3],al
  22.   
  23.    
  24.                                         ;总收入
  25.                   mov ax,[54h+bx]           
  26.                   mov dx,[56h+bx]
  27.                   
  28.                   mov es:[5h+di],ax
  29.                   mov es:[7h+di],dx
  30.                               

  31.                                     ;雇员人数
  32.                   mov ax,[08ah+si]
  33.                   mov es:[0ah+di],ax
  34.   
  35.            mov ax,[54h+bx]            ;人均收入
  36.                   mov dx,[56h+bx]
  37.                   div word ptr ds:[0a8h+si]
  38.                   mov es:[0dh+di],ax
  39.                   
  40.                   add bx,4
  41.                   add si,2
  42.                   add di,16
  43.                   
  44.                   loop s
  45.                             
  46.         mov ax,4c00h
  47.        int 21h
  48. codesg ends
  49. end start
复制代码
这是老办法

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

本版积分规则

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

GMT+8, 2025-7-2 22:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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