您现在的位置:首页 > 教案下载 > 正文

微型计算机原理及应用(第三版)电子备课第7章ppt下载(2)

2019-12-30 02:02 网络整理 教案网

从表中可看出这种软中断完全隐蔽了设备的地理特征和插口方法读取他们时只须要先设置好入口参数随即安排一条软中断指令“INTn”(n=~H)即可转去执行相应的子程序。其中“INTH”是系统功能读取它原本包含多个子程序每位子程序对应一个功能号其编号从~H。系统功能读取中的几十个子程序成为汇编语言程序员的重要工具程序员毋须了解所使用设备的地理特征、接口模式及显存分配等毋须撰写繁锁的控制程序。读取他们时选用统一的格式只需使用以下个句子:()传送入口参数到指定键值中()功能号送入AH键值中()INTH。有的子程序无入口参数则只需安排后两个句子读取结束后系统将出口参数送到指定键值中或从屏幕显示下来。诸如:号系统功能读取可用如下指令:读取结果是将DL键值中的可复印字符通过屏幕显示输出(或复印机复印输出)。下边选择一部份常用的系统功能读取作简略说明:按键键入单字符这是号系统功能读取使用格式如下所示:它没有入口参数执行号系统功能读取时系统等候按键键入待程序员按下任何一键系统先检测是否CtrlBreak键若果是则退出否则将输入字符的ASCII码置入AL寻址中并在屏幕上显示该字符。按键键入字符串这是AH号系统功能读取其功能是将鼠标键入的字符串写入到显存缓冲区中因而应当事先在显存储器中定义一个缓冲区。

其第字节给定该缓冲区中能储存的字节个数第字节留给系统填写实际输入的字符个数从第个字节开始拿来储存输入的字符串最后输入回车键表示字符串结束。假如实际输入的字符数不足塞满缓冲区时则其余字节填“”如果实际输入的字符数少于缓冲区的容量则超过的字符将被遗失并且响铃表示向程序员发出警告。AH号系统功能读取的使用格式如下所示:……BUFDBDB定义缓冲区DBDUP()……MOVDXOFFSETBUFMOVAHAHAH号系统功能读取INTH以上程序中由变量定义句子定义了一个可储存个字节的缓冲区执行到INTH指令时系统等候用户输入字符串。程序员每输入一个字符其相应的ASCII码将被写入缓冲区中待程序员最后输入回车键时由系统输出实际输入的字符数并将其写入缓冲区的第字节中。输出单字符这是号系统功能读取使用格式如下所示:MOVDL‘A’MOVAHINTH执行号系统功能读取时将置入DL键值中的字符从屏幕上显示输出(或复印机复印输出)。输出字符串这是号系统功能读取其功能是将指定的显存缓冲区中的字符串从屏幕显示输出(或从复印机复印输出)。缓冲区中的字符串以“$”字符作为结束标识。号系统功能读取的使用格式如下所示:……BUFDB′goodbye$′……MOVDXOFFSETBUFMOVAHINTH……执行号系统功能读取时将显存缓冲区BUF中储存的字符串(以“$”字符为结束)送屏幕显示输出(或送复印机复印输出)。

直接控制台键入输出单字符这是号系统功能读取假如(DL)=FFH则表示是从按键键入单字符送AL寻址中若果(DL)≠FFH则表示是将DL原语中内容送屏幕显示输出。他们的使用格式如下:MOVDLFFHMOVAH鼠标键入单字符送AL中INTHMOVDL′A′MOVAH将DL中的字符“A”送屏幕显示INTH无回显直接控制台键入单字符这是号系统功能读取等候从标准键入设备键入单字符置入AL原语中但不送屏幕显示。其使用格式如下:MOVAHINTH它没有入口参数系统等候从控制台标准键入设备键入单字符后将其ASCII码置入AL原语中。无回显鼠标键入单字符这是号系统功能读取等候从鼠标键入单字符将其ASCII码置入AL原语中。但不送屏幕显示其使用格式如下:MOVAHINTH它没有入口参数与号系统功能读取的差别仅在于输入的字符不送屏幕显示。从串行键入单字符这是号系统功能读取其使用格式如下:MOVAHINTH它没有入口参数系统将从异步通讯口串口键入的字符置入AL原语中。向串行输出单字符这是号系统功能读取其使用格式如下:MOVDL′$′MOVAHINTH执行结果将DL原语中的字符通过异步通讯口串口输出。

返回操作系统这是CH号系统功能读取其使用格式如下:MOVAHCHINTH它没有入口参数执行结果是结束当前正在执行的程序并返回操作系统。屏幕显示操作系统提示符(N>)N为当前使用的驱动器名。设置日期这是BH号系统功能读取其功能是设置有效日期。诸如当前还要设置的日期是年月日这么应将庙号以组装型BCD码方式置入CX原语上将月号置入DH寻址上将日期放入DL寻址中。其使用格式如下:MOVCXHMOVDHHMOVDLHMOVAHBHINTH执行的结果是将有效日期设置为年月日假如设置成功则→AL寻址否则FFH→AL寻址。自此之后日期会手动更改。取得日期这是AH号系统功能读取其功能是将当前有效日期取到CX和DX寻址中储存格式与设置日期时相似其使用格式如下:MOVAHAHINTH它没有入口参数执行结果是将庙号置入CX寻址中下旬和日期置入DX寻址中。设置时间这是DH号系统功能读取其功能是设置有效时间。诸如当前有效时间是点分秒这么应将小时数置入CH原语中、分钟数置入CL原语中秒数置入DH原语中百分之三秒数置入DL原语中。其使用格式如下:MOVCXHMOVDXHMOVAHDHINTH执行结果是将当前有效时间设置为点分秒之后会手动更改时间。

计算机原理教案下载_计算机操作系统教程 核心与设计原理习题7答案_计算机基础知识培训教案

假如设置成功则将AL原语内容清“”否则将AL原语置全“”。取得时间这是CH号系统功能读取其功能是将当前时间置入CX和DX原语中储存格式与设置时间相似。其使用格式如下:MOVAHCHINTH它没有入口参数执行结果是将当前时间送入CX和DX原语中供使用。其他的系统功能读取有的不常用有的比较繁锁不再一一说明。单击此处编辑页脚标题式样单击此处编辑页脚副标题式样汇编程序的功能及汇编过程汇编程序的功能汇编程序的主要功能是将由汇编语言(助记符)撰写的源程序翻译成用机器语言(二补码代码)撰写的目标程序。图可用以说明这个功能。图从图中可以见到汇编语言源程序作为汇编程序(MASM或ASM)这个“翻译”的键入而这个“翻译”的输出是个文件。其中目标代码文件就是机器码文件在目标代码文件中的地址数据还是浮动的(相对的)所以它还不能直接运行列表文件包含了程序的逻辑地址、代码程序及源程序对照清单并在该文件后附有引用符号表该文件可用DOS的TYPE命令输出交叉索引文件包含了符号定义行号和引用行号该文件不能用TYPE命令输出它还要执行CREF文件后生成索引列表文件(REF)能够输出。汇编语言的程序通常要经过编辑、汇编(MASM或ASM)、连接(LINK)和调试(DEBUG)这种方法如图所示。

图确立源程序文件构建源程序文件用编辑硬件完成常用的编辑硬件有行编辑EDLIN全屏幕编辑WORDSTAR等。汇编(MASM或ASM)源程序IBMPC微机提供了两种汇编程序版本:一种是全型版本(MASM)另一种是大型版本(ASM)。全型版本比大型版本提高了宏汇编、条件汇编及错误信息全部复印输出功能。大型版本占用储存空间小有KB的显存就可以运行而全型版本起码要有KB以上的显存。汇编程序有两种启动方法:()提问形式在MSDOS下键入命令行:MASM或ASM这时MSDOS将放入并启动执行汇编程序之后汇编程序就逐次向用户提问用户应当按照要求给予回答。在回答信息的最后可键入一个或多个继电器汇编程序将根据回答信息及继电器的定义做相应处理。在回答提示信息时可以使用以下两个命令字符:适于省略对后续提示的回答仅取默认值CTRLC当由于键入了错误的文件名或其他成因而想中途退出汇编程序时按下CTRLC键即可退出。()命令模式以命令形式启动汇编程序时应当在MSDOS下攻入下述格式的命令:MASM(或ASM)〈源文件〉[〈目标文件〉][〈列表文件〉][〈交叉参考文件〉][/继电器]然后在放入汇编程序后将立刻开始进行汇编。

命令中MASM(或ASM)上面的项目分别顺次对应于提问形式中对各提示信息的回答各项目之间用冒号隔开。继电器可置于任一项目后来。假如对某一提示信息选用默认值则只需在对应的项目处连续键入两个句号。诸如:MASMFUNFUNDXFUN程序连结连结程序LINK拿来连结汇编程序生成的目标代码文件(OBJ)以及指定的库文件形成一个可执行的放入文件(EXE)。连结程序有种启动方法:()提问形式在MSDOS下键入命令行:LINK这时MSDOS将把连结程序放入显存并向用户提问用户按照要求键入相应的回答。不仅在汇编程序一段中表述过的两个命令字符以外连结程序的回答信息中还可使用命令字符号它用以分隔多个要连结的目标代码模块或库文件。当显示器上一行键入不下时还可使用号另起一行。()命令模式以命令形式启动连结程序时应当在MSDOS下键入如下格式的命令:LINK〈目标代码模块表〉[〈装入模块名〉][〈列表文件名〉][〈库文件名表〉][/继电器]命令中LINK旁边的各项目顺次对应于提问形式中对各提示信息的回答各项目之间用冒号隔开。如对某一项提示信息选用默认值则只需在对应的项目处连续键入两个冒号。诸如:LINKFUNTEXTTABLECAREPMFUNLISTCOBLIBLIB()文件形式以文件形式启动LINK的命令格式为:LINK@〈文件名〉其中文件名拿来强调一个包含有对于LINK提示信息回答的正文文件文件中每一行正文对应一个回答因此用户可以毋须一一回答LINK的提示而由LINK程序直接从文件中取得回答。

其实在使用文件形式之前用户应当推行一个那样的响应文件。执行程序在DOS提示符下输入连结程序所形成的可执行文件的昵称后即可执行该程序。诸如:A:>ABCD(扩充名EXE可默认)都会把文件ABCDEXE放入显存并从程序指定地址开始执行。执行程序其结果不一定正确有时会“死机”。“死机”时要再次启动机器之后用DEBUG调试EXE文件。调试程序调试程序DEBUG是专为宏汇编语言设计的一种调试方式是我们应当把握的一种调试工具。在操作系统提示符下按如下格式输入命令:A:>DEBUG[驱动器名:][路径][文件名[扩充名]]诸如:A:>DEBUGA:ABCDEXE输入此命令后就启动了DEBUG程序。DOS的COMMANDCOM程序首先倒入DEBUGCOM文件并把控制权还给DEBUG。DEBUG程序再放入ABCDEXE文件但控制权并不还给ABCDEXE而是由DEBUG把握着。在DEBUG程序中为我们提供了条子命令。运用这条子命令我们可以对程序进行汇编和反汇编可以观察和更改显存及寻址的内容可以执行或跟踪程序并观察每一步执行的结果可以读写盘上的磁道或文件等。但令人遗憾的是假如被调试的文件是可执行文件(EXE文件)则调试好的文件不能写回到盘起来。

这是由于可执行文件是带有重定位信息文件头的调试程序不能形成这种重定位信息因而不能把它写回到盘起来。唯一的方法就是在调试过程中把发觉的错误记载出来待调试完毕后重新编辑、汇编和连结形成新的可执行文件。单击此处编辑页脚标题式样单击此处编辑页脚副标题式样汇编语言程序设计在第章中早已讲过等CPU把储存器分成若干段每位段是一个可独立寄存器的逻辑单位。段是系列汇编语言程序的基础一个段就是一些指令和数据的集合系列汇编语言源程序就是确立在段结构的基础上。因此在编制汇编语言源程序时首先要使用段定义伪指令和段寄存器伪指令来构成一个由若干指令和数据组成的程序。一个程序有几个段完全按照实际状况来确定一般是根据程序中的用途来界定段。如储存数据的段作堆栈使用的段储存程序的段储存子程序的段等等。我们在刚开始编制程序时不妨先设~个段由个段寻址CSDSSSES分别储存很多段的段基值。那样构造一个源程序的基本格式如下:DATASEGMENT}储存数据项的数据段DATAENDSEXTRASEGMENT}储存数据项的附加段EXTRAENDSSTACKSEGMENTPARASTACK}作堆栈用的堆栈段STACKENDSCOSEGSEGMENTASSUMECS:COSEGDS:DATAASSUMESS:STACKES:EXTRABEING:MOVAXDATAMOVDSAX}储存指令序列COSEGENDSENDBEING上述个段排列的先后次序可以是任意的。