鱼C论坛

 找回密码
 立即注册
查看: 25616|回复: 75

[汇编作业] 实验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 编辑

我的代码如下:望大神批评指正!
assume cs:code,ds:data

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

table segment
        db 21 dup('year summ ne ?? ')
table ends

code segment
start:mov ax, data
                        mov ds, ax
                        mov ax, table
                        mov es, ax
                        
                        mov bx, 0
                        mov si, 0
                        mov di, 0
                        mov cx, 21
                        
                s:      mov ax, [bx]         ; 写入年份数据,可以以字为单位操作,减少指令数量,发挥16位机优势
                        mov es:[di],ax
                        mov ax, [bx+2]
                        mov es:[di+2], ax
                        
                        mov ax,54h[bx]    ; 写入总收入数据
                        mov dx,56h[bx]
                        mov es:5h[di], ax
                        mov es:7h[di],dx
                        
                        div word ptr ds:0A8h[si]  ;计算并存储人均收入。由于总收入数据已经在ax, 和dx中了,所以将这一步提前,可以减少数据读取
                        mov es:0Dh[di], ax
                        
                        mov ax, 0A8h[si]  ; 写入人员数量数据
                        mov es:0Ah[di], ax
                                                        
                        add si, 2
                        add bx, 4
                        add di, 16
                        loop s
                        
                        mov ax, 4c00h
                        int 21h

code ends

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-12-21 20:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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