;王爽組合語言實驗七
assume cs:code,ds:data,es:table
data segment
db '
1975
','1976
','1977
','1978
','1979
','1980
','1981
','1982
','1983
'db '
1984
','1985
','1986
','1987
','1988
','1989
','1990
','1991
','1992
'db '
1993
','1994
','1995';
以上是表示21年的字串 4 * 21 = 84
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
;以上是表示21年公司總收入的dword型資料 4 * 21 = 84
dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
dw 11542,14430,15257,17800
;以上是表示21年公司雇員人數的21個word型資料 2 * 21 = 42
data ends
table segment
db 21 dup ('
year summ ne ??
') ;
'year summ ne ?? ' 剛好16個位元組
table ends
code segment
start:
;data資料 放在ds
mov ax,data
mov ds,ax
;table資料 放在 es
mov ax,table
mov es,ax
;三個暫存器初始化
mov bx,0
;data中資料定位(和idata結合,用於年份和收入)
mov si,0
;table中定位(和idata給合用於定位存放資料的相對位置)
mov di,0
;data中用於得到員工數
;cx迴圈次數
mov cx,21
;迴圈內容s:;
年;將年從data 到 table 分為高16位和低16位
mov ax,[bx]
moves:[si],ax
mov ax,[bx+2]
moves:[si+2],ax;空格
;table 增加空格
mov byte ptr es:[si+4],20h;收入
;將收入從data 到 table 分為高16位和低16位
mov ax,[bx+84]
moves:[si+5],ax
mov ax,[bx+86]
moves:[si+7],ax;空格
;table 增加空格
mov byte ptr es:[si+ 9],20h
;雇員數
;將雇員數從data 到 table
mov ax,[di + 168]
moves:[si + 10],ax;空格
;table 增加空格
mov byte ptr es:[si+12],20h
;計算工資
;取ds處工資,32位
mov ax,[bx + 84]
mov dx,[bx + 86]
;計算人均收入
div word ptr ds:[di + 168]
;將結果存入table處
moves:[si+13],ax;空格
;table 增加空格
mov byte ptr es:[si + 0fh],20h
;改變三個暫存器值
add si,16
add di,2
add bx,4
loop s
mov ax,4ch
int 21h
code ends
end start
**:
組合語言(王爽)實驗七
power idea公司從1975年到1995年的基本情況如下 年份收入 千美元 雇員人均收入 千美元 1975163 1976227 1977 3829 1978 135613?1979 239028?1980 800038?1995 5937000 17800 程式中已經定義好了這些資料,程式設...
王爽 組合語言 實驗10 1
assume cs code,ds data data segment db welcome to masm 0 data ends code segment start mov dh,8 行號 mov dl,3 列號 mov cl,2 顏色 mov ax,data mov ds,ax mov si...
王爽 組合語言 實驗7
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...