鱼C论坛

 找回密码
 立即注册
查看: 1716|回复: 3

[技术交流] 课程设计 1(代码相对较少饿)

[复制链接]
发表于 2014-10-3 13:29:48 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 avatar10010 于 2014-10-3 23:33 编辑
  1. ;初学汇编,希望给点意见,将代码更加精{:1_1:}
  2. assume cs:code

  3. code segment  
  4. year        db   '19751976197719781979198019811982198319841985',
  5.                       '1986198719881989199019911992199319941995'
  6. income   dd   16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514,
  7.                       345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
  8. member  dw  3,7,9,13,28,38,130,220,476,778,1001,1442,2258,
  9.                       2793,4037,5635,8226,11542,14430,15257,17800  

  10. start:
  11.         mov ax,0b800h+160*4/16   ;4代表行号
  12.         mov es,ax

  13.         mov bh,2        ;设置颜色(绿色)
  14.         xor si,si
  15.         xor di,di
  16.         xor bp,bp
  17.         mov cx,21                ;设置循环次数
  18. line:
  19.         ;Year
  20.         ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  21.         mov bl,year[di]
  22.         mov es:[bp],bx
  23.         mov bl,year[di+1]
  24.         mov es:[bp+2],bx
  25.         mov bl,year[di+2]
  26.         mov es:[bp+4],bx
  27.         mov bl,year[di+3]
  28.         mov es:[bp+6],bx
  29.         ;Income
  30.         ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  31.         add bp,12
  32.         mov ax,word ptr income[di]
  33.         mov dx,word ptr income[di+2]
  34.         call dtoc
  35.         ;Member
  36.         ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  37.         add bp,18
  38.         mov ax,member[si]
  39.         xor dx,dx
  40.         call dtoc
  41.         ;Average
  42.         ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  43.         add bp,14
  44.         push cx
  45.         mov ax,word ptr income[di]
  46.         mov dx,word ptr income[di+2]
  47.         mov cx,member[si]
  48.         call divdw
  49.         call dtoc
  50.         add si,2
  51.         add di,4
  52.         add bp,116
  53.         pop cx        
  54. loop line        
  55.         mov ax,4c00h
  56.         int 21h

  57. dtoc:
  58.         push si
  59.         push cx        
  60.         xor si,si
  61. s:
  62.         mov cx,10
  63.         call divdw
  64.         add cl,30h
  65.         mov ch,bh
  66.         push cx
  67.         inc si
  68.         mov cx,ax
  69.         jcxz return1
  70.         jmp s
  71. return1:
  72.         mov cx,si        
  73.         mov si,bp
  74. return2:
  75.         pop es:[si]
  76.         add si,2
  77.         loop return2
  78.         pop cx
  79.         pop si
  80.         ret

  81. divdw:
  82.         push bx
  83.         push ax    ;保存低16位
  84.         mov ax,dx  ;此时ax的值是高16位
  85.         xor dx,dx
  86.         div cx           ;H/N
  87.         mov bx,ax  ;bx的值为(int)H/N,dx的值是(rem)H/N
  88.         pop ax
  89.         div cx           ;L/N
  90.         mov cx,dx
  91.         mov dx,bx
  92.         pop bx
  93.         ret

  94. code ends
  95. end start
复制代码


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

使用道具 举报

发表于 2014-10-3 15:13:05 | 显示全部楼层
0x1.代码请用代码格式发
0x2.新手可以看下置顶的帖子再发帖哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-3 23:32:52 | 显示全部楼层
小靚同学Leon 发表于 2014-10-3 15:13
0x1.代码请用代码格式发
0x2.新手可以看下置顶的帖子再发帖哦

谢谢,我已经改正了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2014-11-1 03:06:32 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-12 01:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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