数据处理的两个基本问题05 – 零基础入门学习汇编语言42
第八章:数据处理的两个基本问题05
让编程改变世界
Change the world by program
实验七:寻址方式在结构化数据访问中的应用
这个程序是到目前为止我们遇到的最复杂的程序,它几乎用到了我们之前学过的所有知识和编程技巧。
这个程序是对我们目前能力的一个考验,请一定要认真完成,务必弄明白才继续往下学习。
源数据在哪里?
年份(0-53H)、收入(54H-0A7H)、雇员(0A8H-0D1H)的存放位置
目标存放位用什么来表示?
年份、收入、雇员、平均收入的存放位置
观察数据类型和如何利用偏移寻址?
初始化阶段
mov ax,data
mov ds,ax
mov ax,table ;这里因为data已被占用
mov es,ax
mov bx,0
mov si,0
mov di,0
mov cx,21 ;二十一次循环,大家可想而知
每次循环要执行的任务
存放年份
存放公司总收入
存放公司人数
计算人均收入并存放
存放年份
mov al,[bx]
mov es:[di], al
mov al,[bx+1]
mov es:[di+1], al
mov al,[bx+2]
mov es:[di+2], al
mov al,[bx+3]
mov es:[di+3], al
存放公司总收入
mov ax,54h[bx] ;第一个’年收入’的段基
;址为54H
mov dx,56h[bx]
mov es:5h[di],ax
mov es:7h[di],dx
存放公司人数
mov ax,0A8h[si] ;第一个’人数’的段基址
;为0A8H
mov es:0Ah[di],ax
计算人均收入并存放
mov ax,54h[bx]
mov dx,56h[bx] ;这两句是初始化被除数
div word ptr ds:0A8h[si] ;除以人数
mov es:0dh[di],ax ;将商放入指定位置
为下一次循环时存放数据做准备
add bx,4 ;bx确定年份和收入
add si,2 ;si确定人数
add di,16 ;di确定的是每行的列数
视频下载
技术, IT技术, 汇编语言, 视频教程
风险提示及免责条款
市场有风险,投资需谨慎。本文不构成个人投资建议,也未考虑到个别用户特殊的投资目标、财务状况或需要。用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!