1。實驗目的:
(1)學習分支、中斷和邏輯表達式。
(2)熟悉匯編語言程序設計、編譯和鏈接過程。
實驗內容:
用DOS 21H調用鍵盤中斷類型10函數,鍵盤的年份值的字符串?接收到的字節存儲在緩沖器中。字符串中的每個字符都轉換成相應的十進制值(0到9的10數字的ASC碼值大於其自身的30H關系),用壹年的表達式來判斷是否是閏年。
3。編程技巧:
(1)想辦法確定是不是閏年。判斷閏年的規則:如果壹年能被4整除,但不能被100整除,或者不能被400整除,則為閏年。
(2)用於確定特定年份為閏年的匯編語言表達式如下:
(((AX)MOD 4 EQ 0)和(MOD 100(AX)EQ 0))或((AX)MOD 400 EQ 0)
(AX)從鍵盤輸入存儲的年份值。
(3)如圖所示:
應該
編譯:
由數據段定義的數據段
InfoN DB 0DH,0AH of,請輸入年份:$ '
DB 0DH,0AH,“今年是閏年!$'
N dB帶寬0DH,0AH,“這是閏年!$'
瓦特DW 0
BUF DB 8
分貝?
DB 8 DUP(?)
艾德(男子名)
堆棧段的堆棧
DB 200 DUP(0)
堆棧結尾
代碼段
假設DS:數據,SS:堆棧,CS:代碼。
開始:MOV斧,數據
MOV DS,AX
InfoN LEA DX,屏幕上的信息顯示。
MOV AH,9 INT 21H
LEA DX,來自鍵盤的輸入緩沖;今年的弦樂
MOV啊
Int21H10Day BR />MOV CL,[BUF +1]
LEA DI,BUF +2
打電話給datacate
呼叫ifyears
JC A1
LEA DX,陽性
MOV啊,9
21H的解釋
JMP出口
A1:LEA DX,?
MOV啊,9
INT 21H
出口:MOV AH,4CH
INT 21H
數據化過程附近;
推CX;
十二月CX
LEA SI,BUF +2
TT1:公司SI
循環TT1
;蕾斯·CX[2]
彈出CX
MOV DH,30H
MOV AX,MOV BL,1
L1:推斧
亞字節PTR [SI,衛生署
多字節指針[SI]
威爾·瓦克斯
爆破筒
MUL BL
12月SI
回路L1
浸水使柔軟
ENDP數據中心
近10年
推BX
推CX
推送DX
瓦特·MOV·阿克斯
MOV·CX,AX & lt/觸發MOV DX,0
MOV·BX,4歲
BX分部
CMP DX,0
JNZ LAB1
CX MOV艾克斯
MOV BX,100 BR />BX分部
CMP DX,0
JNZ實驗室2
CX MOV艾克斯
MOV·BX,400
BX分部
CMP DX,0 BR />JZ實驗室2
LAB1:中國圖書館分類號
JMP實驗3
實驗2:STC
實驗三:彈出DX
彈出CX
彈出BX
浸水使柔軟
ifyers ENDP
密碼
從年底開始
或者多用途實時時鐘設計。
(1),其設計目標是真正的結束時鐘。
顯示部和計時部的時鐘定時器的時鐘信號生成;
(2)中斷的確切時間,其次,
(3)鍵盤控制功能選擇:/>行和列掃描以確定鍵盤輸入
自檢鍵盤LED顯示;
不同的按鍵輸入對應不同的功能(比如LED輪回或者LED閃爍)。
2、設計要求
(1)鍵盤和8255的片選控制部分集成;
(2)LED數碼管顯示,其外圍電路的時間部分;
(3份)構成8253和8259產生的時鐘信號,由定時中斷和動態刷新顯示完成。