8086汇编-实验7-制表
生活随笔
收集整理的這篇文章主要介紹了
8086汇编-实验7-制表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
assume cs:codestack segment ;棧段dw 0,0,0,0,0,0,0,0
stack endsdata segment ;屬性db 1,'year',' num',' sum',' ave'
data endsdata0 segment ;年份 076fdb 1,'2000','2001','2002','2003','2004'
data0 endsdata1 segment ;員工人數db 1,4,11,16,20,25
data1 endsdata2 segment ;總工資支出db 1dw 16,22,384,1400,2300
data2 endsdata3 segment ;平均收入db 1dw 0,0,0,0,0
data3 endstable segmentdb 'year',' num',' sum',' ave' ;屬性db 80 dup (0) ;數據
table ends
;6x16的矩陣,第一行為屬性名,第二行到第六行為屬性值
;year num Sum ave:屬性名
;0~3 5~7 9~11 13~15:屬性名首地址
;0 5 9 13:數據首地址code segment;計算平均收入start:mov si,1mov di,0mov cx,5s:mov dx,data2 ;被除數數組~2bytemov ds,dxmov ax,[si]mov dx,data1 ;除數數組~1bytemov ds,dxmov bl,[di]div bl ;除操作mov dx,data3 ;商數組~2bytemov ds,dxmov ah,0mov [si],axinc siinc siinc diloop s;將數據填入表中mov dx,stack ;設置棧大小 077A:0027mov ss,dxmov sp,16mov dx,table ;指定表的位置 0774:0000mov es,dxmov bx,10h;數據寫入tablemov cx,5s0:push cx;輸入年份mov di,0mov dx,data0mov ds,dxmov dl,ds:[0] ;記錄下一次讀取第幾個內存單元mov dh,0mov si,dxmov cx,4s1:mov al,[si] ;readmov es:[bx+di],al ;writeinc siinc diinc dlmov ds:[0],dlloop s1pop cx;人數mov di,5mov dx,data1mov ds,dxmov dl,ds:[0] ;記錄下一次讀取第幾個內存單元mov dh,0mov si,dxmov al,[si] ;readmov es:[bx+di],al ;writeinc dlmov ds:[0],dl;總工資mov di,9mov dx,data2mov ds,dxmov dl,ds:[0] ;記錄下一次讀取第幾個內存單元mov dh,0mov si,dxmov ax,[si] ;readmov es:[bx+di],ax ;writeinc dlinc dlmov ds:[0],dl;平均工資mov di,13mov dx,data3mov ds,dxmov dl,ds:[0] ;記錄下一次讀取第幾個內存單元mov dh,0mov si,dxmov ax,[si] ;readmov es:[bx+di],ax ;writeinc dlinc dlmov ds:[0],dladd bx,10hloop s0mov ax,4c00h ;077A:00b8int 21h
code ends
end start
總結
以上是生活随笔為你收集整理的8086汇编-实验7-制表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 外部中断执行流程
- 下一篇: 概率论-3.4 多维随机变量的特征数