主题:你还能坚持最后5秒吗?最后的测试程序
我的CPU主频是2.11GHZ,怎么计算每秒输出一个字符的延时循环执行次数!还有执行一次指令要多少个时钟周期?高手们快来帮我解决下问题啊!就靠你们了!我下面的延时
时间是一次次试出来的
程序功能是输入1-5五个数然后自动逆向输出(每秒输出一个),我不知道怎么才能准确计算循环次数,做接口实验要用这个程序,下周!急用
DATA SEGMENT
INBUF DB 5
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV CX,5
MOV SI,0
AGAIN1:MOV AH,1
INT 21H
MOV INBUF[SI],AL;将输入字符拷贝到内存缓冲区INBUF
INC SI
LOOP AGAIN1
MOV DL,0DH;输出回车
MOV AH,2
INT 21H
MOV DL,0AH;输出换行
MOV AH,2
INT 21H
MOV DI,5;设置循环次数,共5次(输出5个字符)
MOV SI,4
AGAIN2:MOV DL,INBUF[SI]
MOV AH,2
INT 21H
DEC SI
MOV BX,0FFFFH;设置外循环次数65535次
FOR1: MOV CX,2FFFH;设置内循环次数11520次
FOR2: LOOP FOR2
DEC BX
JNZ FOR1
DEC DI
CMP DI,0
JG AGAIN2
MOV AH,4CH
INT 21H
CODE ENDS
END START
[fly]接口[/fly]
时间是一次次试出来的
程序功能是输入1-5五个数然后自动逆向输出(每秒输出一个),我不知道怎么才能准确计算循环次数,做接口实验要用这个程序,下周!急用
DATA SEGMENT
INBUF DB 5
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV CX,5
MOV SI,0
AGAIN1:MOV AH,1
INT 21H
MOV INBUF[SI],AL;将输入字符拷贝到内存缓冲区INBUF
INC SI
LOOP AGAIN1
MOV DL,0DH;输出回车
MOV AH,2
INT 21H
MOV DL,0AH;输出换行
MOV AH,2
INT 21H
MOV DI,5;设置循环次数,共5次(输出5个字符)
MOV SI,4
AGAIN2:MOV DL,INBUF[SI]
MOV AH,2
INT 21H
DEC SI
MOV BX,0FFFFH;设置外循环次数65535次
FOR1: MOV CX,2FFFH;设置内循环次数11520次
FOR2: LOOP FOR2
DEC BX
JNZ FOR1
DEC DI
CMP DI,0
JG AGAIN2
MOV AH,4CH
INT 21H
CODE ENDS
END START
[fly]接口[/fly]