使用8086組合語言在記憶體中做一張公司記錄表。
彙編執行,顯示記憶體的結果為:
;以上是表示21年年數的21個字串
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
;以上是表示21年公司每年總收入的21個dword型資料
dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
dw 11542,14430,45257,17800
;以上是表示21年公司每年雇員人數的21個word型資料
data ends
table segment
db 21 dup ('year summ ne ?? ')
table ends
stack segment
dw 0,0,0,0,0,0,0,0 ;dw 8 dup (0)
codesg segment
start: mov ax,data
mov ds,ax
mov ax,table
mov es,ax
mov ax,stack
mov ss,ax
mov sp,16
mov bx,0 ;year位置記錄
mov si,0 ;ne雇員數字置記錄
mov di,0 ;table行計數
mov cx,21
s: mov ax,ds:[bx] ;year錄入
mov es:[di],ax
mov ax,ds:[bx+2]
mov es:[di+2],ax
mov ax,ds:[bx+84] ;summ錄入
mov es:[di+5],ax
mov dx,ds:[bx+84+2]
mov es:[di+7],dx
push cx ;暫存
mov cx,ds:[168+si] ;ne雇員數錄入
mov es:[di+10],cx
div cx ;計算人均收入
mov es:[di+13],ax ;錄入人均收入
add bx,4 ;全部轉入下一行資料
add si,2
add di,16
pop cx ;恢復迴圈計數
loop s
mov ax,4c00h ;返回程式
int 21h
codesg ends
end start
8086彙編 記憶體互動
計算機資料可以被儲存在記憶體與磁碟中,對於計算機來說他們不同的資料有著不同的含義,他們可以被分為指令與資料,而這些儲存在計算機的資料都會有著固定的大小,根據計算機的儲存單元來決定。資料量 b kb mb gb tb.儲存單元 計算機對於資料都是採取二進位制的方式儲存,而對於cpu管理,資料主要以十六...
C 引用 記憶體單元的別名
1 引用是記憶體單元的別名 例如 int b a 給a取乙個別名為b,但不能寫成 b a 引用一定是和型別結合使用的。2 雖然引用是別名,但是c 在底層是以指標的方式來支援引用的特性的,在所有使用到引用變數的地方,系統都會自帶解引用過程。在下面的 中分別用了引用和指標,我們檢視一下反彙編,我們發現兩...
C語言 char型別與記憶體單元理解
特點一 c c裡面整個程式執行中型別不可變 強轉不是轉型別,而是數值的轉換 python指令碼語言,型別可變 隨著資料變化而變化型別 特點二 所有函式和變數都是先定義,再使用,不能邊定義邊使用 question2 c cpp檔案是原始檔 文字檔案 c cpp 預編譯 文字 文字,預編譯只處理標頭檔案...