019.使用動態鏈接庫在控制檯顯示文字並且實現用戶交互測試

;庫測試#1:整數I/O(InputLoop.asm)
;測試Clrscr,Crlf,DumpMem,ReadInt,SetTextColor
;	 WaitMsg,WriteBin,WriteHex,WriteString過程

include irvine32.inc

.data 
	COUNT=4
	BlueTextOnGray=blue+(lightGray*16)
	DefaultColor=lightGray+(black*16)
	arrayD SDWORD 12345678h,1A4B2000h,3434h,7AB9h
	prompt BYTE "Enter a 32-bit signed integer:",0

.code
	main PROC
		;選擇淺灰色背景藍色文本
		mov eax,BlueTextOnGray	;
		call setTextColor		;
		call Clrscr				;清屏

		;用DumpMem顯示數組
		mov esi,OFFSET arrayD	;開始位置的OFFSET
		mov ebx,TYPE arrayD		;雙字=4byte
		mov ecx,LENGTHOF arrayD	;arrayD中的單元數
		call DumpMem			;顯示內存信息

		;請求用戶輸入一組有符號整數
		call Clrscr				;顯示一個新的空白行
		mov ecx,COUNT			;

	L1:
		mov edx,OFFSET prompt	;
		call WriteString		;
		call ReadInt			;輸入數據存入EAX
		call Crlf				;顯示一個新的空白行
		;用十六進制,十進制,二進制顯示整數
		call WriteInt			;顯示爲有符號十進制
		call Crlf
		call WriteHex
		call Crlf
		call WriteBin
		call Crlf
		call Crlf				;重複循環
		loop L1

		;返回控制檯窗口的默認顏色
		call WaitMsg			;"Print any key..."
		mov eax,DefaultColor
		call setTextColor
		call Clrscr

		exit

main ENDP
END main
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章