王爽 汇编语言 实验7
2011-06-24 11:16
246 查看
assume cs:codesg,ds:data;,ss:stack
data segment
DB '1975', '1976', '1977', '1978', '1979', '1980', '1981', '1982'
DB '1983', '1984', '1985', '1986', '1987', '1988', '1989', '1990'
DB '1991', '1992', '1993', '1994', '1995'
DD 16, 22, 382, 1356, 2390, 8000, 16000, 24486, 50065, 97479, 140417, 197514
DD 345980, 590827, 803530, 118300, 184300, 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
codesg segment
start:mov ax,data
mov ds,ax
mov ax,table
mov es,ax
;mov ax,stack
;mov ss,ax
;mov sp,16
mov bp,0 ;用来指示一年的年份数据、总收入数据
mov si,0 ;用来指向公司雇员数
mov bx,0 ;用来指向table的年份数据、收入数据、雇员数据
mov cx,21
s:;复制年份
mov ax,ds:[bp]
mov es:[bx],ax
mov ax,ds:[bp+2]
mov es:[bx+2],ax
;复制收入 同时计算人均收入
mov ax,ds:[bp+54h]
mov dx,ds:[bp+56h]
mov es:[bx+5],ax
mov es:[bx+7],dx
div WORD ptr ds:[si+168]
mov es:[bx+0dh],ax ;得商
;复制雇员数
mov ax,ds:[si+168]
mov es:[bx+0ah],ax
;至此数据处理完毕 为进入下一循环做准备
add bx,10h
add bp,4h
add si,2h ;注意这里si与bp增长不同
loop s
mov ax,4c00h
int 21h
codesg ends
end start
data segment
DB '1975', '1976', '1977', '1978', '1979', '1980', '1981', '1982'
DB '1983', '1984', '1985', '1986', '1987', '1988', '1989', '1990'
DB '1991', '1992', '1993', '1994', '1995'
DD 16, 22, 382, 1356, 2390, 8000, 16000, 24486, 50065, 97479, 140417, 197514
DD 345980, 590827, 803530, 118300, 184300, 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
codesg segment
start:mov ax,data
mov ds,ax
mov ax,table
mov es,ax
;mov ax,stack
;mov ss,ax
;mov sp,16
mov bp,0 ;用来指示一年的年份数据、总收入数据
mov si,0 ;用来指向公司雇员数
mov bx,0 ;用来指向table的年份数据、收入数据、雇员数据
mov cx,21
s:;复制年份
mov ax,ds:[bp]
mov es:[bx],ax
mov ax,ds:[bp+2]
mov es:[bx+2],ax
;复制收入 同时计算人均收入
mov ax,ds:[bp+54h]
mov dx,ds:[bp+56h]
mov es:[bx+5],ax
mov es:[bx+7],dx
div WORD ptr ds:[si+168]
mov es:[bx+0dh],ax ;得商
;复制雇员数
mov ax,ds:[si+168]
mov es:[bx+0ah],ax
;至此数据处理完毕 为进入下一循环做准备
add bx,10h
add bp,4h
add si,2h ;注意这里si与bp增长不同
loop s
mov ax,4c00h
int 21h
codesg ends
end start
相关文章推荐
- 汇编语言 第三版 王爽 实验四
- 汇编语言(王爽)实验三 编程、编译、连接、跟踪
- 王爽老师著汇编语言第三版实验7
- 汇编语言(王爽)-实验16
- 王爽汇编语言实验7
- 王爽 汇编语言 第二版 实验七 寻址方式在结构化数据访问中的使用 源码
- 汇编语言 王爽 第二版 实验16
- 汇编语言(王爽第三版)实验9根据材料编程
- 王爽汇编语言第六章学习笔记和实验五答案
- 【汇编语言】王爽第三版 - 实验11
- 汇编语言 第三版 王爽 实验10 显示字符串 show_str 独立完成
- 汇编语言 第三版 王爽 实验12 编写0号终端的处理程序
- 【王爽-汇编语言】第八章实验7
- 汇编语言 王爽(第三版)实验十六
- 王爽 汇编语言 第三版 实验14 访问 CMOS RAM
- 汇编语言(王爽)实验4
- 王爽 汇编语言第二版 实验9 根据材料编程 代码及分析
- 8086汇编学习小记-王爽汇编语言实验16
- 汇编语言(王爽)--实验14 访问CMOS RAM
- 汇编语言 王爽(第三版)实验十一