. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->数据处理的两个基本问题
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  实验七代码,欢迎讨论  [已解决] 回复[ 2次 ]   点击[ 348次 ]  
benzhemin
[帖 主]   [ 发表时间:2012-12-26 17:06 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:2
注册日期:2011-09-18 20:07
assume cs:code, ds:data, ss:stack

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'
    
    dd 16, 22, 382, 1356, 2390, 8000, 16000, 24486, 50065, 97479, 140417, 197514
    dd 345980, 590827, 803530, 1183000, 1843000, 2759000, 3753000, 4649000, 5937000
    
    dw 3, 7, 9, 13, 28, 38, 130, 220, 476, 778, 1001, 1442, 2258, 2793, 4037, 5635, 8226
    dw 11542, 14430, 15257, 17800
data ends

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

stack segment
    dw 8 dup (0)
stack ends

code segment
start:
    mov ax, data
    mov ds, ax
    
    mov ax, table
    mov es, ax
    
    mov ax, stack
    mov ss, ax
    mov sp, 10h
      
    mov bp, 0   ;bp table base pointer 
    mov di, 0   ;bp+si
    mov si, 0
    
    mov cx, 21
cycle:
    mov bx, 0   ;bx data base pointer

;cpyear   
    mov ax, [bx][di]
    mov es:[bp], ax
    mov ax, [bx][di].2
    mov es:[bp].2, ax
    
;cp profit
    mov bx, 0054h
    mov ax, [bx][di]
    mov es:[bp].5, ax
    mov ax, [bx][di].2
    mov es:[bp].7, ax
        
;cp employee
    mov bx, 00A8h
    mov ax, ds:[bx][si]
    mov es:[bp].0ah, ax
   
;average
    mov ax, es:[bp].5
    mov dx, es:[bp].7
    div word ptr es:[bp].0ah    
    mov es:[bp].0dh, ax
    
    add si, 2
    add di, 4    
    add bp, 10h
    loop cycle
       
    mov ax, 4c00h
    int 21h
code ends

end start
benzhemin
[第1楼]   [ 回复时间:2012-12-26 17:08 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:2
注册日期:2011-09-18 20:07
认真分析题目,将可简化的用idata替代,解决复制时寄存器不够用的问题
benzhemin
[第2楼]   [ 回复时间:2012-12-26 17:09 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:2
注册日期:2011-09-18 20:07
此贴由 贴主 于 [ 2012-12-26 17:09 ] 结贴。 结贴原因:问题已解决
得分情况: 1楼(benzhemin):2分  
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved