組合語言作業(六)

2021-09-20 09:04:09 字數 1846 閱讀 9339

班級:計算機14-1姓名:許愷

學號:2014011329日期:2016.4.24

一、編寫程式

1.從鍵盤輸入乙個長度不超過50的字串,然後將該字串原樣輸出。

要求:用a號功能呼叫輸入,用9號功能呼叫輸出。

(1)程式清單:

data segment

str db 50,50 dup(?)

data ends

code segment

assume cs:code,ds:data

main proc far

start:

mov ax,data

mov ds,ax

lea dx,str

mov ah,0ah

int 21h

lea dx,str+2

mov ah,09h

int 21hmasm

mov dl,'$'

mov ah,02h

int 21h

mov ah,4ch

int 21h

main endp

code ends

end start

(2)執行結果(截圖):

2.資料段中存放著乙個字陣列,其元素均為無符號整數,求出最大值並將其以十進位制形式顯示到螢幕上。

要求:用lodsw對字陣列進行訪問。

(1)程式清單:

data segment

str dw 12h,13h,34h,02h,65h,12h,11h,23h,10h,19h

data ends

code segment

assume cs:code,ds:data

main proc far

start:

mov ax,data

mov ds,ax

mov bx,0

mov cx,9

mov dx,str

l2:cmp dx,str[bx+2]

ja l1

mov dx,str[bx+2]

l1:add bx,2

loop l2

mov ax,dx

mov cx,0

mov bl,10

l4:div bl

mov dl,ah

push dx

mov ah,0

inc cx

cmp al,0

jbe l3

jmp l4

l3:pop dx

add dl,30h

mov ah,02h

int 21h

loop l3

mov ah,4ch

int 21h

main endp

code ends

end start

(2)執行結果(截圖):

二、程式設計體會

相比上次的程式設計感覺簡單了一點,對於陣列和迴圈條件的使用又熟練了一些,還需加強的是位元組類和字類的陣列的了解和使用,以及他的原理,還有堆疊的使用。

組合語言作業(五)

班級 計算機14 1姓名 許愷 學號 2014011329日期 2016.4.22 一 編寫程式 1.設有字陣列x y和z,各有10個元素,計算 z0 x0 y0 z1 x1 y1 z2 x2 y2 z3 x3 y3 z4 x4 y4 z5 x5 y5 z6 x6 y6 z7 x7 y7 z8 x8...

組合語言作業(七)

班級 計算機14 1姓名 許愷 學號 2014011329日期 2016.4.29 一 編寫程式 1.從鍵盤輸入乙個不超過8的個位數,計算該數的階乘,並以十進位制制式輸出。要求 1 輸入資料在主程式中實現 2 計算階乘的功能用子程式實現,子程式的名字為 fac 3 以十進位制形式輸出結果的功能用子程...

組合語言作業(五)

班級 計算機14 1姓名 許愷 學號 2014011329日期 2016.4.22 一 編寫程式 1.設有字陣列x y和z,各有10個元素,計算 z0 x0 y0 z1 x1 y1 z2 x2 y2 z3 x3 y3 z4 x4 y4 z5 x5 y5 z6 x6 y6 z7 x7 y7 z8 x8...