数据处理的两个基本问题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確定的是每行的列數
[buy]?獲得所有教學視頻、課件、源代碼等資源打包?[/buy] [Downlink href='http://kuai.xunlei.com/d/LRYEJBCTSHOJ']視頻下載[/Downlink]轉載于:https://www.cnblogs.com/LoveFishC/archive/2011/01/03/3846029.html
總結
以上是生活随笔為你收集整理的数据处理的两个基本问题05 - 零基础入门学习汇编语言42的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 汤利萍出诊地址在哪?
- 下一篇: 汤利萍擅长治疗什么疾病