組合語言實驗課 第六次記錄

2021-10-25 05:56:48 字數 1826 閱讀 2262

輸入十個數字再輸出

datas segment

a0 dw 12 dup(?)

datas ends

stacks segment

;此處輸入堆疊段**

stacks ends

codes segment

assume cs:codes,ds:datas,ss:stacks

start:

mov ax,datas

mov ds,ax

;初始化

mov si,offset a0

mov bl,0

;比較10和bl相等跳到l2,否則呼叫input函式,把輸入的數存到a0中

l3:

cmp bl,10

je l2

call input

mov [si],cx

add bl,1

add si,2

jmp l3

;初始化

l2: mov si,offset a0

mov bl,0

;比較bl和10相等跳到l1結束,否則就呼叫output函式輸出資料

l0: cmp bl,10

je l1

mov ax,[si]

call output

add bl,1

mov dl,' '

mov ah,2

int 21h

add si,2

jmp l0

l1:mov ah,4ch

int 21h

input proc ;cx為出口引數

push ax

push bx

push dx

;初始化

mov bl,10

mov cx,0

;輸入數字

input2:

mov ah,1

int 21h

cmp al,'0'

jb input1

cmp al,'9'

ja input1

sub al,48

mov dl,al

mov al,cl

mul bl

add al,dl

mov cx,ax

jmp input2

input1:

pop dx

pop bx

pop ax

retinput endp

output proc ;ax為入口引數

push ax

push bx

push cx

push dx

;初始化

mov cl,10

mov bl,0

;輸出數字

output2:

cmp al,0

je output1

div cl

push ax

add bl,1

mov ah,0

jmp output2

output1:

cmp bl,0

je output3

pop cx

sub bl,1

mov dl,ch

add dl,48

mov ah,2

int 21h

jmp output1

output3:

pop dx

pop cx

pop bx

pop ax

retoutput endp

codes ends

end start

成功的交上了作業

第六次實驗

一.問題給 檔名稱 第6次上機實驗 作 者 梁一意 完成日期 2017 年 5 月 5 日 版 本 號 v1.0 對任務及求解方法的描述部分 輸入描述 輸入的s為 we are the world 輸入的字元c為 w 問題描述 從字串s 從鍵盤輸入 中刪除所有的字元c 從鍵盤輸入 刪除 要求使用字元...

第六次實驗

part1 結構體型別及程式設計應用 1 補足程式ex1 2.cpp include const int n 5 定義結構體型別struct student,並定義stu為其別名 typedef struct student stu 函式宣告 void input stu s,int n int f...

第六次上機實驗

檔名稱 專案1 陣列操作 作 者 賴詩文 完成日期 2016 年 5 月 19 日 版 本 號 v1.0 對任務及求解方法的描述部分 輸入描述 要插入的數和要刪除的數 問題描述 從鍵盤中輸入乙個數x,刪除a陣列中值為x的陣列元素,從鍵盤中輸入乙個數x,將x插入到a陣列後陣列a依然有序 程式輸出 經過...