東北大學秦皇島分校彙編實驗報告

2021-03-04 05:37:21 字數 3658 閱讀 4953

組合語言

實驗報告

東北大學秦皇島分校

計算機與通訊工程學院

【實驗編號】 6

【實驗名稱】 實踐課程中的程式

【實驗目的】

加強對彙編程式設計的掌握,熟練不同的定址方法

【實驗內容】

程式設計,完成問題7.9中的程式

assume cs:codesg,ss:stacksg,ds:datasg

stacksg segment

dw 0,0,0,0,0,0,0,0

stacksg ends

datasg segment

db '1. display '

db '2. brows '

db '3. replace '

db '4. modify '

datasg ends

codesg segment

start:

mov ax,stacksg

mov ss,ax

mov sp,16

mov ax,datasg

mov ds,ax

mov bx,3

mov cx,4

s0:push cx

mov si,0

mov cx,4

s:mov al,[bx+si]

and al,11011111b

mov [bx+si],al

inc si

loop s

add bx,16

pop cx

loop s0

mov ax,4c00h

int 21h

codesg ends

end start

【實驗編號】 7

【實驗名稱】 定址方式在結構化資料訪問中的應用

【實驗目的】

加強對彙編程式設計的掌握,熟練不同的定址方法

【實驗內容】

程式設計,將data段中的資料按如下格式寫入到table段中,並計算21年中的人均收入(取整),結果也按照下面的格式儲存在table段中。

assume cs:code,ds:data,ss: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'

dd 16,22,382,1356,2390,8000,16000,24486,500665,97479,140417,197514

dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000

dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226

dw 11542,14430,15257,17800

data ends

table segment

db 21 dup ('year summ ne ?? ')

table ends

code segment

start:

mov ax,data

mov ds,ax

mov ax,table

mov ss,ax

mov bx,0

mov bp,0

mov si,0

mov cx,21

s:mov ax,[bx]

mov [bp],ax

mov ax,[bx+2]

mov [bp+2],ax

mov ax,[bx+84]

mov [bp+5],ax

mov dx,[bx+86]

mov [bp+7],dx

div word ptr [si+168]

mov [bp+13],ax

mov ax,[si+168]

mov [bp+10],ax

add si,2

add bx,4

add bp,16

loop s

mov ax,4c00h

int 21h

code ends

end start

【實驗編號】 8

【實驗名稱】 分析乙個奇怪的程式

【實驗目的】

加強對彙編程式設計的掌握,熟練不同的定址方法

【實驗內容】

分析下面的程式,在執行前思考:這個程式可以正確返回嗎?

執行後再思考:為什麼是這種結果?

assume cs:codesg

codesg segment

mov ax,4c00h

int 21h

start:

mov ax,0

s:nop

nopmov di,offset s

mov si,offset s2

mov ax,cs:[si]

mov cs:[di],ax

s0:jmp short s

s1:mov ax,0

int 21h

mov ax,0

s2:jmp short s1

nopcodesg ends

end start

程式能正常執行完畢,因為在start後的第7,8行將s2處的**寫入了s處的兩個空位元組單元,而內容為ebf0,意思是從將當前ip的值賦成(ip)-f0(八位位移,補碼形式),賦值後ip指向了mov ax,4c00h,接著就結束程式了

【實驗編號】 9

【實驗名稱】 根據材料程式設計

【實驗目的】

熟悉視訊記憶體輸入字元的相關方法

【實驗內容】

程式設計:在螢幕中間分別顯示綠色、綠底紅色、白底藍色的字串』wel***e to ma**!』

assume cs:code,ds:data

data segment

db 'wel***e to ma**!'

data ends

code segment

start:

mov ax,data

mov ds,ax

mov ax,0b800h

mov es,ax

mov bx,0

mov si,0

mov di,12*160+32*2

mov cx,16

s:mov al,[bx]

mov ah,00000010b

mov es:[si+di],ax

mov ah,00100100b

mov es:[si+di+0a0h],ax

mov ah,01110001b

mov es:[si+di+140h],ax

inc bx

add si,2

loop s

mov ax,4c00h

int 21h

code ends

end start

【實驗編號】 10

【實驗名稱】 編寫子程式

【實驗目的】

熟悉call和ret的聯合應用

【實驗內容】

東北大學秦皇島分校編譯原理實驗報告

編譯原理 實驗報告 東北大學秦皇島分校 實驗1詞法分析程式的設計與實現 實驗目的和要求 設計 編制 除錯乙個具體的詞法分析程式,加深對詞法分析原理的理解。實驗內容 通過對pl 0詞法分析程式 getsym 的分析,並在此基礎上按照附錄a中給出的pl 0語言的語法描述,編寫乙個pl 0語言的詞法分析程...

工企報告東北大學秦皇島分校

工業企業供電課程報告 供電電網的電能損耗及其降損技術的分析 學生姓名 班級學號 5102 任課教師 劉雲靜 提交日期 2012.11.成績一 研究背景 現狀和意義 一 研究背景 在上海世博會的大舞台上,光影幻動 流光溢彩的國家電網館,像乙個透明晶體 魔盒 向世人陳述的不僅是一家電力企業 創新,點亮夢...

東北大學軟體學院彙編實驗報告

附錄二 組合語言程式設計 實驗報告 軟體學院 一 實驗目的與意義 了解和掌握邏輯指令 比較指令 無條件 有條件轉移類指令的功能和作用,以及此類指令的使用方法。二 實驗環境 作業系統 windows7 除錯軟體名稱及版本號 microsoft visual studio2008 三 實驗的預習內容 預...