版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、攀枝花學(xué)院學(xué)生課程設(shè)計(jì)(論文)題 目: 計(jì)算平臺長度程序 加減乘除四則運(yùn)算 學(xué)生姓名: 學(xué) 號: 所在院(系): 計(jì)算機(jī) 專 業(yè): 軟件工程 班 級: 指 導(dǎo) 教 師: 職稱: 2010年12月30日攀枝花學(xué)院教務(wù)處制攀枝花學(xué)院本科學(xué)生課程設(shè)計(jì)任務(wù)書題目算術(shù)運(yùn)算程序1、課程設(shè)計(jì)的目的通過本課程設(shè)計(jì)教學(xué)所要達(dá)到的目的是:1、培養(yǎng)學(xué)生理論聯(lián)系實(shí)際的設(shè)計(jì)思想,提高學(xué)生綜合運(yùn)用匯編語言課程的理論知分析問題、解決問題的能力。2、通過查找、運(yùn)用設(shè)計(jì)資料,完成工程設(shè)計(jì)所必備的基本訓(xùn)練。3、使同學(xué)們更深入的了解計(jì)算機(jī)系統(tǒng)內(nèi)部的有關(guān)知識,為以后的學(xué)習(xí)和系統(tǒng)開發(fā)奠定良好的基礎(chǔ)。2、課程設(shè)計(jì)的內(nèi)容和要求(包括原始數(shù)
2、據(jù)、技術(shù)要求、工作要求等)1. 判斷閏年程序設(shè)計(jì)內(nèi)容:判斷某年是否為閏年。要求:年份從鍵盤輸入,通過運(yùn)行計(jì)算后,輸出相應(yīng)信息。設(shè)計(jì)思路:利用dos21h中斷類型的10號鍵盤功能調(diào)用,將從鍵盤接收的年份數(shù)值型字符串按字節(jié)存入緩沖區(qū)。,將字符串中的每個(gè)字節(jié)轉(zhuǎn)換為對應(yīng)的十進(jìn)制數(shù)值(利用09這10個(gè)數(shù)的ascii碼值比其本身大30h的關(guān)系),通過判斷某年是否為閏年的表達(dá)式,判斷輸出是否為閏年的信息。2產(chǎn)生隨機(jī)數(shù)并運(yùn)算的程序設(shè)計(jì)內(nèi)容:編程實(shí)現(xiàn)產(chǎn)生兩個(gè)隨機(jī)數(shù),并能對產(chǎn)生的隨機(jī)數(shù)進(jìn)行加法和減法運(yùn)算。設(shè)計(jì)思路:利用bios功能調(diào)用的時(shí)鐘中斷調(diào)用(1ah中調(diào)用),讀取時(shí)鐘計(jì)數(shù)器的值,利用隨時(shí)變化的時(shí)間計(jì)數(shù)產(chǎn)生隨
3、機(jī)數(shù)并進(jìn)行加法或減法的運(yùn)算。然后將產(chǎn)生的隨機(jī)數(shù)和運(yùn)算結(jié)果轉(zhuǎn)換為相應(yīng)的十六進(jìn)制數(shù)表示的ascii碼字符,并將其顯示在屏幕上。3計(jì)算平臺長度程序設(shè)計(jì)內(nèi)容:已知一個(gè)有序數(shù)組a ,其中有n個(gè)元素(n為整數(shù)),a中相同的元素全部集中在一起,形成一個(gè)個(gè)“平臺”。用匯編語言編程,求出a中最大平臺的長度。要求:程序運(yùn)行時(shí)將提示輸入設(shè)計(jì)思路:定義6個(gè)變量a、b、a0、b0、a1、b1,其中a、b、a0、b0存放從鍵盤輸入的元素,a、b為中間變量,a0始終存放最大平臺的元素;a1、b1存放數(shù)組相同元素的個(gè)數(shù),a1中始終存放著最大平臺的長度。總的思路:用回車鍵來結(jié)束鍵盤的輸入。將從鍵盤輸入的第一個(gè)元素存入a、a0中
4、,給a1賦1,接收從鍵盤輸入的第二個(gè)元素,存入b中,判斷兩個(gè)元素是否相同,若相同,則a1加1,否則將第二個(gè)元素存于b0中,給b1賦1。接收從鍵盤輸入的第三個(gè)元素,與前一元素比較,若相同,則b1加1,否則,比較前兩次的數(shù)組元素長度a1和b1,若a1小于b1,則將b0的值賦給a0,b1的值賦給a1。再接收下一元素,重復(fù)上述過程,直到輸入回車符為止。4.加減乘除四則計(jì)算設(shè)計(jì)內(nèi)容:設(shè)計(jì)一個(gè)能實(shí)現(xiàn)加、減、乘、除、取余的程序。要求:該程序接受從鍵盤輸入的十六進(jìn)制數(shù),執(zhí)行相應(yīng)得計(jì)算后,計(jì)算結(jié)果以十六進(jìn)制數(shù)輸出。設(shè)計(jì)思路:將鍵盤輸入的表達(dá)式預(yù)存入一緩沖區(qū)中,然后從該緩沖區(qū)的第一個(gè)字符開始讀取判斷,當(dāng)讀取到一個(gè)
5、有效的表達(dá)式時(shí),對表達(dá)式進(jìn)行相應(yīng)的運(yùn)算后,輸出用十六進(jìn)制數(shù)表示的運(yùn)算結(jié)果;當(dāng)表達(dá)式無效時(shí),輸出表達(dá)式“error(錯(cuò)誤)”的信息或者是有效表達(dá)式“js”的提示信息。3、主要參考文獻(xiàn)1匯編語言程序設(shè)計(jì),吳向軍等,高等教育出版社,20022ibm-pc匯編語言及程序設(shè)計(jì)(第2版), 沈美明等,清華大學(xué)出版社,20013ibm-pc匯編語言及程序設(shè)計(jì)實(shí)驗(yàn)教程,沈美明等,清華大學(xué)出版社 ,20014匯編語言程序設(shè)計(jì), 錢曉捷等,電子工業(yè)出版社,20005匯編語言程序設(shè)計(jì), 張志明等,重慶大學(xué)出版社,19974、課程設(shè)計(jì)工作進(jìn)度計(jì)劃時(shí)間(天)內(nèi)容安排1分析設(shè)計(jì)準(zhǔn)備3編程調(diào)試階段1 編寫課程設(shè)計(jì)報(bào)告指導(dǎo)教
6、師(簽字)日期年 月 日教研室意見:年 月 日學(xué)生(簽字): 接受任務(wù)時(shí)間: 年 月 日課程設(shè)計(jì)(論文)指導(dǎo)教師成績評定表題目名稱計(jì)算平臺長度與加減乘除四則運(yùn)算評分項(xiàng)目分值得分評價(jià)內(nèi)涵工作表現(xiàn)20%01學(xué)習(xí)態(tài)度6遵守各項(xiàng)紀(jì)律,工作刻苦努力,具有良好的科學(xué)工作態(tài)度。02科學(xué)實(shí)踐、調(diào)研7通過實(shí)驗(yàn)、試驗(yàn)、查閱文獻(xiàn)、深入生產(chǎn)實(shí)踐等渠道獲取與課程設(shè)計(jì)有關(guān)的材料。03課題工作量7按期圓滿完成規(guī)定的任務(wù),工作量飽滿。能力水平35%04綜合運(yùn)用知識的能力10能運(yùn)用所學(xué)知識和技能去發(fā)現(xiàn)與解決實(shí)際問題,能正確處理實(shí)驗(yàn)數(shù)據(jù),能對課題進(jìn)行理論分析,得出有價(jià)值的結(jié)論。05應(yīng)用文獻(xiàn)的能力5能獨(dú)立查閱相關(guān)文獻(xiàn)和從事其他調(diào)研
7、;能提出并較好地論述課題的實(shí)施方案;有收集、加工各種信息及獲取新知識的能力。06設(shè)計(jì)(實(shí)驗(yàn))能力,方案的設(shè)計(jì)能力5能正確設(shè)計(jì)實(shí)驗(yàn)方案,獨(dú)立進(jìn)行裝置安裝、調(diào)試、操作等實(shí)驗(yàn)工作,數(shù)據(jù)正確、可靠;研究思路清晰、完整。07計(jì)算及計(jì)算機(jī)應(yīng)用能力5具有較強(qiáng)的數(shù)據(jù)運(yùn)算與處理能力;能運(yùn)用計(jì)算機(jī)進(jìn)行資料搜集、加工、處理和輔助設(shè)計(jì)等。08對計(jì)算或?qū)嶒?yàn)結(jié)果的分析能力(綜合分析能力、技術(shù)經(jīng)濟(jì)分析能力)10具有較強(qiáng)的數(shù)據(jù)收集、分析、處理、綜合的能力。成果質(zhì)量45%09插圖(或圖紙)質(zhì)量、篇幅、設(shè)計(jì)(論文)規(guī)范化程度5符合本專業(yè)相關(guān)規(guī)范或規(guī)定要求;規(guī)范化符合本文件第五條要求。10設(shè)計(jì)說明書(論文)質(zhì)量30綜述簡練完整,有
8、見解;立論正確,論述充分,結(jié)論嚴(yán)謹(jǐn)合理;實(shí)驗(yàn)正確,分析處理科學(xué)。11創(chuàng)新10對前人工作有改進(jìn)或突破,或有獨(dú)特見解。成績指導(dǎo)教師評語指導(dǎo)教師簽名: 年月日摘 要通過本學(xué)期學(xué)習(xí)匯編語言,掌握一定的變程技能,匯編語言也是計(jì)算機(jī)應(yīng)用中重要的語言之一。本課程設(shè)計(jì)編寫計(jì)算平臺長度程序和加減法四則運(yùn)算兩個(gè)程序。程序一功能完成輸入數(shù)字計(jì)算其最大平臺長度,并且輸出計(jì)算結(jié)果。程序二功能從鍵盤接收輸入數(shù)字完成加減乘除取余的四則運(yùn)算。將課本上的子程序調(diào)用和宏定義等有關(guān)知識和實(shí)際應(yīng)用有機(jī)的結(jié)合起來,提高分析和解決實(shí)際問題的能力;通過對通訊錄匯編語言程序代碼的閱讀、修改、設(shè)計(jì),理解和掌握復(fù)雜的匯編語言應(yīng)用程序的編程,從而
9、提高自身實(shí)踐編程能力。關(guān)鍵詞:匯編語言程序 dos功能調(diào)用 debug調(diào)試1課程設(shè)計(jì)題目描述和要求 1.1.1計(jì)算平臺長度程序設(shè)計(jì)內(nèi)容:已知一個(gè)有序數(shù)組a ,其中有n個(gè)元素(n為整數(shù)),a中相同的元素全部集中在一起,形成一個(gè)個(gè)“平臺”。用匯編語言編程,求出a中最大平臺的長度。要求:程序運(yùn)行時(shí)將提示輸入。1.1.2.加減乘除四則計(jì)算設(shè)計(jì)內(nèi)容:設(shè)計(jì)一個(gè)能實(shí)現(xiàn)加、減、乘、除、取余的程序。要求:該程序接受從鍵盤輸入的十六進(jìn)制數(shù),執(zhí)行相應(yīng)得計(jì)算后,計(jì)算結(jié)果以十六進(jìn)制數(shù)輸出1.2 問題提出及功能要求計(jì)算平臺長度:如何判斷數(shù)據(jù)有效性?如何接收輸入數(shù)據(jù)的?怎樣比較數(shù)據(jù)平臺長度?是否需要中間變量?輸入輸出數(shù)據(jù)存
10、儲問題等。加減乘除四則計(jì)算:怎樣解決數(shù)據(jù)有效性問題?如何數(shù)據(jù)接收存儲問題?計(jì)算結(jié)果表達(dá)及輸入時(shí)式子表達(dá)方式等問題功能要求:對計(jì)算平臺長度的程序,要求程序開頭提示輸入有效數(shù)組a,輸入后即運(yùn)算a中最大平臺長度。對四則運(yùn)算程序,要求從鍵盤輸入計(jì)算式子后執(zhí)行相應(yīng)的計(jì)算,然后將計(jì)算結(jié)果輸送到屏幕顯示,當(dāng)式子輸入有誤時(shí)提示“error”。1.3 運(yùn)行環(huán)境由于本課程主要是學(xué)習(xí)16位匯編編程,通過masm5.0編譯的程序,在系統(tǒng)為32位xp、dos,或64位win7環(huán)境下無法運(yùn)行,虛擬機(jī)安裝32位xp。環(huán)境下進(jìn)行編譯,和運(yùn)行masm5.0編譯環(huán)境,和編譯完成的程序。1.4 本課題涉及的知識點(diǎn)寄存器的使用通用寄
11、存器、段寄存器、專用寄存器;掌握16/32位微機(jī)內(nèi)存管理模式。各種尋址方式立即數(shù)尋址方式、寄存器尋址方式、直接尋址方式等荀子方式。標(biāo)識符和表達(dá)式標(biāo)識符、簡單內(nèi)存變量定義、調(diào)整偏移量偽指令、表達(dá)式等。微機(jī)cpu指令系統(tǒng)匯編指令格式、指令系統(tǒng)等。程序基本結(jié)構(gòu)源程序的基本組成、程序基本結(jié)構(gòu)、段的基本屬性等。輸入與輸出和中斷,條件轉(zhuǎn)移指令,指令的匯編格式及功能等。2算法設(shè)計(jì)2.1計(jì)算平臺長度程序:設(shè)計(jì)思路:定義6個(gè)變量a、b、a0、b0、a1、b1,其中a、b、a0、b0存放從鍵盤輸入的元素,a、b為中間變量,a0始終存放最大平臺的元素;a1、b1存放數(shù)組相同元素的個(gè)數(shù),a1中始終存放著最大平臺的長度
12、。總的思路:用回車鍵來結(jié)束鍵盤的輸入。將從鍵盤輸入的第一個(gè)元素存入a、a0中,給a1賦1,接收從鍵盤輸入的第二個(gè)元素,存入b中,判斷兩個(gè)元素是否相同,若相同,則a1加1,否則將第二個(gè)元素存于b與前一元素比較,若相同,則b1加1,否0中,給b1賦1。接收從鍵盤輸入的第三個(gè)元素,則,比較前兩次的數(shù)組元素長度a1和b1,若a1小于b1,則將b0的值賦給a0,b1的值賦給a1。再接收下一元素,重復(fù)上述過程,直到輸入回車符為止。22 程序流程圖如下:開始顯示提示信息回車換行a 鍵盤輸入元元素是回車符?輸入最大平臺長度a1 輸入最大平臺元素a0 結(jié)束a a1 a0 a1 a1 1a 鍵盤輸入元素是否回車符
13、?號b a1b1 a1a與b是否相同b0 a1b1 a1a1 鍵盤輸入元素與前一個(gè)b0相同? b 1a1?b1 b1+1a a+1a0 b0 a1 b1 b a1b 1 b a1b a1 a 中是回車否?圖:1-13.代碼設(shè)計(jì)data segmentobf db * welcome you !*,0dh,0ah db input data:,$a0 db ?a1 db ?b0 db ?b1 db ?a db ?b db ?data endsstack segment stack db 200 dup(0) stack endscode segment assume cs:code, ds:da
14、ta,ss:stackmain:mov ax, data mov ds, ax mov ah, 9;顯示提示信息 lea dx, obf int 21h inc dx mov dl, 13;回車換行 mov ah, 2 int 21h mov dl,10 int 21h mov ah,1;接收鍵盤輸入,;若為回車鍵,則轉(zhuǎn)移到lab1 int 21h;否則將字符輸入a中 cmp al, 13 jz lab1 mov a0, al mov a, al mov a1, 1x1: mov ah, 1;接收鍵盤輸入,若為回車鍵,則轉(zhuǎn)移到lab1 int 21h;否則將字符與前一字符比較 cmp al,
15、13;若不同,則將其存入b0.b1中若相同 jz lab1;a1累加1 mov b, al mov bl, b cmp bl, a jnz x2 add a1, 1 jmp x1x2: mov b0, bl mov b1, 1x3: mov ah, 1 ;接收鍵盤輸入,若為回車鍵,則轉(zhuǎn)移到lab1輸出a1 int 21h;a0,再將其前一個(gè)字符相比較;若不相同,則轉(zhuǎn)移到x4 mov a, al;若相同則b1累加 cmp bl,a jnz x4 add b1,1 jmp x3x4: mov cl, b1 cmp cl, a1;比較a1與b1,若b1大;則把b1送入a1,b0送入a0 jb y1;
16、否則轉(zhuǎn)移到y(tǒng)1 mov cl, b0 mov a0, cl mov cl, b1 mov a1,cl y1: cmp al, 13;若輸入為回車符;則轉(zhuǎn)移到lab1,否則返回x3,繼續(xù) jz lab1 mov b0, al mov b1, 1 mov b, al mov bl, b jmp x3lab1: mov ah, 2;輸入a1.a0,返回dos程序 mov dl,13 int 21h mov dl,10 int 21h cmp a1,10 jb z1 mov ah,0 mov al, a1 mov bl, 10 div bl add ax, 3030h mov bx, ax mov a
17、h, 2 mov dl, bl int 21h mov dl, bh int 21h jmp z2z1: add a1, 30h mov dl, a1 int 21h sub a1,30hz2: mov ah,2 mov dl, 13 int 21h mov dl, 10 int 21h mov cx, 0 mov cl, a1 mov ah, 2m: mov dl,a0 int 21h loop m mov ah, 4ch int 21hcode ends end main調(diào)試與運(yùn)行: 步驟:源代碼的編寫、匯編出現(xiàn)錯(cuò)誤 圖1-2打開lst文件debu調(diào)試圖1-3調(diào)試成功后 圖1-4運(yùn)行程序后
18、,屏幕上出現(xiàn)* welcome you !* input data:此時(shí)輸入數(shù)據(jù)111122333,結(jié)果為: 4 1111圖1-5出現(xiàn)的問題:如果輸入的數(shù)字平臺長度都一樣,像111122223333。程序?qū)⒅伙@示最后一個(gè)一個(gè)平臺長度 圖1-6結(jié)果分析:數(shù)組a ,其中有n個(gè)元素,a中相同的元素全部集中在一起,形成一個(gè)個(gè)“平臺”。匯編語言編程求出a中最大平臺的長度,并輸出。二、加減乘除四則運(yùn)算:設(shè)計(jì)內(nèi)容:設(shè)計(jì)一個(gè)能實(shí)現(xiàn)加、減、乘、除、取余的程序。該程序接受從鍵盤輸入的十六進(jìn)制數(shù),執(zhí)行相應(yīng)得計(jì)算后,計(jì)算結(jié)果以十六進(jìn)制數(shù)輸出。設(shè)計(jì)思路:將鍵盤輸入的表達(dá)式預(yù)存入一緩沖區(qū)中,然后從該緩沖區(qū)的第一個(gè)字符開始
19、讀取判斷,當(dāng)讀取到一個(gè)有效的表達(dá)式時(shí),對表達(dá)式進(jìn)行相應(yīng)的運(yùn)算后,輸出用十六進(jìn)制數(shù)表示的運(yùn)算結(jié)果;當(dāng)表達(dá)式無效時(shí),輸出表達(dá)式“error(錯(cuò)誤)”的信息或者是有效表達(dá)式“js”的提示信息。程序流程圖如下開始從鍵盤接收字符表達(dá),放入內(nèi)存al 從內(nèi)存取第一個(gè)字符空格符/制表符?是否是回車符?符?call uviccall uvjgcall crlfcall szyscall xujgcall bcjg顯示提示信息mess3結(jié)束al 從內(nèi)存取第一字符顯示鍵入正確表達(dá)式提示信息messl輸出結(jié)果輸入回車換行符四則運(yùn)算數(shù)制處理預(yù)置結(jié)果保存結(jié)果 圖2-1b_p equ byte ptrw_p equ wor
20、d ptrd_p equ dword ptrcode segmentassume cs:code,ds:code org 100h;主程序開始newstar: jmp star evennum1 dw 0,0num2 dw 0,0num3 dw 0,0jgv4 dw 0,0ysf label wordysf1 db 0ysf2 db 0juv db 0uv db 0;使ds:si指向第一有效字符overs label near cld push axovers1: lodsb cmp al, jz overs1 cmp al,9 jz overs1 dec si cmp al,13 pop a
21、x ret;輸出一個(gè)制表符tab label near mov al,9 jmp short disp;輸出一個(gè)回車換行符crlf label near mov al,13 call disp mov al,10;顯示一個(gè)字符disp label near push ax push dx mov ah,2 mov dl,al int 21h pop dx pop ax ret;檢查是否為運(yùn)算符isysf label near cld lodsb call isjj jz isysf1 call isii jz isysf1 dec siisysf1: ret;檢查是否是加減運(yùn)算isjj lab
22、el near cmp al,+ jz isysf1 cmp al,- ret;檢查是否為乘除運(yùn)算isii label near cmp al,* jz isysf1 cmp al,/ jz isysf1 cmp al, ret;數(shù)據(jù)輸出;cx=10 十進(jìn)制;cx=16 十六進(jìn)制dout label near push ax push bx push dx push bp xor bp,bpdout1: inc bp push ax mov ax,dx xor dx,dx div cx mov bx,ax pop ax div cx push dx mov dx,bx or bx,ax jnz
23、 dout1dout2: pop ax add al,0 cmp al,9 jbe dout3 add al,a-9-1dout3: call disp dec bp jnz dout2 pop bp pop dx pop bx pop ax ret;輸入數(shù)據(jù)在dx:ax中返回;cx=0 數(shù)據(jù)為10進(jìn)制;cx#0 數(shù)據(jù)為16進(jìn)制date label near push bx push bp push di xor ax,ax xor dx,dxdate1: mov di,ax lodsb cmp al,0 jb date7 cmp al,9 ja date6date2: and ax,0fh
24、shl di,1 rcl dx,1 mov bx,di mov bp,dx shl di,1 rcl dx,1 shl di,1 rcl dx,1 jcxz date3 shl di,1 rcl dx,1 jmp short date4date3: add di,bx adc dx,bpdate4: add ax,di adc dx,0 jmp date1date5: add al,9 jmp date2date6: jcxz date7 cmp al,a jb date7 cmp al,f jbe date5 cmp al,a jb date7 cmp al,f jbe date5date7
25、: mov ax,di dec si or di,dx pop di pop bp pop bx ret;數(shù)據(jù)1與數(shù)據(jù)2根據(jù)ysf1進(jìn)行加減運(yùn)算jsjj label near mov ax,num2 mov dx,num2+2 cmp ysf1,+ jz jsjj1 sub num1,ax sbb num1+2,dx jmp short jsjj2jsjj1: add num1,ax adc num1+2,dxjsjj2: ret;數(shù)據(jù)1與數(shù)據(jù)2根據(jù)ysf1進(jìn)行乘除運(yùn)算jsii1 label near mov bx,offset num1 jmp short jsii2_1;數(shù)據(jù)2與數(shù)據(jù)3根據(jù)
26、ysf2進(jìn)行乘除運(yùn)算jsii2 label near mov bx,offset num2jsii2_1: db 66h mov ax,bx db 66h mov cx,bx+4 cmp ysf2,* jnz jsii2_2 db 66h imul cx jmp short jsii2_3jsii2_2: db 66h cwd db 66h idiv cx cmp ysf2,/ jz jsii2_3 db 66h xchg dx,axjsii2_3: db 66h mov bx,ax ret;顯示結(jié)果xujg label near mov ax,jgv4 mov dx,jgv4+2 mov c
27、x,10 cmp uv,10 jz xujg0 mov cx,16xujg0: test dx,8000h jz xujg1 cmp uv,10 jz xujg2 call doutxujg2: not ax not dx add ax,1 adc dx,0 push ax cmp uv,10 jz xujg3 mov al, call disp mov al,( call dispxujg3: mov al,- call disp pop ax cmp uv,10 jz xujg1 call dout mov al,) call disp retxujg1: call dout ret;計(jì)算
28、結(jié)果放入dx:ax中jsjg label near call jsjj mov ax,num1 mov dx,num1+2 ret;從ds:si處取一個(gè)數(shù)據(jù)loadate label near lodsb cmp al,( jz loadate1 dec si push cx xor cx,cx cmp uv,10 jz loadate0 inc cx ;取16進(jìn)制數(shù)loadate0: call date ;取數(shù)據(jù)放入dx:ax中 pop cx retloadate1: push num1 ;保存數(shù)據(jù)1數(shù)據(jù)2及運(yùn)算符 push num1+2 push num2 push num2+2 push
29、 ysf inc juv mov jgv4,0 ;結(jié)果值清零 mov jgv4+2,0;進(jìn)行四則運(yùn)算szys label near call isysf ;首字符是運(yùn)算符? jz szys2 call loadate ;不是,取數(shù)并保存 mov num1,ax mov num1+2,dxszys1: xor ax,ax ;數(shù)據(jù)2清零 mov num2,ax mov num2+2,ax call isysf ;下個(gè)是運(yùn)算符? jz szys3 jnz szys6szys2: push ax mov ax,jgv4 ;將結(jié)果作為數(shù)據(jù)1 mov num1,ax mov ax,jgv4+2 mov n
30、um1+2,ax pop axszys3: mov ysf1,al mov ysf2,al call isjj ;是加減運(yùn)算轉(zhuǎn) jz szys4 call loadate ;取數(shù)據(jù)2 mov num2,ax mov num2+2,dx call jsii1 ;數(shù)據(jù)1與數(shù)據(jù)2根據(jù)ysf1進(jìn)行乘除運(yùn)算 jmp szys1 ; 結(jié)果保存在數(shù)據(jù)1中szys4: call loadate ;取數(shù)據(jù)2并保存 mov num2,ax mov num2+2,dxszys4_1: call isysf jnz szys6 call isjj ;運(yùn)算符2是加減運(yùn)算? jnz szys5 ;不是轉(zhuǎn) push ax
31、call jsjj ;數(shù)據(jù)1與數(shù)據(jù)2根據(jù)ysf1進(jìn)行加減運(yùn)算 pop ax ; 結(jié)果保存在數(shù)據(jù)1中 mov ysf1,al ;保存新的運(yùn)算符 jmp szys4szys5: mov ysf2,al ;保存運(yùn)算符2 call loadate ;取數(shù)據(jù)3 mov num3,ax mov num3+2,dx call jsii2 ;數(shù)據(jù)2與數(shù)據(jù)3根據(jù)ysf2進(jìn)行乘除運(yùn)算 jmp szys4_1 ;結(jié)果保存在數(shù)據(jù)2中szys6: mov cl,al cmp al,13 jnz szys9szys7: call jsjg cmp juv,0 jz szys8 dec juv pop ysf pop nu
32、m2+2 pop num2 pop num1+2 pop num1 retszys8: cmp cl,) jz szys10 mov jgv4,ax mov jgv4+2,dx jnz szys12szys9: cmp al,) jnz szys11 inc si jmp szys7szys10: mov num1,ax mov num1+2,dx jmp szys1szys11: stc retszys12: clc ret;數(shù)制處理uvil label near push siuvil1: lodsb cmp al, jz uvil2 cmp al,9 jz uvil2 cmp al,13 jz uvil4 jnz uvil1uvil2: mov bx,si call overs jz uvil3 lodsw call overs pop si jnz szys11 cmp ax,01 jnz szys11 push si mov uv,10uvil3: mov al,13 mov bx-1,aluvil4: pop si clc ret;預(yù)置結(jié)果yvjg label near mov ah,52h int 21h mov ax,es:bx-2 mov ds,ax mov ax,ds:0ch mov c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度數(shù)碼產(chǎn)品銷售承包經(jīng)營合同樣本3篇
- 二零二五年度房地產(chǎn)項(xiàng)目融資合同還款期付款臺賬3篇
- 二零二五年度光纜鋪設(shè)及維護(hù)合同2篇
- 2025年度汽車銷售代理固定總價(jià)合同3篇
- 二零二五年度房產(chǎn)贈與離婚協(xié)議雙項(xiàng)保障合同3篇
- 二零二五年度建議書審核、采納與實(shí)施效果評估服務(wù)協(xié)議3篇
- 美國課程設(shè)計(jì)先驅(qū)是
- 海南衛(wèi)生健康職業(yè)學(xué)院《醫(yī)用檢驗(yàn)儀器與體外診斷試劑》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025版頂名支付方式下的商業(yè)房產(chǎn)買賣合同3篇
- 二零二五年度城市綠化與生態(tài)保護(hù)合作協(xié)議2篇
- 血細(xì)胞分析報(bào)告規(guī)范化指南2020
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應(yīng)用實(shí)踐指導(dǎo)材料之7:“5領(lǐng)導(dǎo)作用-5.1領(lǐng)導(dǎo)作用和承諾”(雷澤佳編制-2025B0)
- 2024年快速消費(fèi)品物流配送合同6篇
- 廣東省茂名市2024屆高三上學(xué)期第一次綜合測試(一模)歷史 含解析
- 神經(jīng)重癥氣管切開患者氣道功能康復(fù)與管理學(xué)習(xí)與臨床應(yīng)用
- 第5章 一元一次方程大單元整體設(shè)計(jì) 北師大版(2024)數(shù)學(xué)七年級上冊教學(xué)課件
- 人教版高一地理必修一期末試卷
- 遼寧省錦州市(2024年-2025年小學(xué)六年級語文)部編版期末考試(上學(xué)期)試卷及答案
- GB/T 29498-2024木門窗通用技術(shù)要求
- 《職業(yè)院校與本科高校對口貫通分段培養(yǎng)協(xié)議書》
- 機(jī)電傳動單向數(shù)控平臺-礦大-機(jī)械電子-有圖
評論
0/150
提交評論