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 崗位設定及能力要求 詳細要求...