鱼C论坛

 找回密码
 立即注册
查看: 2565|回复: 1

[争议讨论] 实验7

[复制链接]
发表于 2012-1-5 17:16:15 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 许楠 于 2012-1-5 17:23 编辑

;研究了三四个小时,没看教程,回头看看人家写的,汗颜啊 比我写的精简多了

  1. assume cs:code
  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';0-83

  6. dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
  7. dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000;84-167

  8. dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226;168-209
  9. dw 11542,14430,15257,17800
  10. data ends
  11. stack segment
  12. dw 8 dup (0)
  13. stack ends
  14. table segment
  15. db 21 dup ('year summ ne ?? ')
  16. table ends
  17. code segment
  18. start:
  19. mov ax,data
  20. mov ds,ax
  21. mov ax,table
  22. mov es,ax
  23. mov ax,stack
  24. mov ss,ax
  25. mov sp,8
  26. mov dx,0
  27. mov bp,0
  28. mov cx,21
  29. mov si,0
  30. mov di,0
  31. s:
  32. push cx
  33. mov cx,4

  34. s0:
  35. mov al,byte ptr ds:[bx+di]
  36. mov byte ptr es:[si],al
  37. inc di
  38. inc si
  39. loop s0
  40. mov byte ptr es:[si],' '
  41. inc si
  42. mov di,84
  43. mov cx,2
  44. s1:
  45. mov ax,word ptr ds:[bx+di]
  46. mov dx,word ptr ds:[bx+di+2]
  47. mov word ptr es:[si],ax
  48. mov word ptr es:[si+2],dx
  49. add di,2
  50. add si,2
  51. loop s1
  52. mov byte ptr es:[si],' '
  53. inc si
  54. mov di,168
  55. mov ax,word ptr ds:[bp+di]
  56. mov word ptr es:[si],ax
  57. add si,2
  58. mov byte ptr es:[si],' '
  59. inc si
  60. mov di,84
  61. mov ax,word ptr ds:[bx+di]
  62. mov dx,word ptr ds:[bx+di+2]
  63. mov di,168
  64. div word ptr ds:[bp+di]
  65. mov word ptr es:[si],ax
  66. add si,2
  67. mov byte ptr es:[si],' '
  68. inc si

  69. pop cx
  70. add bx,4
  71. add bp,2
  72. mov di,0
  73. ;inc bx
  74. loop s


  75. mov ax,4c00h
  76. int 21h
  77. code ends
  78. end start
复制代码


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-6 17:49:35 | 显示全部楼层
本帖最后由 415968430 于 2012-1-6 17:51 编辑

我也贴下代码,刚刚弄出来。
  1. data 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个字符串, 0~53h
  6. dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
  7. dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
  8. ;以上是表示21年公司总收入的21个dword型数据, 54h~0A7h
  9. dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
  10. dw 11542,14430,15257,17800
  11. ;以上是表示21年公司雇员工人数的21个word型数, 0A8h~0D1h
  12. data ends
  13. table segment
  14. db 21 dup('year summ ne ?? ')
  15. table ends
  16. codesg segment
  17. start:
  18. mov ax,data
  19. mov ds,ax
  20. mov ax,table
  21. mov es,ax
  22. mov bx,0
  23. mov si,0
  24. mov di,0
  25. mov cx,21

  26. s:mov al,ds:[bx]
  27. mov es:[di],al
  28. mov al,ds:[bx+1]
  29. mov es:[di+1],al
  30. mov al,ds:[bx+2]
  31. mov es:[di+2],al
  32. mov al,ds:[bx+3]
  33. mov es:[di+3],al

  34. mov ax,ds:[bx+54h]
  35. mov dx,ds:[bx+56h]
  36. mov es:[di+5],ax
  37. mov es:[di+7],dx

  38. mov si,ds:[bx+0A8h]
  39. mov es:[di+10],si

  40. div si

  41. mov es:[di+13],ax

  42. add di,10h
  43. add bx,4

  44. loop s



  45. mov ax,4c00h
  46. int 21h
  47. codesg ends
  48. end start

复制代码
小甲鱼版本的。。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-1 20:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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