8086簡易計算器的設(shè)計計算機硬件微機原理課程設(shè)計_第1頁
8086簡易計算器的設(shè)計計算機硬件微機原理課程設(shè)計_第2頁
8086簡易計算器的設(shè)計計算機硬件微機原理課程設(shè)計_第3頁
8086簡易計算器的設(shè)計計算機硬件微機原理課程設(shè)計_第4頁
8086簡易計算器的設(shè)計計算機硬件微機原理課程設(shè)計_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、題目 簡易計算器的設(shè)計姓名專業(yè) 自動化(電站方向)班級學(xué)號 上海電力學(xué)院自動化工程學(xué)院一、設(shè)計題目及目的本次課程設(shè)計的實驗?zāi)康氖?通過該實驗掌握較復(fù)雜程序的設(shè)計;能獨立完成用程序?qū)?086、8255A控制鍵盤和LED顯示的控制,完成計算器加減法的應(yīng)用;獨立編寫程序,明白和掌握程序的原理和實現(xiàn)方式;學(xué)習(xí)和掌握計算機中常用接口電路的應(yīng)用和設(shè)計技術(shù),充分認識理論知識對應(yīng)用技術(shù)的指導(dǎo)性作用;進一步加強理論知識與應(yīng)用相結(jié)合的實踐和鍛煉,為以后的設(shè)計提供經(jīng)驗。這次設(shè)計實踐,加深了我對專業(yè)知識和理論知識學(xué)習(xí)的認識和理解,使我的設(shè)計水平和對所學(xué)的知識的應(yīng)用能力以及分析問題解決問題的能力得到全面提高。我們的具體

2、任務(wù)是用8086設(shè)計一個能實現(xiàn)09整數(shù)加減乘除法的運算器,并用2位LED數(shù)碼顯示,鍵盤包括0-9,+ ,-,×,÷,=,NO/C共16個按鍵。二、小組成員分工及成果在實驗課程要求下,我們選擇基于8086CPU的模擬計算器設(shè)計。要完成設(shè)計首先需要構(gòu)建簡單的微型計算機應(yīng)用系統(tǒng),其次是確定組成各部件的芯片,然后畫原理圖,根據(jù)相應(yīng)的原理以及實現(xiàn)過程,編寫出相應(yīng)的匯編代碼。再根據(jù)原理圖連接硬件電路,電路連接完成后進行調(diào)試。設(shè)計過程中我們用到了8086CPU、可編程并行輸入/輸出芯片8255A、74HC138、74HC373、矩陣式鍵盤、LED數(shù)碼管。我們的模擬計算器能實現(xiàn)2位十進制數(shù)

3、以內(nèi)的加減乘除法運算。首先,本組的三個成員一起討論研究簡易計算器設(shè)計的主要方案。粗略設(shè)計程序流程圖以確定簡易計算器設(shè)計的大概框架。明確目的后各自查詢資料了解設(shè)計原理、逐步清晰設(shè)計思路。以下為大體分工:主要負責(zé):1、設(shè)計主要程序,編寫;2、查找資料驗證修改;主要負責(zé):1、選擇需要用的各個芯片;2、設(shè)計硬件原理圖;主要負責(zé):1、各個芯片功能的資料查找; 2、設(shè)計程序流程圖三、設(shè)計方案思路用8086設(shè)計一個能實現(xiàn)09整數(shù)加減乘除法的運算器,并用2位LED數(shù)碼顯示,鍵盤包括0-9,+ ,-,×,÷,=,NO/C共16個按鍵。1、通過小鍵盤做加減乘除運算。2、數(shù)碼管顯示器作輸入數(shù)據(jù)和

4、結(jié)果數(shù)據(jù)的顯示。3、數(shù)字用小鍵盤09,“C、×、÷、= ”做功能鍵4、運算順序:a.首先輸入一個原始數(shù)據(jù)(在09之間,否則無反應(yīng))顯示器跟隨顯示 b.按“+、×、÷”顯示器內(nèi)容不變次輸入一個數(shù)據(jù)(在09之間,否則無反應(yīng))顯示器跟隨顯示 d.按“=”顯示器顯示結(jié)果數(shù)據(jù)顯示“00”數(shù)據(jù)清0,并重新開始運算 f.若輸入一個數(shù)據(jù)后直接按“=”則數(shù)據(jù)不變設(shè)計思路:將整個程序劃分為鍵盤掃描部分,顯示部分,運算程序部分。首先利用程序不斷掃描鍵盤是不是有輸入,如果沒有就一直掃描,如果有就停止掃描,完成輸入,利用匯編的程序核對輸入鍵的數(shù)值,通過調(diào)用子程序?qū)崿F(xiàn)運算。運算完成

5、后將運算的結(jié)果儲存并顯示到LED顯示器上。軟件流程大致如下:開始,然后是系統(tǒng)的初始化,進行鍵盤掃描,對掃描的鍵值進行判斷(分為數(shù)字鍵和功能鍵),若為數(shù)字鍵,則執(zhí)行數(shù)字鍵處理程序,即顯示數(shù)字并將數(shù)值存儲;若為功能鍵,則先判斷是否為清屏,如是清屏,則執(zhí)行清屏子程序,如是加減乘除運算鍵則調(diào)用相應(yīng)程序運算,如是等號鍵,則先判斷上個符號位,調(diào)用相對應(yīng)的運算子程序進行運算,如此就可以得到需要的結(jié)果了。四、硬件原理圖(包括芯片的選型介紹)硬件電路圖:(見圖1) 圖1 原理圖1、鍵盤輸入模塊鍵盤是常用信息輸入元件,其實鍵盤也是由一個個按鈕組成,如果是獨立按鈕的話必須要對應(yīng)一個I/O口對它進行檢測,而鍵盤往往只

6、需要鍵盤按鈕數(shù)一半的I/O口對它進行檢測,也許對一個比較簡單的系統(tǒng)I/O口數(shù)一般不是問題,但對于一個大型、復(fù)雜的系統(tǒng)來說I/O資源就顯得非常珍貴了,盡量減少I/O使用是非常利于降低成本,另外一方面鍵盤比用獨立按鍵要美觀,同時硬件上的節(jié)省必然導(dǎo)致軟件上編程的復(fù)雜。我們設(shè)計時使用的是4*4式鍵盤,如圖2所示。圖2 鍵盤圖中有4行4列,4根行線與PC口相連,4根列線與PA口相連。按鍵設(shè)置在行、列交點處(數(shù)字或字符為其鍵號),行、列線分別連接到按鍵開關(guān)的兩端。鍵盤中有無按鍵按下是由行線送入全掃描字、列線讀入行線狀態(tài)來判斷。這就是:給行線所有I/O線均置成低電平,然后讀入列線電平狀態(tài)。如果有按鍵按下,總

7、會有一根列線電平被拉至低電平,從而使列線輸入不全為1。2、可編程并行通信接口芯片8255A圖3 8255A(1)并行輸入/輸出端口A,B,C8255A內(nèi)部包括三個8位的輸入輸出端口,分別是端口A、端口B、端口C,相應(yīng)信號線是PA7PA0、PB7PB0、PC7PC0。端口都是8位,都可以作為輸入或輸出。通常將端口A和端口B定義為輸入/輸出的數(shù)據(jù)端口,而端口C則既可以作數(shù)據(jù)端口,又可以作為端口A和端口B的狀態(tài)和控制信息的傳送端口。(2)A組和B組控制部件端口A和端口C的高4位(PC7PC4)構(gòu)成A組;由A組控制部件實現(xiàn)控制功能。端口B和端口C的低4位(PC3PC0)構(gòu)成B組;由B組控制部件實現(xiàn)控制

8、功能。 A組和B組利用各自的控制單元來接收讀寫控制部件的命令和CPU通過數(shù)據(jù)總線(D0D7)送來的控制字,并根據(jù)他們來定義各個端口的操作方式。(3)數(shù)據(jù)總線緩沖存儲器三態(tài)雙向8位緩沖器,是8255A與8086CPU之間的數(shù)據(jù)接口。與I/O操作有關(guān)的數(shù)據(jù)、控制字和狀態(tài)信息都是通過該緩沖器進行傳送。(4)讀/寫控制部件8255A是能完成讀/寫控制功能的部件。能接收CPU的控制命令,并根據(jù)控制命令向各個功能部件發(fā)出操作指令。CS 片選信號:由CPU輸入,有效時表示該8255A被選中。RD, WR 讀、寫控制信號:由CPU輸入。RD有效表示CPU讀8255A,WR有效表示CPU寫8255ARESET

9、復(fù)位信號:由CPU輸入。RESET信號有效,清除8255A中所有控制字寄存器內(nèi)容,并將各個端口置成輸入方式。圖4 8255A內(nèi)部結(jié)構(gòu)定義工作方式控制字:工作方式0:8255A中各端口的基本輸入/輸出方式。圖5 8255A工作方式控制3、顯示模塊圖6 顯示器顯示原理:顯示子程序把數(shù)據(jù)每一位獨立顯示,每次從最高位顯示到最低位,在掃描鍵盤的時候不斷調(diào)用顯示子程序,形成了從高位到低位的不斷循環(huán)顯示,由于循環(huán)速度快,看起來就好像一起顯示的。4、74HC373圖7 74HC373其中AD0-AD7為數(shù)據(jù)輸入端,A0-A7為輸出端。當(dāng)三態(tài)允許控制端OE為低電平時,A0-A7為正常邏輯狀態(tài),可用來驅(qū)動負載或總

10、線,當(dāng)OE為高電平時,A0-A7成高阻態(tài),不驅(qū)動總線。當(dāng)鎖存允許端LE為高電平時,A隨數(shù)據(jù)AD而變,當(dāng)LE為低電平AD被鎖存在已建立的數(shù)據(jù)電平。5、74HC138圖8 74HC13874HC138是一款高速CMOS器件,74HC138引腳兼容低功耗肖特基TTL(LSTTL)系列。74HC138譯碼器可接受3位二進制加權(quán)地址輸入(A0, A1和A2),并當(dāng)使能時,提供8個互斥的低有效輸出(Y0至Y7)。74HC138特有3個使能輸入端:兩個低有效(E1和E2)和一個高有效(E3)。除非E1和E2置低且E3置高,否則74HC138將保持所有輸出為高,74HC138為反相輸出,它按照三位二進制輸入碼

11、和賦能輸入條件,從8 個輸出端中譯出一個 低電平輸出。兩個低電平有效的賦能輸入端和一個高電平有效的賦能輸入端減少了擴展所需要的外接門或倒相器。6、8086CPU圖98086CPU的40條引腳信號可按功能分可分為四類,它們是:地址總線,數(shù)據(jù)總線,控制總線,其它(時鐘與電源)。最小模式下一些引腳功能(MN/MX接5V):AD15AD0,地址/數(shù)據(jù)總線A19/S6A16/S3,地址/狀態(tài)總線RD,讀信號WR,寫信號M/IO,存儲器/輸入輸出控制信號ALE,地址鎖存允許信號READY(Ready),準備就緒信號INTR,可屏蔽中斷請求信號INTA,中斷響應(yīng)信號NMI,非屏蔽中斷請求信號RESET,系統(tǒng)

12、復(fù)位信號DEN,數(shù)據(jù)允許信號DT/R,數(shù)據(jù)發(fā)送/接收控制信號HOLD,總線保持請求信號輸入HLDA,總線保持響應(yīng)信號TEST,測試信號CLK,時鐘輸入信號VCC(+5V),GND 放鍵?保存第一個數(shù)據(jù)保存第二個數(shù)據(jù)減號?乘號?除號?清零?等號?OPER為0加號?開始8255A初始化有無壓鍵繼續(xù)掃描是數(shù)字鍵五、程序流程圖NYYY保存“+”在OPERNNYY保存“-”在OPERNY保存“×”在OPERNYY保存“÷”在OPERN繼續(xù)掃描鍵盤NYN清零顯示器和數(shù)據(jù)YN進行+、×、÷運算,并將結(jié)果進行顯示,等待C被按下六、程序清單,要有適當(dāng)?shù)淖⑨孌ATA SEG

13、MENT NUM1 DB 03H DUP(0) NUM DB 03H DUP(0)DATA ENDSSTACK SEGMENT DW 100 DUP(0)STACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKPORTA EQU 30H;A口地址PORTB EQU 32HPORTC EQU 34HPORT8255 EQU 36H;8255片選始地址MAIN PROC FAR(8255初始化)START: MOV AX,DATA; 數(shù)據(jù)段 MOV DS,AX ;將寄存器AX的內(nèi)容傳送給寄存器DS MOV DX,PORT8255;把8255計數(shù)器里

14、的內(nèi)容放到DX寄存器 MOV AL,81H;A組方式0;A口輸出,C口高四位輸入 OUT DX,AL;B組方式0;B口輸出,C口低四位輸入LOPL: XOR AH,AH;抑或指令,使AH清零 CALL KEY;調(diào)用KEY程序 CMP AH,00H;把AH和00H相比較 JZ LOPL ;ZF=1,即結(jié)果為0,則轉(zhuǎn)到LOPL CMP AL,0FH ;把AL和0FH相比較 JZ CCCL;ZF=1,即結(jié)果為0,則轉(zhuǎn)到CCCL CMP AL,0AH ;把AH和0AH相比較 JZ LOPL ;ZF=1,即結(jié)果為0,則轉(zhuǎn)到LOPL JNC LOPL ;若CF=0,表示第一個數(shù)大,轉(zhuǎn)向LOPL OUT 3

15、2H,AL;輸出B口數(shù)據(jù)ALLOPL2: LEA SI,NUM;將NUM的偏移地址給SI MOV SI,AL;將AL的數(shù)據(jù)存放在SI中 PUSH AX ;AX出棧LOPL1: XOR AH,AH ;抑或指令,使AH清零 CALL KEY;調(diào)用KEY程序 CMP AH,00H;把AH和00H相比較 JZ LOPL1;ZF=1,即結(jié)果為0,則轉(zhuǎn)到LOPL1 CMP AL,0FH;把AL和0FH相比較 JZ CCCL;ZF=1,即結(jié)果為0,則轉(zhuǎn)到CCCL CMP AL,0AH;把AL和0AH相比較 JZ XX1;ZF=1,即結(jié)果為0,則轉(zhuǎn)到XX1 CMP AL,0BH;把AL和0BH相比較 JZ X

16、X2;ZF=1,即結(jié)果為0,則轉(zhuǎn)到XX2 CMP AL,0CH;把AL和0CH相比較 JZ XX3D;ZF=1,即結(jié)果為0,則轉(zhuǎn)到XX3D CMP AL,0DH;把AL和0DH相比較 JZ XX4D;ZF=1,即結(jié)果為0,則轉(zhuǎn)到XX4D JMP LOPL1;轉(zhuǎn)移到LOPL1CCCL: MOV AL,00H OUT 32H,AL;輸出B口數(shù)據(jù)AL JMP LOPL;轉(zhuǎn)移到LOPLXX3D: CALL XX3;調(diào)用XX3程序XX4D: CALL XX4;調(diào)用XX4程序MAIN ENDPXX1 PROC NOP ;加LOPL3: XOR AH,AH ;抑或指令,使AH清零 CALL KEY;調(diào)用KE

17、Y程序 CMP AH,00H ;把AH和00H相比較 JZ LOPL3; ZF=1,即結(jié)果為0,則轉(zhuǎn)到LOPL3 CMP AL,0FH;把AL和0FH相比較 JZ CCCL; ZF=1,即結(jié)果為0,則轉(zhuǎn)到CCCL CMP AL,0AH ;把AL和0AH相比較 JZ LOPL3; ZF=1,即結(jié)果為0,則轉(zhuǎn)到LOPL3 JNC LOPL3;若CF=0,表示第一個數(shù)大,轉(zhuǎn)向LOPL3 OUT 32H,AL;輸出B口數(shù)據(jù)AL PUSH AX;AX出棧 LEA SI,NUM;將NUM的偏移地址給SI MOV SI+1,AL;將AL的數(shù)據(jù)存放在SI+1中LOPL4: XOR AH,AH;抑或指令,使AH

18、清零 CALL KEY;調(diào)用KEY程序 CMP AH,00H ;把AH和00H相比較 JZ LOPL4;ZF=1,即結(jié)果為0,則轉(zhuǎn)到LOPL4 CMP AL,0FH ;把AL和0FH相比較 JZ CCCL; ZF=1,即結(jié)果為0,則轉(zhuǎn)到CCCL CMP AL,0EH ;把AL和0EH相比較 JZ XXX1; ZF=1,即結(jié)果為0,則轉(zhuǎn)到XXX1 JMP LOPL4 ;轉(zhuǎn)移到LOPL4XXX1: LEA SI,NUM MOV AL,SI AND AL,0FH MOV DL,SI+1 AND DL,0FH;相與,高四位置0,低四位保持不變,賦給DL ADD AL,DL DAA;轉(zhuǎn)化成BCD碼 OU

19、T 32H,AL;輸出B口數(shù)據(jù)AL JMP LOPL ;轉(zhuǎn)移到LOPLXX1 ENDPXX2 PROC NOP ;減LOPL5: XOR AH,AH;抑或指令,使AH清零 CALL KEY;調(diào)用KEY程序 CMP AH,00H;把AH和00H相比較 JZ LOPL5;ZF=1,即結(jié)果為0,則轉(zhuǎn)到LOPL5 CMP AL,0FH ;把AL和0FH相比較 JZ CCCL;ZF=1,即結(jié)果為0,則轉(zhuǎn)到CCCL CMP AL,0AH ;把AL和0AH相比較 JZ LOPL5; ZF=1,即結(jié)果為0,則轉(zhuǎn)到LOPL5 JNC LOPL5 OUT 32H,AL;輸出B口數(shù)據(jù)AL PUSH AX;AX出棧

20、LEA SI,NUM;將NUM的偏移地址給SI MOV SI+1,AL;將AL的數(shù)據(jù)存放在SI+1中LOPL6: XOR AH,AH;抑或指令,使AH清零 CALL KEY;調(diào)用KEY程序 CMP AH,00H ;把AH和00H相比較 JZ LOPL6 ; ZF=1,即結(jié)果為0,則轉(zhuǎn)到LOPL6 CMP AL,0FH ;把AL和0FH相比較 JZ CCCL7;ZF=1,即結(jié)果為0,則轉(zhuǎn)到LOPL7 CMP AL,0EH ;把AL和0EH相比較 JZ XXX2;ZF=1,即結(jié)果為0,則轉(zhuǎn)到XXX2 JMP LOPL6 ;轉(zhuǎn)移到LOPL6XXX2: LEA SI,NUM;將NUM的偏移地址給SI

21、MOV AL,SI AND AL,0FH MOV DL,SI+1 AND DL,0FH SUB AL,DL ADD AL,00H DAA OUT 32H,AL;輸出B口數(shù)據(jù)AL JMP LOPL;轉(zhuǎn)移到LOPLCCCL7: MOV AL,00H OUT 32H,AL;輸出B口數(shù)據(jù)AL JMP LOPL ;轉(zhuǎn)移到LOPL XX2 ENDPXX3 PROC ;乘LOPL7: XOR AH,AH;抑或指令,使AH清零 CALL KEY ;調(diào)用KEY程序 CMP AH,00H ;把AH和00H相比較 JZ LOPL7;ZF=1,即結(jié)果為0,則轉(zhuǎn)到LOPL7 CMP AL,0FH ;把AL和0FH相比較

22、 JZ CCCL2;ZF=1,即結(jié)果為0,則轉(zhuǎn)到CCCL2 CMP AL,0AH ;把AL和0AH相比較 JZ LOPL7; ZF=1,即結(jié)果為0,則轉(zhuǎn)到LOPL7 JNC LOPL7;若CF=0,表示第一個數(shù)大,轉(zhuǎn)向LOPL OUT 32H,AL;輸出B口數(shù)據(jù)AL PUSH AX;AX出棧 LEA SI,NUM;將NUM的偏移地址給SI MOV SI+1,AL;將AL的數(shù)據(jù)存放在SI+1中LOPL8: XOR AH,AH;抑或指令,使AH清零 CALL KEY;調(diào)用KEY程序 CMP AH,00H ;把AH和00H相比較 JZ LOPL8;ZF=1,即結(jié)果為0,則轉(zhuǎn)到LOPL8 CMP AL

23、,0FH ;把AL和0FH相比較 JZ CCCL3; ZF=1,即結(jié)果為0,則轉(zhuǎn)到CCCL3 CMP AL,0EH ;把AL和0EH相比較 JZ XXX3;ZF=1,即結(jié)果為0,則轉(zhuǎn)到XXX3 JMP LOPL8 ;轉(zhuǎn)移到LOPL8XXX3: LEA SI,NUM;將NUM的偏移地址給SI MOV AL,SI AND AL,0FH MOV DL,SI+1 AND DL,0FH MUL DL; DL*AL AAM ;商放AH,余數(shù)放AL MOV CL,4 SAL AH,CL;把AH向左移四位 OR AL,AH;或指令,有1置1 OUT 32H,AL;輸出B口數(shù)據(jù)AL JMP LOPL ;轉(zhuǎn)移到L

24、OPLCCCL2: MOV AL,00H OUT 32H,AL;輸出B口數(shù)據(jù)AL JMP LOPL ;轉(zhuǎn)移到LOPLCCCL3: MOV AL,00H OUT 32H,AL;輸出B口數(shù)據(jù)AL JMP LOPL ;轉(zhuǎn)移到LOPLXX3 ENDPXX4 PROC ;除LOPL9: XOR AH,AH;抑或指令,使AH清零 CALL KEY ;調(diào)用KEY程序 CMP AH,00H ;把AH和00H相比較 JZ LOPL9; ZF=1,即結(jié)果為0,則轉(zhuǎn)到LOPL9 CMP AL,0FH ;把AL和0FH相比較 JZ CCCL5; ZF=1,即結(jié)果為0,則轉(zhuǎn)到CCCL5 CMP AL,0AH ;把AL和

25、0AH相比較 JZ LOPL9 ;ZF=1,即結(jié)果為0,則轉(zhuǎn)到LOPL9 JNC LOPL9;若CF=0,表示第一個數(shù)大,轉(zhuǎn)向LOPL9 OUT 32H,AL;輸出B口數(shù)據(jù)AL PUSH AX;AX出棧 LEA SI,NUM;將NUM的偏移地址給SI MOV SI+1,AL;將AL的數(shù)據(jù)存放在SI+1中LOPL10: XOR AH,AH;抑或指令,使AH清零 CALL KEY;調(diào)用KEY程序 CMP AH,00H ;把AH和00H相比較 JZ LOPL10;ZF=1,即結(jié)果為0,則轉(zhuǎn)到LOPL10 CMP AL,0FH ;把AL和0FH相比較 JZ CCCL4;ZF=1,即結(jié)果為0,則轉(zhuǎn)到CC

26、CL4 CMP AL,0EH ;把AL和0EH相比較 JZ XXX4; ZF=1,即結(jié)果為0,則轉(zhuǎn)到XXX4 JMP LOPL10 ;轉(zhuǎn)移到LOPL10XXX4: LEA SI,NUM;將NUM的偏移地址給SI MOV AL,SI AND AL,0FH;與指令,高四位清零,低四位不變 MOV BL,SI+1 AND BL,0FH AND AX,000FH DIV BL; AL÷BL,商放在AL中,余數(shù)放在AH中 OUT 32H,AL;輸出B口數(shù)據(jù)AL JMP LOPL ;轉(zhuǎn)移到LOPLCCCL4: MOV AL,00H OUT 32H,AL;輸出B口數(shù)據(jù)AL JMP LOPL ;轉(zhuǎn)移

27、到LOPLCCCL5: MOV AL,00H OUT 32H,AL;輸出B口數(shù)據(jù)AL JMP LOPL ;轉(zhuǎn)移到LOPLXX4 ENDPKEY PROC NOP LEA SI,NUM1 MOV AL,0EH OUT 30H,AL;輸出A口數(shù)據(jù)AL IN AL,34H CMP AL,07H;把AL和07H相比較 JZ LL7; ZF=1,即結(jié)果為0,則轉(zhuǎn)到LL7 CMP AL,0BH;把AL和0BH相比較 JZ LL8;ZF=1,即結(jié)果為0,則轉(zhuǎn)到LL8 CMP AL,0DH;把AL和0DH相比較 JZ LL9; ZF=1,即結(jié)果為0,則轉(zhuǎn)到LL9 CMP AL,0EH;把AL和0EH相比較 J

28、Z LDIV; ZF=1,即結(jié)果為0,則轉(zhuǎn)到LDIVSS1: MOV AL,0DH OUT 30H,AL;輸出A口數(shù)據(jù)AL IN AL,34H CMP AL,07H;把AL和07H相比較 JZ LL4; ZF=1,即結(jié)果為0,則轉(zhuǎn)到LL4 CMP AL,0BH;把AL和0BH相比較 JZ LL5; ZF=1,即結(jié)果為0,則轉(zhuǎn)到LL5 CMP AL,0DH;把AL和0DH相比較 JZ LL6;ZF=1,即結(jié)果為0,則轉(zhuǎn)到LL6 CMP AL,0EH;把AL和0EH相比較 JZ LMUL; ZF=1,即結(jié)果為0,則轉(zhuǎn)到LMULSS2: MOV AL,0BH OUT 30H,AL;輸出A口數(shù)據(jù)AL

29、IN AL,34H CMP AL,07H;把AL和07H相比較 JZ LL1; ZF=1,即結(jié)果為0,則轉(zhuǎn)到LL1 CMP AL,0BH;把AL和0BH相比較 JZ LL2; ZF=1,即結(jié)果為0,則轉(zhuǎn)到LL2 CMP AL,0DH;把AL和0DH相比較 JZ LL3; ZF=1,即結(jié)果為0,則轉(zhuǎn)到LL3 CMP AL,0EH;把AL和0EH相比較 JZ LSUB ;ZF=1,即結(jié)果為0,則轉(zhuǎn)到LSUBSS3: MOV AL,07H OUT 30H,AL;輸出A口數(shù)據(jù)AL IN AL,34H CMP AL,07H;把AL和07H相比較 JZ SCLC;ZF=1,即結(jié)果為0,則轉(zhuǎn)到SCLC CMP AL,0BH;把AL和0BH相比較 JZ LL0;ZF=1,即結(jié)果為0,則轉(zhuǎn)到LL0 CMP AL,0DH;把AL和0DH相比較 JZ LEQU;ZF=1,即結(jié)果為0,則轉(zhuǎn)到LEQU CMP AL,0EH;把AL和0DH相比較 JZ LADD;ZF=1,即結(jié)果為0,則轉(zhuǎn)到LADD JMP KCLC;轉(zhuǎn)移

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論