亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 32060624_王克_asmhomework_5_3.asm

?? 匯編語言 參考書 包含作業與答案 從入門到精通 通俗易懂
?? ASM
字號:
; 32060624___王克__ASMHomeWork__5
;----------------------------------------------------------------
;        ╭══════┤  32060624___王克__ITRunner!!  ├═════╮
;        ║          						     ║
;        ║             					     ║
;       ║              ★ 匯編語言 第五次作業 ★                   ║
;       ║      |---------------------------------------------|     ║
;       ║ 			DOS時鐘小程序			     ║
;        ║                               2004.12.25                 ║
;        ║                                                          ║
;        ╰ ════════════════════════════╯
;匯編程序說明:
;2004.12.24 night  基本功能已經實現  1. 可以在DOS下每秒顯示一次。2. 會出現CPU出錯信息,??? 3. 未對前景背景美化
;2004.12.28 night  功能完成 1. 加入星期字符串	2.改進輸出方式,色彩動態變化,改用BIOS的中斷	3.增添時間框,更加美觀
;━┅━┅━┅━┅━┅━┅━┅━┅━━┅━┅━┅━┅━┅━┅━┅━━┅━┅━━┅━
;************************************************************************
;macros		for more convenient
	print_string	macro 	string,pos,len
			push	ax
			push	bx
			push	cx
			push	dx
			push	es
			push	bp
			
			;mov	dx,offset string	//?????
			;mov	ah,9h
			;int 21h
			
			push	ds
			pop	es
			mov	bp,offset string
			xor	bh,bh
			mov	bl,_color
			mov	dx,pos
			mov	cx,len
			mov	ax,1300h
			int 10h

			pop	bp
			pop	es
			pop	dx
			pop	cx
			pop	bx
			pop	ax
		endm
	print_char	macro	char
			push	ax
			push	bx
			push	cx
			push	dx
			
			xor	bh,bh
			mov	ah,0eh
			mov	al,char
			mov	bl,1h
			int 10H
			
			pop	dx
			pop	cx
			pop	bx
			pop	ax
		endm
	SET_CURSOR	macro	pos		;DH,row	DL,col
			mov	ah,02h
			xor	bh,bh
			mov	dx,pos
			INT 10H
		endm
	get_cursor	macro
			mov	ah,03h
			xor	bh,bh
			INT 10H
		endm
;********************************************************
	CODE	segment	para
		assume	cs:code, ds:code
;*******************************************************
	INT0_clock	proc	far
		        PUSH    AX
	                PUSH    BX
	                PUSH    CX
	                PUSH    DX
	                PUSH    SI
	                PUSH    DI
	                PUSH    BP
	                PUSH    DS
	                PUSH    ES
	                STI

	                jmp	START
	_OLD_INT1C	dd	?
	_COUNT		dw	?
	_head		byte	0C9H,16 DUP(0CDH),0BBH
	_mid		byte	0BAH,16 DUP(20H),0BAH
	_foot		byte	0C8H,16 DUP(0CDH),0BCH
	_color		byte	20H
	_week_pos	EQU	013FH
	_date_pos	EQU	023FH
	_time_pos	EQU	033FH
	_msg_date	byte	'Date: $'
	_date_len	EQU	$-_msg_date-1
	_msg_time	byte	' Time: ','$'
	_time_len	EQU	$-_msg_time-1
	_msg_week	byte	'     ','$'
	_week_len	EQU	$-_msg_week-1
	_msg_clear	byte	10h DUP(' '),'$'
	_clear_len	EQU	$-_msg_clear-1
        start:
	        	push	cs		;important
	        	pop	ds
	
	        	inc	_COUNT
	        	cmp	_count,18	;about a second,18.3. 18*60
	        	jb	return
	        	mov	_count,0
	        	inc	_color		;Change color each second
			
			get_cursor		;save cursor postion for recover
			push	dx

			push	word ptr _color		;show frame
			mov	_color,00FH
	        	print_string	_head,003EH,18
	        	print_string	_mid,013EH,18
	        	print_string	_mid,023EH,18
	        	print_string	_mid,033EH,18
	        	print_string	_foot,043EH,18
	        	pop	word ptr _color

	        	print_string	_msg_clear,_week_pos,_clear_len	;show week
	        	SET_CURSOR	_week_pos+_week_len
			call	show_week
			inc	_color
			
	        	;SET_CURSOR	003cH
	        	print_string	_msg_clear,_date_pos,_clear_len	;show date
	        	SET_CURSOR	_date_pos+_date_len
			call	show_date
			inc	_color
			
			;SET_CURSOR	013fH
			print_string	_msg_clear,_time_pos,_clear_len	;show time
			SET_CURSOR	_time_pos+_time_len
			call	SHOW_TIME
			
			pop	dx
			SET_CURSOR	dx	;recover cursor,you can work again
	return:
			CLI
	                POP     ES
	                POP     DS
	                POP     BP
	                POP     DI
	                POP     SI
	                POP     DX
	                POP     CX
	                POP     BX
	                POP     AX
	                IRET		
	INT0_clock	endp
;********************************************************
	show_date	proc	near
			print_string	_msg_date,_date_pos,_date_len
			mov	ah,2ah		;取得系統日期
			int 21h			;AL星期,CX年,DH月,DL日

			xor	ah,ah		
			;call	DEAL_NUM	;不在這里顯示星期幾,0-6
			;print_char	' '

			mov	ax,cx
			call	DEAL_NUM	;顯示year
			print_char	'-'

			xor	ah,ah
			mov	al,dh
			call	deal_Num	;month
			print_char	'-'

			mov	al,dl
			call	DEAL_NUM	;day		
		ret
	show_date	endp
;*******************************************************
	SHOW_TIME	proc	near
			print_string	_msg_time,_time_pos,_time_len
			
			mov	ah,2ch		;取得系統time
			INT 21h		;CH:CL hour:minute,DH:DL second:1/100s

			xor	ah,ah
			mov	al,ch
			call	DEAL_NUM
			print_char	':'

			mov	al,cl
			call	DEAL_NUM
			print_char	':'
			
			mov	al,dh
			call	DEAL_NUM			
		RET
	SHOW_TIME	ENDP
;*******************************************************
	DEAL_NUM	PROC	NEAR		;將一個字轉換成十進制并輸出子程序
			push	ax
			push	bx
			push	cx
			push	dx
			push	di
			
			jmp	goon
	_count_buffer	byte	5 DUP(0),'$'			
		goon:
			MOV     CX,5
			
		        MOV     BX,10
		        MOV     DI,OFFSET _count_buffer+4	;從后往前保存
		next:
			XOR     DX,DX			;將DX清零 
		        DIV     BX
		        OR      DL,30H			;也可用ADD DL,30H	
		        MOV     BYTE PTR [DI],DL	;將16進制的數轉換到ASCII中對應的數,0的ASCII碼為 30H (48D)
		        CMP	AX,0
		        JZ	PRINT			;當商為0時,直接去打印,可不打印高位的0.
		        DEC     DI
		        LOOP    next
		PRINT:			
		        ;MOV     DX,DI			;從DI開始打印,因為RESULT不一定夠5位
		        ;MOV     AH,9
		        ;INT     21H			;調用DOS的21號中斷的9號功能,將DB輸出
		        cmp	cx,5
		        jne	print_one
		        print_char	'0'		;one char,print other zero
		print_one:
			mov	bl,[di]
			cmp	bl,'$'
			je	ok
			print_char	[di]		;print num,use macro print_char
			inc	di			
			jmp	print_one
		ok:		
			pop	di
			pop	dx
			pop	cx
			pop	bx
			pop	ax
	        RET
	DEAL_NUM	ENDP
;********************************************************
	show_week	proc	near		;show week proc
			jmp	START
	_msg_sun	byte	'Sunday','$'
	_msg_mon	byte	'Monday','$'
	_msg_tues	byte	'Tuesday','$'
	_msg_wed	byte	'Wednesday','$'
	_msg_thurs	byte	'Thursday','$'
	_msg_fri	byte	'Friday','$'
	_msg_sat	byte	'Saturday','$'
		start:
			print_string	_msg_week,_week_pos,_week_len
			mov	ah,2ah		;取得系統日期
			int 21h			;AL星期,CX年,DH月,DL日

			cmp	al,0
			je	sun
			cmp	al,1
			je	mon
			cmp	al,2
			je	tues
			cmp	al,3
			je	wed
			cmp	al,4
			je	thurs
			cmp	al,5
			je	fri
			cmp	al,6
			je	sat
		sun:	
			print_string	_msg_sun,_week_pos+_week_len,6
			jmp	ok
		mon:	
			print_string	_msg_mon,_week_pos+_week_len,6
			jmp	ok
		tues:	
			print_string	_msg_tues,_week_pos+_week_len,7
			jmp	ok
		wed:	
			print_string	_msg_wed,_week_pos+_week_len,9
			jmp	ok
		thurs:	
			print_string	_msg_thurs,_week_pos+_week_len,8
			jmp	ok
		fri:	
			print_string	_msg_fri,_week_pos+_week_len,6
			jmp	ok
		sat:	
			print_string	_msg_sat,_week_pos+_week_len,8
		ok:	
			ret
	show_week	endp
;*********************************************************
	_Head_LEN           EQU     $-INT0_clock
;********************************************************
	main	proc	far			;TSR important part info
			mov	ax,cs
			mov	ds,ax

	                MOV     _COUNT,0

			mov	ah,35h
			mov	al,1ch
			INT 21H

			mov	word ptr _OLD_INT1C,bx
			mov	word ptr _OLD_INT1C+2,es

			mov	ah,25h
			mov	al,1ch
			mov	dx,offset INT0_clock
			INT 21H
			
			mov	dx,(_Head_LEN+15)/16+10H		;is sloid
	                MOV     AX,3100H
			INT 21H
	main	endp
;******************************************************
	code	ends
		end	main

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区国产| 一级精品视频在线观看宜春院| 日韩精品自拍偷拍| 亚洲日本中文字幕区| 麻豆成人综合网| 色婷婷久久久久swag精品 | 555www色欧美视频| 欧美极品少妇xxxxⅹ高跟鞋| 亚洲bt欧美bt精品777| 国产精品影视天天线| 欧美日韩国产大片| 亚洲视频小说图片| 韩国一区二区在线观看| 欧美亚洲免费在线一区| 国产精品视频一二| 国产精一品亚洲二区在线视频| 欧美日韩一区二区电影| 最新热久久免费视频| 韩国v欧美v日本v亚洲v| 在线播放国产精品二区一二区四区 | 色综合一区二区| 久久久精品天堂| 奇米综合一区二区三区精品视频| 91成人免费电影| 亚洲丝袜制服诱惑| 成人中文字幕合集| 久久网站热最新地址| 美女视频免费一区| 欧美一区二区福利在线| 亚洲国产sm捆绑调教视频| av亚洲精华国产精华精华| 久久久99精品免费观看| 在线看不卡av| 一区二区三区资源| 欧美在线999| 亚洲精品日韩综合观看成人91| 成人中文字幕合集| 国产精品国产三级国产a| 成人永久看片免费视频天堂| 最新日韩av在线| 亚洲成人中文在线| 国产精品亚洲一区二区三区妖精 | 国产一区二区按摩在线观看| 午夜影院在线观看欧美| 国产综合久久久久久久久久久久| 日韩免费性生活视频播放| 美女网站色91| 久久久噜噜噜久久人人看 | 一区二区三区在线高清| 91久久精品网| 肉肉av福利一精品导航| 日韩午夜在线观看视频| 国产在线视频不卡二| 欧美韩国日本不卡| 色综合天天狠狠| 午夜精品久久久久久久久| 91麻豆精品国产综合久久久久久| 久久精品国产亚洲一区二区三区| 日韩一级大片在线观看| 国产成人免费视频一区| 中文字幕一区在线观看视频| 91国内精品野花午夜精品| 午夜精品123| 久久久777精品电影网影网| 波多野结衣在线一区| 一区二区三区四区不卡在线| 91麻豆精品国产91久久久久久| 久久草av在线| 国产精品激情偷乱一区二区∴| 色婷婷狠狠综合| 久久爱另类一区二区小说| 欧美国产日本视频| 欧美日韩成人高清| 国产精品资源在线| 亚洲午夜精品网| 精品国产乱码久久久久久免费 | 日产国产高清一区二区三区 | 精品国精品国产尤物美女| www.亚洲国产| 蜜臀久久久久久久| 亚洲欧美日本在线| 精品国产成人系列| 91豆麻精品91久久久久久| 国内外精品视频| 亚洲国产成人porn| 国产精品久久久久久久久搜平片| 8v天堂国产在线一区二区| 日韩欧美一级片| 91原创在线视频| 国内精品写真在线观看| 一区二区在线观看视频| 国产清纯美女被跳蛋高潮一区二区久久w| 99久久精品免费| 国产在线精品一区二区三区不卡 | 国产精品88av| 欧美性一区二区| 亚洲国产高清不卡| 91在线国内视频| 国产精品中文欧美| 日本不卡一二三区黄网| 亚洲女爱视频在线| 国产亚洲视频系列| 日韩欧美在线1卡| 欧美日韩mp4| 在线观看视频一区| 91日韩一区二区三区| 国产盗摄一区二区| 国产一区二区免费看| 免费观看30秒视频久久| 亚洲成a人在线观看| 亚洲免费观看视频| 中文字幕一区二区三区乱码在线 | 91精品国产黑色紧身裤美女| 亚洲天堂成人网| 成人av在线影院| 丝袜诱惑制服诱惑色一区在线观看 | 精品国产一区久久| www.亚洲精品| 麻豆精品在线播放| 国产精品乱码人人做人人爱| 欧美网站大全在线观看| 国产精品一区二区91| 亚洲成人动漫av| 中文字幕制服丝袜一区二区三区| 欧美精三区欧美精三区| 成人高清在线视频| 毛片av一区二区三区| 亚洲人成网站精品片在线观看| 日韩片之四级片| 在线观看一区二区视频| 国产精品911| 蜜桃精品视频在线观看| 一区二区三区欧美| 国产清纯白嫩初高生在线观看91 | 国产精品996| 99国产精品久久久久久久久久| av在线不卡观看免费观看| 99re这里只有精品首页| 一本一道综合狠狠老| 欧美日韩大陆在线| 日韩精品中文字幕一区二区三区| 亚洲成人动漫在线免费观看| 午夜精品国产更新| 久久66热re国产| 成人的网站免费观看| 色综合咪咪久久| 日韩一区二区免费高清| 欧美激情一区二区在线| 一区二区三区四区精品在线视频| 午夜精品在线视频一区| 精品一区二区av| 91影院在线观看| 欧美α欧美αv大片| 国产精品拍天天在线| 亚洲一区二区欧美日韩| 另类小说视频一区二区| 成人丝袜18视频在线观看| 欧美日韩一区二区三区不卡| 欧美成人乱码一区二区三区| 中文字幕高清不卡| 国产精品福利一区| 日韩欧美综合在线| 精品久久久三级丝袜| 精品精品欲导航| 久久婷婷成人综合色| 日韩欧美色综合网站| 久久久777精品电影网影网| 久久久久国色av免费看影院| 国产校园另类小说区| 国产女主播一区| 日韩毛片在线免费观看| 亚洲一区在线观看网站| 午夜欧美一区二区三区在线播放| 日韩激情一区二区| 欧美激情一二三区| 亚洲蜜臀av乱码久久精品 | 亚洲激情在线播放| 国产一区二区在线视频| 3atv在线一区二区三区| 亚洲欧美激情一区二区| 国产凹凸在线观看一区二区| 欧美高清视频在线高清观看mv色露露十八 | 日韩一区二区三区精品视频| 亚洲欧美怡红院| 国产精品羞羞答答xxdd| 日韩一区二区三区三四区视频在线观看| 日韩美女啊v在线免费观看| 国产伦精一区二区三区| 欧美一区日韩一区| 色婷婷综合久久久中文一区二区| 久久色在线观看| 久久成人免费网站| 欧美一级一级性生活免费录像| 亚洲最色的网站| 色偷偷成人一区二区三区91| **网站欧美大片在线观看| 成人18视频日本| 日本一二三不卡| 成人美女视频在线观看| 欧美国产日韩一二三区|