重做实验七 寻址方式在结构化数据访问中的应用
生活随笔
收集整理的這篇文章主要介紹了
重做实验七 寻址方式在结构化数据访问中的应用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
先處理第一行所有數據:
;實驗七 尋址方式在結構化數據訪問中的應用;編程 將data段中的數據 按照如下格式寫到table段中,并計算21年中的人均收入(取整) ;結果也按照下面的格式保存在table段中 assume cs:code,ds:data,ss:stack data segmentdb '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個字符串 yeardd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000;以上是表示21年公司總收入的21個數據dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226dw 11452,14430,15257,17800;以上是表示21年公司的員工數量 data endstable segment; '0123456789ABCDEF'db 21 dup('year sumn ne ?? ') table endsstack segment stackdb 128 dup (0) stack endscode segment start: mov ax,datamov ds,axmov ax,stackmov ss,axmov sp,128mov ax,tablemov es,axmov si,0 ;ds:[si] 年份 0~84mov di,84 ;ds:[di] 公司總收入 84(54H)~168(A8H)mov bx,168 ;ds:[bx] 員工數量 168~210mov bp,0 ;es:[bp] table;處理第一行的年份 通過棧 push ds:[si] ;拿到低地址 push ds:[si]指將ds:[si]中的內容送入棧中pop es:[bp] ;從棧頂取出數據送入es:[bp]push ds:[si+2];拿到高地址的那兩個字節 ;將ds:[si+2]中的內容送入棧中pop es:[bp+2] ;從棧頂取出數據送入es:[bp+2];處理第一行的公司總收入(被除數) 通過寄存器; '0123456789ABCDEF';db 21 dup('year sumn ne ?? ')mov ax,ds:[di];低位放入axmov dx,ds:[di+2];高位放入dxmov es:[bp+5],ax;低位放入5這個位置mov es:[bp+7],dx;高位放在7這個位置;處理員工數量(除數)push ds:[bx]pop es:[bp+0AH]div word ptr ds:[bx]mov es:[bp+0DH],ax;商mov ax,4c00hint 21hcode ends end start
因為總共要處理21行:
總結
以上是生活随笔為你收集整理的重做实验七 寻址方式在结构化数据访问中的应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 虚拟专题:知识图谱 | 医学知识图谱构建
- 下一篇: 《大数据》2021年第5期目次摘要