鱼C论坛

 找回密码
 立即注册
查看: 15541|回复: 70

[汇编作业] 实验7 作业题优化成果

[复制链接]
发表于 2020-1-4 17:01:11 | 显示全部楼层 |阅读模式

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

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

x
好久没有用汇编了,最近重新复习

先说一下编程思路:
        源数据和表格数据地址存放在不同位置,为了方便定位,需要使用两个段寄存器
       
        年份数据为四个字符串,单个字符串占用1个字节
        四个字符串则相当于双字型数据
        可使用两个寄存器存放年份字符串的 高位、低位数据
        然后复制到表格年份处
       
        收入数据为双字型数据,并且还是被除数,需要参加除法运算
        此时可直接复制到除法运算相关寄存器中,顺便复制到表格收入处
        雇员人数为字型数据,并且是除数,可复制到除法运算相关寄存器中
        顺便复制到表格雇员人数存放处

        然后进行除法运算,结果商存放在除法运算相关寄存器中
        将结果直接复制到表格人均收入处
       
        递增相关寄存器用于指向下一位相关数据,循环21次即可


实验七作业程序优化代码如下:
游客,如果您要查看本帖隐藏内容请回复

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-16 15:34:46 | 显示全部楼层
来康康
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-17 00:03:30 | 显示全部楼层
本帖最后由 major_lyu 于 2020-2-17 00:12 编辑

我的代码如下:望大神批评指正!

  1. assume cs:code,ds:data

  2. data segment
  3.         db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
  4.   db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
  5.   db '1993','1994','1995'
  6.   ;年份(0~53H)
  7.   dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
  8.   dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
  9.   ;总收入(54H~A7H)
  10.   dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
  11.   dw 11542,14430,15257,17800
  12.   ;员工数(A8H~D1H)
  13. data ends

  14. table segment
  15.         db 21 dup('year summ ne ?? ')
  16. table ends

  17. code segment
  18. start:mov ax, data
  19.                         mov ds, ax
  20.                         mov ax, table
  21.                         mov es, ax
  22.                        
  23.                         mov bx, 0
  24.                         mov si, 0
  25.                         mov di, 0
  26.                         mov cx, 21
  27.                        
  28.                 s:      mov ax, [bx]         ; 写入年份数据,可以以字为单位操作,减少指令数量,发挥16位机优势
  29.                         mov es:[di],ax
  30.                         mov ax, [bx+2]
  31.                         mov es:[di+2], ax
  32.                        
  33.                         mov ax,54h[bx]    ; 写入总收入数据
  34.                         mov dx,56h[bx]
  35.                         mov es:5h[di], ax
  36.                         mov es:7h[di],dx
  37.                        
  38.                         div word ptr ds:0A8h[si]  ;计算并存储人均收入。由于总收入数据已经在ax, 和dx中了,所以将这一步提前,可以减少数据读取
  39.                         mov es:0Dh[di], ax
  40.                        
  41.                         mov ax, 0A8h[si]  ; 写入人员数量数据
  42.                         mov es:0Ah[di], ax
  43.                                                        
  44.                         add si, 2
  45.                         add bx, 4
  46.                         add di, 16
  47.                         loop s
  48.                        
  49.                         mov ax, 4c00h
  50.                         int 21h

  51. code ends

  52. end start

复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-17 08:26:21 | 显示全部楼层
康康
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-18 21:36:21 | 显示全部楼层
kankan
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-22 19:00:27 | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-2 01:42:02 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-6 22:30:19 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-16 12:30:49 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-18 18:55:10 | 显示全部楼层
666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-20 09:32:30 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-21 15:05:07 | 显示全部楼层
康康
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-25 17:45:03 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-7 16:13:17 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-16 14:38:22 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-17 09:42:31 | 显示全部楼层
借鉴
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-22 22:04:39 | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-25 18:04:25 | 显示全部楼层
调试显不出来,把数字放入后,显示的是不认识的,要把收入和人数用完后,转成ASCII码????
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-12 14:04:34 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-13 23:25:07 | 显示全部楼层
1111
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-3-29 02:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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