;學習彙編的乙個比較綜合性的程式,將data段中的資料複製到table段中。並計算平均工資。
;程式如下:
assume cs:code,ds:data,es:table,ss:stack
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984'
db '1985','1986','1987','1988','1989','1990','1991','1992','1993','1994'
db '1995'
;以上是表示21年的21個字串,共84位元組,0-83
dd 16,22,382,1356,2390,8000,16000,25586,50065,97479,140417,197514
dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
;以上是表示21年的總收入,共84個位元組,84-167
dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
dw 11542,14430,15257,17800
;以上是21年公司的雇員數,共42個位元組,168-210
data ends
table segment
db 21 dup('year sumn ne ?? ')
table ends
stack segment
dw 8 dup(0)
stack ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,table
mov es,ax
mov ax,stack
mov ss,ax
mov sp,16 ;上面**實現各段與具體暫存器的關聯
;----------------------------------
mov si,0 ;相關暫存器清零操作
mov bx,0
mov di,0
mov cx,21 ;設定迴圈次數
year:
push cx ;保護迴圈計數,貌似這裡用不上
mov ax,word ptr ds:[si]
mov word ptr es:[bx + 0],ax
add si,2
mov ax,word ptr ds:[si]
mov word ptr es:[bx + 2],ax
add si,2
add bx,16
pop cx
loop year
;-----------------------------------以上**實現把年複製到table記憶體中
mov bx,0 ;相關暫存器清零操作
mov di,0
mov cx,21
sume:
push cx
mov ax,word ptr ds:[si]
mov word ptr es:[bx + 5],ax
add si,2
mov ax,word ptr ds:[si]
mov word ptr es:[bx + 7],ax
add si,2
add bx,16
pop cx
loop sume
;----------------------------------以上**實現把總收入複製到table記憶體中
mov bx,0 ;相關暫存器清零操作
mov cx,21
ne0:
push cx
mov ax,word ptr ds:[si]
mov word ptr es:[bx + 10],ax
add si,2
add bx,16
pop cx
loop ne0
;----------------------------------以上**實現把年度總人數複製到table記憶體中
mov bx,0
mov cx,21
con:
push cx
mov dx,word ptr es:[bx + 7]
mov ax,word ptr es:[bx + 5]
div word ptr es:[bx + 10]
mov word ptr es:[bx + 13],ax
add bx,16
pop cx
loop con
;-----------------------------------以上**實現求商指令
mov ax,4c00h
int 21h
code ends
end start
資料型別 記憶體與拷貝
靜態儲存 python是用c寫的,python裡的str也是用c寫的,但是c語言裡預設是沒有字串的,它使用的是字元陣列,這種陣列只要存在記憶體就固定占用一定記憶體,它是不可修改的。而使用replace 更改字串,實際上是又生成了另乙個新字串用作修改,初始的字串是不變的,它依然存放於記憶體裡。動態儲存...
組合語言學習筆記(7) 更靈活地定位記憶體
1 and指令 邏輯與指令,按位進行與運算,例如 mov al,01100011b and al,00111011b計算後的al結果為 00100011b 計算過程 0 1 1 0 0 0 1 1 b 0 0 1 1 1 0 1 1 b 0 0 1 0 0 0 1 1 b可以看出,邏輯與運算兩個二進...
資料分析與挖掘學習歷程3
先做描述性統計,分析離群點 如果資料服從正態分佈,則距離平均值3之外的值出現概率為p 0.003,為極小概率事件 異常值通常被定義為ql 1.5iqr或大於qu 1.5iqr的值 ql稱為下四分位數,表示全部觀察值中有四分之一資料比他小 qu稱為上四分位數,表示全部觀察值中有四分之一資料比他大 iq...