匯程式設計序小例項

2022-11-18 11:00:02 字數 1650 閱讀 7045

mov ah, 01h系統呼叫輸入乙個字元用於功能選擇

int 21h字元預設輸入到al中

endm

;巨集定義字元輸出

charout macro outchar巨集定義將字元outchar輸出

push ax

push dx

mov dl, outchar

mov ah, 02h系統呼叫輸出字元outchar

int 21h呼叫系統中斷呼叫過程中會改變al中的值,故將ax中的值入棧儲存

pop dx

pop ax

endm

;巨集定義字串輸出

strout macro stringout將字串stringout輸出

lea dx, stringout ;將strin的偏移位址送到dx暫存器

mov ah, 909h字串輸出功能

int 21h呼叫系統中斷

endm

;過程定義定義過程求cx的階乘,結果存放在ax中

get_n proc near

mov ax, 1ax存放求階結果賦初值為1

mov dx, 0dx初值為0

cmp cx, 0判斷是否為求0的階乘

mov bx, 1

je get_nnext是則直接完成求階過程

get_n_circle迴圈求階

mul bx

inc bx

loop get_n_circle

get_nnext:

retget_n endp

;過程定義以十進位制形式輸出存放在ax中的求階結果

outax proc

mov bx, 10

mov cx, 0

outax_circle:

cmp ax, 0判斷ax中的值是否為0

je outax_next是則跳轉

div bx不是則進行除10運算商儲存在ax中餘數儲存在dx中

push dx將對10取到的餘數入棧儲存

mov dx, 0將dx中的餘數清空以便下一步對ax中的數進行除10運算

inc cx計數迴圈取得的餘數個數

jmp outax_circle

outax_next迴圈輸出取得的餘數

pop ax

add al, 30h將數值賺換位對應字元

charout al

loop outax_next

retoutax endp

start:

mov ax, datas將資料段位址送到ax中

mov ds, ax由ax轉送到送到ds

strout str1字串輸出巨集呼叫輸出字串str61

charin輸入求階乘的數到al中

sub al, 30h將輸入的字元轉化為對應的數值

mov cl, al求階乘的數轉至cx中

mov ch, 0

strout str2字串輸出巨集呼叫輸出字串str62

call get_n求取階乘到ax中

call outax將ax中的數以10進製形式輸出

mov ah, 4ch呼叫系統結束

int 21h

codes ends

end start

微機原理 匯程式設計序

微機原理 1陣列straing中存放著多個8位有符號數,以 結束,要求分成正陣列和負陣列分別存放,並統計兩個陣列的個數,分別存於正 負陣列的第乙個位元組 data segment dat1 db 12h,0f3h,38h,32h,0e6h,67h,0d9h,buf1 db 10 dup 00h bu...

實驗匯程式設計序除錯和簡單介面程式設計

實驗報告 課程名稱微機介面與組合語言 實驗專案實驗一 匯程式設計序除錯和簡單介面程式設計 實驗儀器 tpc usb通用微機介面實驗系統 系別 計算機學院 專業網路工程 班級 學號 網工1班 2011011303 學生姓名 靳曉穎 實驗日期 2013 11 19 成績指導教師 王欣 一 實驗目的 1....

崗位職責及許可權匯程式設計序

1.0 目的 明確公司各部門和崗位的設定,並規定各部門和崗位的職責和許可權。2.0 適用範圍 適用於公司所有崗位的管理。4.0 職責與許可權 4.1總經理負責建立與質量管理體系相適應的組織結構,明確其職責 許可權及相互關係,任免部門經理或負責人。5.0 程式內容 5.3 崗位設定及能力要求 詳細要求...