. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->数据处理的两个基本问题
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  实验七,我自己挺满意的  [待解决] 回复[ 2次 ]   点击[ 452次 ]  
yuanliangding
[帖 主]   [ 发表时间:2010-02-04 02:59 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:1
注册日期:2010-01-30 14:38
>>>>>>>>>>>>>>>代码:>>>>>>>>>>>>>>>>>>>>>>>
;实验7
assume cs:codesg,es:table

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'
  ;以上是表示21年的21个字符串

  dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,170417,197514
  dd 345980,590827,803530,1183000,1842000,2759000,3753000,4649000,5937000
  ;以上是表示21年公司总收入的21个dword型数据

  dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
  dw 11542,14430,15257,17800
  ;以上是表示21年雇员人数的21个word型数据

data ends

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

;///////////////以下是作业代码/////////////
codesg segment
start:  mov ax,data
  mov ds,ax
  mov ax,table
  mov es,ax
  mov bx,0
  mov si,54h ;记录公司总收入数据首地址(相对data段址)
  mov di,0a8h ;记录公司雇员人数数据首地址(相对data段址)
  mov bp,0 ;记录table记录游标(每一年为一条记录,游标每次移动一年)
  
  mov cx,21 ;循环次数 
xunhuan:  mov ax,[bx] ;这四行,将年份从data拷贝到table,按高字长,低字长分别进行
  mov es:[bp],ax
  mov ax,[bx+2h]
  mov es:[bp+2h],ax
  mov dx,[bx+si+2h] ;这四行,公司总收入通过AX,DX传送到table,高字长经DX,低字长经AX
  mov ax,[bx+si]
  mov es:[bp+7h],dx ;注意table表中有一个空格
  mov es:[bp+5h],ax
  div word ptr [bx+di] ;计算出人均收入并存于table
  mov es:[bp+0dh],ax
  mov ax,[bx+di] ;将公司雇员人数传送到table
  mov es:[bp+0ah],ax
  add bx,4h
  sub di,2h
  add bp,10h
  loop xunhuan
  mov ax,4c00h
  int 21h
codesg ends
end start
>>>>>>>>>>>>>>>结果:>>>>>>>>>>>>>>>>>>>>>>>
不知道怎么把debug显示内容导到文件去,
暂时传不上来
abob
[第1楼]   [ 回复时间:2010-02-04 15:47 ]   [引用]   [回复]   [ top ] 
荣誉值:169
信誉值:0
注册日期:2008-08-19 16:07
备注很详细,不错。

不知道怎么把debug显示内容导到文件去
----------
可以在虚拟dos的窗口模式,右键/编辑/标记-用鼠标选中文字,敲击回车。

这样就复制好了。
yuanliangding
[第2楼]   [ 回复时间:2010-02-04 18:45 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:1
注册日期:2010-01-30 14:38
回复:[第1楼]
------------------
呵,谢谢
不过,。我的这个右键没有反应呀。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved