鱼C论坛

 找回密码
 立即注册
查看: 3162|回复: 4

[汇编作业] 实验七除了最后的人均工资(人均收入补上啦!!)

[复制链接]
发表于 2018-8-21 10:08:49 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 sannnnnd 于 2018-8-21 21:51 编辑
  1. DATAS SEGMENT
  2.     db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
  3.     db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
  4.     db '1993','1994','1995'
  5.         ;以上是表现21年的21个四字节的字符串
  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.         ;以上是表示21年公司总收入的21个dword型数据
  10.         ;54~0A7H
  11.     dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
  12.     dw 11542,14430,15257,17800
  13.     ;以上是表现21年公司雇员人数的21个word型数据
  14.     ;0A8H~0D1H
  15. DATAS ENDS

  16. STACKS SEGMENT
  17.     dw 8 dup (0)
  18. STACKS ENDS

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

  22. CODES SEGMENT
  23.     ASSUME CS:CODES,DS:DATAS,SS:STACKS,ES:table
  24. START:
  25.     MOV AX,DATAS
  26.     MOV DS,AX
  27.     mov ax,table
  28.     mov es,ax
  29.     mov ax,STACKS
  30.     mov ss,ax
  31.     mov sp,16
  32.     ;        es:[bx+0+si] 年份
  33.     ;        es:[bx+5+si] 收入
  34.     ;        es:[bx+10+si] 雇员数
  35.     ;        es:[bx+D+si] 人均收入
  36.     ;bx行地址,idata为属性地址,si为属性内部地址
  37.     mov cx,21
  38.     mov bx,0
  39.     mov di,0
  40.     mov dx,0
  41.    
  42.   s:push cx
  43.           mov cx,4
  44.           mov si,0
  45.          
  46. s0:
  47.     mov al,ds:[di]
  48.     mov es:[bx+si],al
  49.    
  50.     mov al,ds:54H[di]
  51.     push bx
  52.     add bx,5
  53.     mov es:[bx+si],al
  54.    
  55.     inc di
  56.     inc si
  57.     pop bx
  58.     loop s0
  59.             ;s0循环是录入四字节的年份和收入
  60.         mov cx,2
  61.         push di

  62.         mov si,0
  63.         ;s1循环是录入两字节的雇员数和人均工资(还没有开始做人均工资~)
  64. s1:mov di,dx
  65.         mov al,ds:0A8H[di]
  66.         push bx
  67.         add bx,10
  68.         mov es:[bx+si],al
  69.         inc dx
  70.         inc si
  71.         pop bx
  72.         loop s1
  73.     pop di
  74.    
  75.    
  76.         add bx,16
  77.         pop cx
  78.         loop s
  79.        
  80.        
  81.     MOV AH,4CH
  82.     INT 21H
  83. CODES ENDS
  84.     END START

复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-8-21 10:10:26 | 显示全部楼层
这个作业做了一早上!还没做完 临时有事就先溜了 晚上回来继续完成~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-21 21:43:12 | 显示全部楼层
将人均工资补上之后~ 我感觉我把程序变复杂了!!!!


  1. DATAS SEGMENT
  2.     db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
  3.     db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
  4.     db '1993','1994','1995'
  5.         ;以上是表现21年的21个四字节的字符串
  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.         ;以上是表示21年公司总收入的21个dword型数据
  10.         ;54~0A7H
  11.     dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
  12.     dw 11542,14430,15257,17800
  13.     ;以上是表现21年公司雇员人数的21个word型数据
  14.     ;0A8H~0D1H
  15.     db 0
  16. DATAS ENDS

  17. STACKS SEGMENT
  18.     dw 8 dup (0)
  19. STACKS ENDS

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

  23. CODES SEGMENT
  24.     ASSUME CS:CODES,DS:DATAS,SS:STACKS,ES:table
  25. START:
  26.     MOV AX,DATAS
  27.     MOV DS,AX
  28.     mov ax,table
  29.     mov es,ax
  30.     mov ax,STACKS
  31.     mov ss,ax
  32.     mov sp,16
  33.     ;        es:[bx+0+si] 年份
  34.     ;        es:[bx+5+si] 收入
  35.     ;        es:[bx+10+si] 雇员数
  36.     ;        es:[bx+D+si] 人均收入
  37.     ;bx行地址,idata为属性地址,si为属性内部地址
  38.     mov cx,21
  39.     mov bx,0
  40.     mov di,0
  41.     mov dx,0
  42.     mov si,0
  43.    
  44.   s:push si
  45.           push cx
  46.           mov cx,4
  47.           mov si,0

  48. s0:
  49.     mov al,ds:[di]
  50.     mov es:[bx+si],al
  51.    
  52.     mov al,ds:54H[di]
  53.     push bx
  54.     add bx,5
  55.     mov es:[bx+si],al
  56.     inc di
  57.     inc si
  58.     pop bx
  59.     loop s0
  60.    
  61.    
  62.         mov cx,2
  63.         push di
  64.         mov si,0
  65. s1:mov di,dx
  66.         mov al,ds:0A8H[di]
  67.         push bx
  68.         add bx,10
  69.         mov es:[bx+si],al
  70.         inc dx
  71.         inc si
  72.         pop bx
  73.         loop s1
  74.     pop di
  75.    


  76.         pop cx
  77.         pop si
  78.         push di
  79.         push dx
  80.        
  81.         mov di,ds:[0D2H]
  82.         mov dx,ds:[si+56H]
  83.         mov ax,ds:[si+54H]
  84.         div word ptr ds:[di+0A8H]
  85.         mov es:[bx+0DH],al
  86.         mov es:[bx+0EH],ah

  87.         pop dx
  88.         add si,4
  89.         push cx
  90.         mov cx,ds:[0D2H]
  91.         add cx,2
  92.         mov ds:[0D2H],cx
  93.         pop cx
  94.         pop di
  95.         add bx,16
  96.         loop s
  97.        
  98.        
  99.     MOV AH,4CH
  100.     INT 21H
  101. CODES ENDS
  102.     END START
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-21 21:45:56 | 显示全部楼层
nice ~晚上总算把这个做完啦!!
KQ6WF63Q}JS~1_3[@{T4[$8.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-22 20:53:12 From FishC Mobile | 显示全部楼层
你帮我看看我的程序
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-7 01:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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