正在加载图片...
234 编码的奥秘 Chinapub.com 下载 汗颜。那么首先要做的是去掉控制面板 当然要用键盘来作为按键。前面讲过计算机键盘的构造是只要按下一个键,就会产生 个对微处理器的中断信号。计算机中的中断控制芯片使得微处理器响应中断,执行一条RST 指令。假设这是一条RST1指令,这条指令使得微处理器在堆栈中保存当前程序计数器的值并 跳转到地址0008h处。从这个地址开始,可以输入一些代码(用控制面板)。这些代码称为键 盘处理程序 为了使一切都正常工作,还需要一些代码在微处理器复位时执行,这些代码叫初始化程 序。初始化程序首先设置堆栈指针,使得堆栈分配到内存的有效区域,然后,把视频显示存 储器的每一个字节设置为十六进制数20h,即ASCI码的空格,这样就可以去掉屏幕上的随机 字符。初始化程序用OUT( Output)指令设置光标的位置(光标是视频显示器上的下划线, 指示了新输入的字符将要显示的位置)到第1行第1列。下一条指令为EI,即中断允许,该指 令使得微处理器可以响应键盘中断。在此之后是HLT指令,它停止微处理器的工作。 这就是初始化程序的工作。从这时起,由于执行了HLT指令,计算机很可能处于停机状 态。能够把计算机从停机状态唤起的事件仅有来自于控制面板的复位信号或从键盘来的中断 信号 无论何时在键盘上按下一个键,中断信号都使得微处理器从初始化程序最后的HLT语句 跳转到键盘处理程序。键盘处理程序用IN(Inpυut)指令来确定按下的键,然后根据按下的键 来执行一些动作(即键盘处理程序处理每一个按键),接着执行一条RET( Return)指令,最 后又回到HLT语句等待另一个键盘中断 不论按下的是字符、数字还是标点符号,键盘处理程序使用键盘扫描码,结合 Shift键是 否被按下,来确定合适的ASCI码。然后将ASCI码写到视频显示存储器中光标的位置。这个 过程称为回显键到显示器。光标位置增加并移到刚才显示的字符后面的空格处。由此,可以 在键盘上敲入一串字符并显示在屏幕上 如果按下的键是 Backspace(对应的ASCI码是08h),则键盘处理程序删除最后写入到视 频显示存储器中的字符,(删除字符是很简单的一件事,只需写入ASCI码20h—空格字符 到某一内存位置。)然后把光标移回一格。 人们通常在键盘上敲入一行字符(需要改正错误时可用 Backspace键),然后敲入 eturn(回车)键,回车键在计算机键盘上通常标为 Enter。与在电子打字机上敲 Return键表明已 经准备好开始输入下一行一样,在计算机中敲 Enter键表明打字者已经完成了一行文字的键入 键盘处理程序在处理 Return或 Enter键(对应的ASCI码为0Dh)的时候,视频显示存储器 的这一行字符被解释成对计算机的一个命令,也就是说,键盘处理程序要去做的一些事情 键盘处理程序中包含有命令处理程序用来解释命令,例如三个命令:W、D和R 如果字符行以W开始,该命令意味着 Write(写入)一些字节到内存中。假设敲入到屏幕 上的行如下面这样 8239B 这个命令指示命令处理程序把十六进制数35、4F等写入到地址1020h开始的内存中。为 了完成这项工作,键盘处理程序需要将 ASCII码转换成字节一前面示范的那个变换的反变 换。 如果字符行以D开头,该命令意味着 Display(显示)内存中的一些字节。假使敲入到屏汗颜。那么首先要做的是去掉控制面板。 当然要用键盘来作为按键。前面讲过计算机键盘的构造是只要按下一个键,就会产生一 个对微处理器的中断信号。计算机中的中断控制芯片使得微处理器响应中断,执行一条 R S T 指令。假设这是一条RST 1指令,这条指令使得微处理器在堆栈中保存当前程序计数器的值并 跳转到地址0 0 0 8 h处。从这个地址开始,可以输入一些代码(用控制面板)。这些代码称为键 盘处理程序。 为了使一切都正常工作,还需要一些代码在微处理器复位时执行,这些代码叫初始化程 序。初始化程序首先设置堆栈指针,使得堆栈分配到内存的有效区域,然后,把视频显示存 储器的每一个字节设置为十六进制数 2 0 h,即A S C I I码的空格,这样就可以去掉屏幕上的随机 字符。初始化程序用 O U T(O u t p u t)指令设置光标的位置(光标是视频显示器上的下划线, 指示了新输入的字符将要显示的位置)到第 1行第1列。下一条指令为 E I,即中断允许,该指 令使得微处理器可以响应键盘中断。在此之后是 H LT指令,它停止微处理器的工作。 这就是初始化程序的工作。从这时起,由于执行了 H LT指令,计算机很可能处于停机状 态。能够把计算机从停机状态唤起的事件仅有来自于控制面板的复位信号或从键盘来的中断 信号。 无论何时在键盘上按下一个键,中断信号都使得微处理器从初始化程序最后的 H LT语句 跳转到键盘处理程序。键盘处理程序用 I N(I n p u t)指令来确定按下的键,然后根据按下的键 来执行一些动作(即键盘处理程序处理每一个按键),接着执行一条R E T(R e t u r n)指令,最 后又回到H LT语句等待另一个键盘中断。 不论按下的是字符、数字还是标点符号,键盘处理程序使用键盘扫描码,结合 S h i f t键是 否被按下,来确定合适的 A S C I I码。然后将A S C I I码写到视频显示存储器中光标的位置。这个 过程称为回显键到显示器。光标位置增加并移到刚才显示的字符后面的空格处。由此,可以 在键盘上敲入一串字符并显示在屏幕上。 如果按下的键是 B a c k s p a c e(对应的A S C I I码是0 8 h),则键盘处理程序删除最后写入到视 频显示存储器中的字符,(删除字符是很简单的一件事,只需写入 A S C I I码 2 0 h—空格字符 —到某一内存位置。)然后把光标移回一格。 人们通常在键盘上敲入一行字符(需要改正错误时可用 B a c k s p a c e键),然后敲入 R e t u r n (回车)键,回车键在计算机键盘上通常标为 E n t e r。与在电子打字机上敲 R e t u r n键表明已 经准备好开始输入下一行一样,在计算机中敲 E n t e r键表明打字者已经完成了一行文字的键入。 键盘处理程序在处理 R e t u r n或E n t e r键(对应的A S C I I码为0 D h)的时候,视频显示存储器 的这一行字符被解释成对计算机的一个命令,也就是说,键盘处理程序要去做的一些事情。 键盘处理程序中包含有命令处理程序用来解释命令,例如三个命令: W、D和R。 如果字符行以W开始,该命令意味着 Wr i t e(写入)一些字节到内存中。假设敲入到屏幕 上的行如下面这样: W 1020 35 4F 78 23 9B AC 67 这个命令指示命令处理程序把十六进制数 3 5、4 F等写入到地址 1 0 2 0 h开始的内存中。为 了完成这项工作,键盘处理程序需要将 A S C I I码转换成字节—前面示范的那个变换的反变 换。 如果字符行以 D开头,该命令意味着 D i s p l a y(显示)内存中的一些字节。假使敲入到屏 234 编码的奥秘 下载
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有