欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
微機原理里面的練習程序
[打印本頁]
作者:
chenmo123
時間:
2017-6-8 12:36
標題:
微機原理里面的練習程序
DIS MACRO LOCAT,CODE ;設置圖形顯示宏定義
PUSH DX
PUSH BX
PUSH AX
MOV DX,LOCAT ;設置光標位置
MOV BH,00
MOV AH,02H
INT 10H
MOV DL,CODE ;輸出字符串
MOV AH,02H
INT 21H
POP AX
POP BX
POP DX
ENDM
DAT SEGMENT ;設置數據段
BUF DB 'INPUT START RESET END CONTINUE
;設置功能說明
BUFFER DB 10 DUP(?) ;定義緩存區
TIP DB 'M E M O R Y
;定義記憶提示
NUM DB 1
LOD EQU 0929H
DAT ENDS
COD SEGMENT ;定義代碼段
START PROC FAR
ASSUME CS:COD,DS:DAT
MOV AX,DAT
MOV DS,AX
MOV DX,OFFSET BUF ;輸出功能說明
MOV AH,09H
INT 21H
CALL DISMER ;記憶區提示符置光標
MOV DX,OFFSET TIP ;輸出記憶提示字符
MOV AH,09H
INT 21H
CALL CLR ;圖形區清屏并設置顏色
CALL CLRDAT ;秒表數字區清屏并設置顏色
CALL CLRMER ; 記憶區清屏并設置顏色
DIS 0419H,'<' ;通過宏調用顯示圖形
DIS 0517H,'<'
DIS 0715H,'<'
DIS 0914H,'<'
DIS 0B14H,'<'
DIS 060EH,'_'
DIS 0710H,'_'
DIS 0812H,'_'
DIS 0913H,'_'
DIS 0A14H,'_'
DIS 0915H,'_'
DIS 0816H,'_'
DIS 0718H,'_'
DIS 061AH,'_'
DIS 071CH,'*'
DIS 081EH,'*'
DIS 091FH,'*'
DIS 0B20H,'*'
DIS 0D21H,'*'
DIS 0F21H,'*'
DIS 1120H,'*'
DIS 131FH,'*'
DIS 141EH,'*'
DIS 151DH,'*'
DIS 161BH,'*'
DIS 1719H,'*'
DIS 1717H,'_'
DIS 1616H,'_'
DIS 1514H,'_'
DIS 1612H,'_'
DIS 1711H,'_'
DIS 170EH,'*'
DIS 160CH,'*'
DIS 150BH,'*'
DIS 140AH,'*'
DIS 1309H,'*'
DIS 1108H,'*'
DIS 0F07H,'*'
DIS 0D07H,'*'
DIS 0B08H,'*'
DIS 0909H,'*'
DIS 080AH,'*'
DIS 070CH,'*'
DIS 0C12H,'_'
DIS 0C13H,'_'
DIS 0C14H,'_'
DIS 0C15H,'_'
DIS 0C16H,'_'
CALL GO ;設置初植
LOAD: CALL IOSET ;光標定位
CALL HALT ;等待輸入
MOV DX,0
MOV CH,0
AGAIN:
CALL TIME ;調用延時程序
MOV AL,DL ;百分之一秒加一
ADD AL,1
DAA
JC NEXT1 ;滿一百進位
MOV DL,AL
JMP DISPY ;不滿一百顯示
NEXT1: MOV DL,0
MOV AL,DH ;秒位加一
ADD AL,1
DAA
MOV DH,AL
CMP AL,60H
JNE DISPY
CALL BELL ;滿60提示鈴聲并進位
MOV DH,0
MOV AL,CH ;分位加一
ADD AL,1
DAA
MOV CH,AL
CMP AL,60H
JNE DISPY ;滿60清零
MOV CH,0
DISPY: ;顯示電子秒表
MOV BX,OFFSET BUFFER ;取緩沖區地址
MOV AL,CH
CALL TRAN ;將分位轉變為ASCII碼并送緩沖區
INC BX
INC BX
MOV AL,DH ;將秒位轉變為ASCII碼并送緩沖區
CALL TRAN
INC BX
INC BX
MOV AL,DL ;將百分之一秒位轉變為ASCII碼并送緩沖區
CALL TRAN
PUSH BX
PUSH CX
PUSH DX
CALL IOSET ;光標置位
MOV DX,OFFSET BUFFER ;輸出緩沖區字符串
MOV AH,09H
INT 21H
POP DX
POP CX
POP BX
MOV AH,0BH ;等待鍵盤輸入
INT 21H
AND AL,AL
JZ AGAIN
MOV AH,08H
INT 21H
CMP AL,'R' ;判斷輸入是否為R
JNE NEXT2 ;不是則判斷是否為E
CALL MEMORY ;若是則調用記憶功能保存當前值
MOV CH,0 ;初值清零重新計數
MOV DL,0
MOV DH,0
JMP AGAIN
NEXT2:
CMP AL,'E' ;判斷是否為E
JNE AGAIN ;不是則繼續計數
NEXT3: ;若是則暫停計數
MOV AH,08H
INT 21H
CMP AL,'C' ;判斷是否輸入C
JE AGAIN ;若是則繼續計數
CMP AL,'R' ;判斷是否輸入R
JNE NEXT3 ;若不是則繼續等待輸入
CALL MEMORY ;若是則調用記憶功能
CALL GO ;重新設置初值等待重新啟動
CALL IOSET
MOV DX,OFFSET BUFFER
MOV AH,09H
INT 21H
JMP LOAD
RET
START ENDP
GO PROC ;設置初值子程序
MOV BX,OFFSET BUFFER
MOV AL,'0'
MOV [BX],AL
INC BX
MOV AL,'0'
MOV [BX],AL
INC BX
MOV AL,':'
MOV [BX],AL
INC BX
MOV AL,'0'
MOV [BX],AL
INC BX
MOV AL,'0'
MOV [BX],AL
INC BX
MOV AL,':'
MOV [BX],AL
INC BX
MOV AL,'0'
MOV [BX],AL
INC BX
MOV AL,'0'
MOV [BX],AL
INC BX
MOV AL,'
MOV [BX],AL
RET
GO ENDP
IOSET PROC
MOV DX,0F10H
MOV BH,00
MOV AH,02H
INT 10H
RET
IOSET ENDP
HALT PROC
MOV AH,08H
INT 21H
CMP AL,'S'
JNE HALT
RET
HALT ENDP
TRAN PROC ;十六進制轉ASCII碼子程序
MOV CL,AL
SHR AL,1
SHR AL,1
SHR AL,1
SHR AL,1
OR AL,30H
MOV [BX],AL
INC BX
MOV AL,CL
AND AL,0FH
OR AL,30H
MOV [BX],AL
RET
TRAN ENDP
TIME PROC ;延時子程序
PUSH CX
PUSH AX
MOV AX,0EFH
MOV CX,0FFFFH
A1:
DEC AX
JNZ A2
JMP A3
A2:
DEC CX
JNZ A2
JMP A1
A3:
POP AX
POP CX
RET
TIME ENDP
MEMORY PROC ;記憶功能子程序
PUSH DX
PUSH BX
PUSH AX
CMP NUM,10
JE X2
ADD NUM,1
X1:
MOV DX,LOD
ADD DH,NUM
MOV BH,00
MOV AH,02H
INT 10H
MOV DX,OFFSET BUFFER
MOV AH,09H
INT 21H
POP AX
POP BX
POP DX
RET
X2: CALL CLRMER
MOV NUM,1
JMP X1
MEMORY ENDP
CLR PROC ;圖形區清屏并設置顏色子程序
MOV AH,06H
MOV AL,14H
MOV CX,0401H
MOV DX,1721H
MOV BH,0CH
INT 10H
RET
CLR ENDP
CLRDAT PROC ;數據區清屏并設置顏色子程序
MOV AH,6
MOV AL,1
MOV CX,0F10H
MOV DX,0F18H
MOV BH,0BH
INT 10H
RET
CLRDAT ENDP
CLRMER PROC ;記憶區清屏并設置顏色子程序
PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV AH,6
MOV AL,11
MOV CX,0929H
MOV DX,0F32H
MOV BH,0DH
INT 10H
POP DX
POP CX
POP BX
POP AX
RET
CLRMER ENDP
DISMER PROC ;記憶提示顯示子程序
MOV AH,02H
MOV BH,00
MOV DX,0728H
INT 10H
RET
DISMER ENDP
BELL PROC ;滿分鐘提示音設置子程序
PUSH AX
PUSH DX
MOV AL,07H
MOV DL,AL
MOV AH,02H
INT 21H
POP DX
POP AX
RET
BELL ENDP
COD ENDS ;結束代碼段
END START ;結束源程序
復制代碼
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1