子程序设计和系统功能调用例题
《IBM PC 80X86汇编语言程序设计》PPT电子课件教案-第六章 子程序设计

《IBM PC 80X86汇编语言程序设计》
冶金工业出版社
第6章
1、子程序的概念和特点
子程序:把在程序中多次出现,具有独立功能 的程序段写成程序模块,该模块可被多次调用, 称之为子程序。
特点:①可重复使用(调用) ②具有通用性(可通过入口参数实现) ③可浮动性(存放位置灵活) ④可递归性和可重入性
第6章
第六章 子程序设计
一、子程序的定义 二、子程序的结构形式
三、子程序的设计和调用 四、子程序的参数传递方法 五、子程序的嵌套和递归调用 六、子程序的设计举例 七、多模块程序设计 八、汇编语言和高级语言的混合编程
《IBM PC 80X86汇编语言程序设计》
冶金工业出版社
第6章
一、子程序的定义
1、子程序的概念和特点 2、子程序的定义 3、子程序的调用和返回
《IBM PC 80X86汇编语言程序设计》
冶金工业出版社
第6章
2、子程序的定义
子程序的定义是由过程定义伪指令PROC和ENDP 来完成的。其格式如下:
过程名 PROC [NEAR/FAR]
┆
过程名 ENDP
其中PROC表示过程定义开始,ENDP表示过程定 义结束。过程名是过程入口地址的符号表示。
一般过程名同标号一样,具有三种属性,即段 属性、偏移地址属性以及类型属性。
《IBM PC 80X86汇编语言程序设计》
冶金工业出版社
第6章
3、子程序的调用和返回
❖ 调用
①段内直接调用
格式:CALL 子程序名
功能:将子程序返回地址(断点)入栈
SP←SP-2
(SP)←IP,
并转到子程序入口地址去执行子程序。
❖ 返回指令
操作系统习题答案(中国铁道出版社-刘振鹏-李亚平-王煜-张明)

⒈什么是硬件系统?什么是软件环境?它们之间有什么了解?答:计算机硬件是指计算机系统中由电子、机械和光电元件等组成的各种计算机部件和计算机设备。
这些部件和设备依据计算机系统结构的要求构成的有机整体,称为计算机硬件系统。
软件是计算机系统中的程序和有关的文件。
程序是计算任务的处理对象和处理规则的描述;文件是为了便于了解程序所需的资料说明。
硬件为软件提供具体实现的基础,软件是用户与硬件之间的接口界面。
⒉什么是操作系统?操作系统追求的主要目标是什么?答:操作系统是计算机系统中的一个系统软件,是能有效地组织和管理计算机系统中的硬件和软件资源,合理地组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使得用户能够灵活、方便、有效地使用计算机,并使整个计算机系统能高效地运行的一组程序模块的集合。
操作系统追求的主要目标包括四个方面,分别是:方便性、有效性、可扩充性、开放性。
⒊在用户程序与硬件裸机之间,操作系统可以分为哪几个模块?答:***********************************************************⒋操作系统如何实现计算机操作的自动化?如何看待操作系统在计算机系统中的地位?答:**************************************************操作系统是配置在计算机硬件上的第一层软件,是对硬件系统的第一次扩充,支持其他所有软件的运行。
⒌操作系统分成哪几类?答:单道批处理系统、多道批处理系统、分时系统、实时系统、微机操作系统、多处理机操作系统、网络操作系统和分布式操作系统。
⒍从资源管理观点看,操作系统具有哪些功能?答:处理机管理、存储器管理、I/O设备管理、文件管理。
⒎讨论操作系统可以从哪些角度出发,如何统一看待它们?答:可以从软件的观点、计算机系统资源管理的观点、进程的观点、用户与计算机硬件系统之间的观点、虚机器观点、服务提供者观点。
微机原理试题(last)

微机原理试题(last)1.用ASSUME伪指令指定某个段分配给某个段寄存器后,还需通过MOV指令来给段寄存器赋值,其中(C )不能这样做,而是在程序初始化时自动完成的。
A.数据段寄存器DS B.堆栈段寄存器SSC.代码段寄存器CS D.附加段寄存器ES2.( A )不是变量的类型属性A.字符型 B.字型 C.字节型 D.双字型3.下列哪一个伪指令对符号名可以重复定义( A )A.= B. EQU C.DB D.PTR4.将下列左边各项与右边的名词对应起来,找出正确答案的序号填入括号内。
(1)使计算机执行某种操作的命令(D)(2)表示指令执行什么操作的符号(E)(3)存放指令机器码的存储器段区(A)(4)指出指令在程序中位置的符号(B)(5)将汇编语言源程序翻译成机器码程序的实用程序(C)A.代码段 B. 标号 C. 汇编程序 D. 指令 E. 助记符5.下面指令序列执行后完成的运算,正确的算术表达式是( C )MOV AL,BYTE PTR XSHL AL,1DEC ALMOV BYTE PTR Y,ALA.Y=2X+1 B. X=2Y+1 C. Y=2X-1 D.X=2Y-16. 对于无符号数,实现“>=”转移的指令是(A)A.JAE/JNB B. JBE/JNA C. JGE/JNL D. JC/JNLE7. 在程序设计的实际应用中往往存在要重复执行的某些操作的一类问题,这类问题由(C)来解决。
A.顺序结构程序 B. 分支结构程序C.循环结构程序D.以上都不是8. (A)不是子程序的参数传递方法。
A.立即数传递 B. 寄存器传递C.堆栈传递 D. 存储器传递9. DOS系统功能调用中,将子功能编号送入(A)寄存器。
A.AH B. AL C. BH D. BL10. 读取键盘字符并回显是DOS系统功能调用的( B )号调用。
A.0AH B. 01H C. 02H D. 09H11.求下列数的补码或真值(1)χ= +127D,[χ]补=?(2)χ= -127D,[χ]补=?(3)[χ]补=0111 1110B,χ=?(4)[χ]补=1000 0010B,χ=?答案:(1)0111 1111B (2)1000 0001B(3)χ= +126D (4)χ= -126D12. 已知x= +51D,y= -66D,用补码运算求x+y,x-y的值。
微机原理复习题

6、下列指令中,有语法错误的指令是 C)JMP WORD PTR[BX+8]
7、“先工作后判断”的循环程序结构中,循环执行的次数最 少是 次。 A)1 A)OF B)0 标志 (C)SF (D)ZF 。 (B)CF C)2 D)不定 8、DEC指令不影响
9、条件转移指令JNE的测试条件是 A)ZF=1 (B)CF=1 (C)ZF=0 (D)CF=0
14、输入/输出指令中的端口包含直接寻址和间接寻址两种方式, 其中直接寻址的端口地址范围是 ,间接寻址时必须使用寄 存器 ,寻址范围是 。 15、 已知AL=35H,BL=0DEH,对带符号数执行 ADD AL,BL后, CF= ,OF= 。 16、 寻址方式是指 ,指令MOV COUNT[SI],AX中,目的 操作数采用的是 寻址方式,该操作数在 段。 17、一个有20个字的数据区,它的起始地址为50B0: H,该数 据区的最后一个字单元的物理地址为5B71CH。
20、已知中断控制器8259A的IR0的中断型号为88H,则其IR5的 中断类型号为 。*** A)8DH B)88H C)82H D)不能确定,需另外设置
二、填空题
1 、 8088 具 有 根 地 址 线 。 在 访 问内 存 时 使用 地 址 线 ,可直接寻址 容量的内存范围;在访问外 设时使用地址线 ,共能寻址 输入输出端口。 执行一条指令所需要的时间被称为 周期,而总线 周期指的是 ,8088典型的总线周期由 个 T 组成。如果8088的CLK引脚接2MHz的时钟信号,那么每个 T状态的持续时间为 。 2、在立即寻址方式下,操作数存放在 段中;在直接寻
9、乘法指令中规定:字节运算时,乘积被默认存放在 寄 存器中。 10、定义了的变量名具有: 、 、 、 和 属性。 11、32位微处理器除算术逻辑部件和控制部件以外,还包含一 组 以及 等特殊的存储器。(数据cache和指令cache) 12、在半导体存储器中,RAM指的是 ,它可读可写,但断电 后信息一般会 ;而ROM指的是 ,正常工作时只能 从中 信息,但断电后信息 。以EPROM芯片2764为 例,其存储容量为8K×8位,共有 条数据线和 条地 址线。用它组成32KB的ROM存储区共需 片2764芯片。 13、主机与I/O间的数据传送的方式通常 有 、 、 。
《汇编语言程序设计》(第四版)教案及答案解析

《汇编语言程序设计》教案附:习题参考答案《汇编语言程序设计》(第4版)钱晓捷主编前言1.汇编语言是计算机能提供给用户的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。
2.汇编语言程序设计是高等院校电子计算机硬、软件及应用专业学生必修的核心课程之一。
它不仅是计算机原理、操作系统等其它核心课程的必要先修课,而且对于训练学生掌握程序设计技术、熟悉上机操作和程序调试技术都有重要作用。
3.本教材共有十一章,其内容安排如下:(1).第一、二章为汇编语言所用的基础知识。
(2).第三章详细介绍80x86系列CPU的指令系统和寻址方式。
(3).第四章介绍伪操作、汇编语言程序格式及汇编语言的上机过程。
(4).第五、六章说明循环、分支、子程序结构和程序设计的基本方法。
(5).第七章说明宏汇编、重复汇编及条件汇编的设计方法。
(6).第八章叙述输入/输出程序设计方法,重点说明中断原理、中断过程及中断程序设计方式。
(7).第九章说明BIOS和DOS系统功能调用的使用方法。
(8).第十~十一章分别说明图形显示、发声及磁盘文件存储的程序设计方法,同时提供各种程序设计方法和程序实例。
附:教学参考书1.沈美明、温冬婵编著,IBM–PC汇编语言程序设计(第2版),清华大学出版社,2001年(教材)2.沈美明、温冬婵编著,IBM–PC汇编语言程序设计,清华大学出版社,1991年3.沈美明、温冬婵编著,IBM–PC汇编语言程序设计—例题习题集,清华大学出版社,1991年6月4.沈美明、温冬婵、张赤红编著,IBM–PC汇编语言程序设计—实验教程,清华大学出版社,1992年5.周明德,微型计算机IBM PC/XT(0520系列)系统原理及应用(修订版),清华大学出版社,19916.郑学坚、周斌,微型计算机原理及应用(第二版),清华大学出版社,19957.王士元、吴芝芳,IBM PC/XT[长城0520] 接口技术及其应用,南开大学出版社,19908.杨素行,微型计算机系统原理及应用,清华大学出版社,19959.戴梅萼、史嘉权,微型计算机技术及应用—从16位到32位(第二版),清华大学出版社,199610.张昆藏,IBM PC/XT微型计算机接口技术,清华大学出版社,199111.孟绍光,李维星,高档微机组成原理及接口技术(80386/80486/Pentium),学苑出版社,199312.吴秀清,周荷琴,微型计算机原理与接口技术,中国科学技术大学出版社目录第 1 章基础知识 (1)1.1进位计数制与不同基数的数之间的转换 (1)1.2二进制数和十六进制数的运算 (2)1.3计算机中数和字符的表示 (3)1.4几种基本的逻辑运算 (3)第 2 章 80X86计算机组织 (4)2.180X86微处理器 (4)2.2基于微处理器的计算机系统构成 (4)2.3中央处理机 (5)2.4存储器 (6)2.5外部设备 (7)第 3 章 80X86的指令系统和寻址方式 (8)3.180X86的寻址方式 (8)3.2程序占有的空间和执行时间 (10)3.380X86的指令系统 (10)第 4 章汇编语言程序格式 (27)4.1汇编程序功能 (27)4.2伪操作 (27)4.3汇编语言程序格式 (31)4.4汇编语言程序的上机过程 (34)第 5 章循环与分支程序设计 (37)5.1循环程序设计 (37)5.2分支程序设计 (38)5.3如何在实模式下发挥80386及其后继机型的优势 (38)第 6 章子程序结构 (40)6.1子程序的设计方法 (40)6.2子程序的嵌套 (41)6.3子程序举例 (41)第 7 章高级汇编语言技术 (43)7.1宏汇编 (43)7.2重复汇编 (44)7.3条件汇编 (45)第 8 章输入/输出程序设计 (46)8.1I/O设备的数据传送方式 (46)8.2程序直接控制I/O方式 (47)8.3中断传送方式 (47)第 9 章 BIOS和DOS中断 (50)9.1键盘I/O (50)9.2显示器I/O (52)9.3打印机I/O (53)9.4串行通信口I/O (54)第 10 章图形与发声系统的程序设计 (55)10.1显示方式 (55)10.2视频显示存储器 (55)10.3EGA/VGA图形程序设计 (56)10.4通用发声程序 (57)10.5乐曲程序 (58)第 11 章磁盘文件存取技术 (59)11.1磁盘的记录方式 (59)11.2文件代号式磁盘存取 (60)11.3字符设备的文件代号式I/O (61)11.4BIOS磁盘存取功能 (62)附录:《IBM—PC汇编语言程序设计》习题参考答案 (63)第一章.习题 (63)第二章.习题 (64)第三章.习题 (65)第四章.习题 (79)第五章.习题 (84)第六章.习题 (104)第七章.习题 (118)第八章.习题 (125)第九章.习题 (130)第十章.习题 (134)第十一章.习题 (145)第 1 章 基础知识【教学目的】本章内容是本课程的基础,通过本章学习,使学生明确汇编语言程序设计的学科性质、基本内容和学习意义,掌握数制的转换、数据的编码,了解本门课程的教学要求和学习方法。
汇编语言程序设计习题集111

汇编语言程序设计习题集111《汇编语言程序设计》习题一、选择题1. 机器数为10000000B, 它代表-127D,则它是(C )。
A. 补码B. 原码C. 反码D. 原码或反码2.[x1]原=10111101B, [x2]反=10111101B, [x3]补=10111101B (C )。
A. x1最小B. x2最小C. x3最小D. x2=x1=x33.计算机的内存“溢出”是指其运算结果()。
A .为无穷大B .超出了计算机内存储单元所能存储的数值范围C .超出了该指令所指定的结果单元所能存储的数值范围D .超出了一个字所能表示数的范围4. [x1]原=11001010B, [x2]反=11001010B, [x3]补=11001010B ,那么它们的关系是()。
A. x3>x1>x2B. x2>x3>x1C. x3>x2>x1D. x2>x1>x35. 在计算机中表示地址时使用(A )。
A 无符号数B 原码C 反码D 以上都不对6. 下面说法错误的是(D )。
A 8位二进制无符号数表示的最大十进制数是255B 8位二进制带符号数表示的最大十进制数是127C 计算机中无符号数最常用于表示地址D 计算机中小数点隐含在符号位之后,占一位7. 只有当与非门的输入变量A 、B 的值为()时,其输出才为0。
A 0,0B 0,1C 1,0D 1,18. 只有当或非门的输入变量A 、B 的值为()时,其输出才为1。
A 0,0B 0,1C 1,0D 1,19. 若逻辑运算Y=A+B, 当A=B=1时,Y 为()。
A 0B 1C 10D 210. 若门电路的两个输入量为1、1,输出量为0,不可能完成此功能的是()。
A “异或”门B “与非”门C “或非”门D “与”门11. 下列不正确的是()A A AB A B +=+ B _____AB A B =+C AB B AB A B ++=+D A B A B +=12.已知V AR 为字节变量,下面是关于①MOV BX, OFFSET V AR 和②LEA BX, V AR 指令的说明,正确的是()。
操作系统第二章课件第二章练习

第2章操作系统的基本概念一、单项选择题1. 操作系统是计算机系统中的()软件。
A.应用B.系统C.支撑D.工具2. 在计算机系统中配置了批处理操作系统,则能够()。
A.提高资源使用效率B.及时响应外部事件C.是用户直接干预作业的执行D.实现计算机间的通信3. 设计实时操作系统适应首先考虑()。
A.系统效率B.交互能力C.可移植性D.可靠性4. 如用户要利用计算机系统直接调试和控制程序的执行,则应在其上配置()操作系统。
A.批处理B.实时C.分时D.单用户5. 访管指令是一条()指令。
A.特权B.只允许在目态执行的C.只允许在管态执行的D.在目态和管态均可执行的6. 单操作系统完成了用户请求的“系统功能调用”后,应让中央处理器()工作。
A.维持在管态B.从管态转换到目态C.维持在目态D.从目态转换到管态二、多项选择题1. 在任何计算机系统中()。
A.主存储器可被中央处理器直接访问B.当CPU处于管态时只能执行特权指令C.操作系统只负责管理软件资源D.操作系统能接受用户输入的命令并控制用户程序的执行E.操作系统能为应用程序提供比裸机强的功能支持2. 各种类型的操作系统各有所长,它们追求的设计目标也不同,例如()。
A.多到批处理系统是为了提高系统的资源用率B.分时系统允许用户直接与计算机系统交互C.实时系统首先要考虑实时性和可靠性D.网络操作系统必须实现激素算计之间的通信及资源共享E.分布时操作系统要让多台计算机协作完成一个共同的任务3. 程序状态字是用来控制指令执行顺序并且保留和知识与程序有关的系统状态。
所以,()。
A. 每个程序都应该有一个PSWB. 程序状态字寄存器是用来存放当前运行程序的PSWC. 在多道程序设计系统中应设置多个程序状态自己村起来分别存放个成粗的PSW,以便多道并行执行D. 在用户程序的PSW中应置为管态,以便实用访管指令E. 处理器总是按程序状态字寄存器中的PSW控制程序的执行三、填空题1.计算机系统是由计算机________和计算机________两大部分组成。
操作系统习题2.1

进程的同步是进程的_____关系、进程的 互斥是进程的______关系。
对信号量S只能通过_____操作进行,其物 理意义是:一个相当于申请资源一个相 当于释放资源。
在操作系统中,不可中断执行的操作称 为______。
_______调度是高级调度,_______调度是 低级调度。
如果系统中的所有作业是同时到达的,则 作业平均周转时间最短的作业调度算法 是______。
操作系统习题(2)
选择
系统功能调用是( ) A 用户编写的一个子程序 B 高级语言中的程序库 C 操作系统中的一条命令 D 操作系统向用户提供的接口
用户及其应用程序和应用系统是通过() 提供的支持和服务来访问系统资源完成 其操作的。
A 点击鼠标 B 键盘命令 C 系统调用 D 图像用户界面
在单处理机系统中实现并发技术后,()。
C (3T1+2T2+T3)/3
D (T1+2T2+3T3)/3
一种既有利于短小作业又兼顾到长作业的 作业调度算法是()。
A 先来先服务 B 轮转 C 最高响应比优先 D 均衡调度
就绪队列中有n个就绪进程等待使用一个 CPU,那么如果采用不同的调度算法,总 共可能有()种调度顺序。
An
B n^n
个记录。缓冲区的大小和记录一样。请 用信号量来保证文件的正确打印。
分析: 问题本身是生产者消费者问题 PA是生产者 PB既是生产者又是消费者 PC是消费者 其中涉及到的缓冲区有两种 所以分别对缓冲区进行管理 设置 empty1,full1,empty2,full2四个信号量 var empty1,full1,empty2,full2:semaphore:=1,0,1,0
A 进程相应的程序段的长度 B 进程总共需要运行时间多少 C 进程自身和调度策略 D 进程完成什么功能
第7章子程序设计

程序如下: ; 7-5.asm 堆栈传参。实现两个矩阵的乘法c=a*b data segment a db 1,1,1,1 db 2,2,2,2 db 3,3,3,3 b db 1,1,1 db 2,2,2 db 3,3,3 db 4,4,4 m dw 3 ;A矩阵3行4列 n dw 4 ;B矩阵4行3列 p dw 0 c db 9 dup(?) ;C矩阵3行3列 data ends code segment assume cs:code,ds:data main proc far
;子程序2:查表,显示十六进制 let2: mov dx,offset mess2 ;显示提示2 mov ah,9 int 21h mov bx,x mov ch,4 mov cl,4 rept1: rol bx,cl ;0031→0310→3100→1003→0031 mov al,bl and ax,000fh ;保留最低4位 mov si,ax mov dl,hex[si] ;查表显示高位、低位 mov ah,2 out1: int 21h mov ah,4ch dec ch int 21h jnz rept1 code ends ret end start
7.2 调用和返回
CALL指令和RET指令是机器指令。调 用指令CALL与无条件转移指令JMP一 样,都是对指令指针寄存器IP作修改 后,转移到子程序执行。 有时也需要修改代码段寄存器CS的值, 作跨段调用。因此都有转移地址的寻 址方式问题。
7.2.1 调用指令CALL
格式: CALL 子程序名 功能:转移到指令指定的地址(子程序 名)去执行子程序。CALL指令必须指定 转移的目标地址。执行时,先将断点入 栈保存,再修改IP或修改IP、CS。
;子程序3,将bx中的数显示为十进制数 subr3 proc near mov ax,bx ;bx为传参寄存器 mov cx,0 mov bx,10 let1: ;将ax变为十进制数 mov dx,0 inc cx ;统计余数个数 idiv bx ;除以10,商在AX,余数在DX push dx ;保存余数 cmp ax,0 jnz let1 let2: ;循环显示余数 pop ax add ax,0030h mov dl,al mov ah,2 int 21h loop let2 ret subr3 endp ;将余数弹入ax ;调整为ASCII码
汇编语言程序设计考试题型说明(老师上课讲的题)

汇编语言程序设计考试题型说明一、填空题(20%)二、选择题(15% )三、是非判断题(10%)四、简答题(10%)五、指出语句错误(8%)六、程序分析题(12%)七、程序填空题(10%)八、程序设计题(15%)•汇编语言题型讲解一、填空题例1.任何变量都有段地址、偏移地址、类型三种属性。
例2.“VAR DB 5 DUP(8,2 DUP(5))”语句汇编应分配15个字节单元。
例3. 请用一条指令实现如下操作:(1)将AX中划‘X’的位清0(2)将BL寄存器的低四位取反:X O R B L,0F H。
例 4.假设存储器中各字节单元的内容是:(06925H)=12H,(06926H)=45H,(06927H)=78H,那么字单元(06925H)= 4512H ,字单元(06926H)= 7845H。
例5.语句DA2 DW ‘AB’ 汇编后在DA2字节单元中存放42H,在DA2+1字节单元中存放41H。
例6.若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOV AX,[SI+COUNT]中,源操作数的有效地址EA为20A8H,其物理地址为11488H。
例7.R E P、R E P Z、R E P N Z。
例8. DB指令以字节为单位分配存贮;DW指令以字为单位分配存贮。
故如下数据定义:V1 DB 4 DUP (2), 2COUNT EQU 10V2 DW COUNT DUP(?)为变量V1分配5个字节存贮区;为变量V2分配20个字节存贮区。
例9.在执行串处理指令时,为了使地址自动增量,应执行指令:C L D,该指令使得方向标志位例10.中断程序的入口地址称为中断向量IBM PC机中,共有256个中断源,每个中断向量占内存中的中断向量表4个字节。
例11.一个字存入堆栈时,堆栈指针SP -2修正;从堆栈中取出一个字时,SP +2修正,SP 总是指向栈顶单元。
例12.下面是对DOS功能调用方法的简单说明:(1)在AH寄存器中存入所要调用功能的功能号;(2)根据所调用功能的规定设置入口参数;(3)用I N T21H(4)相应的子程序运行完后,可按规定取得出口参数。
个人电话号码查询系统设计报告

问题描述:实现一个简单个人电话号码查询系统,根据用户输入信息(如姓名等)进行快速查询。
基本要求:(1)在内存中,设计数据结构存储电话号码信息;(2)在外存上,用文件保存电话号码信息;(3)提供查询功能:根据姓名实现快速查询;(4)提供其他维护功能,例如插入、删除、修改等。
需求分析:(1)输入数据建立个人电话号码查询系统。
(2)输出个人电话号码查询系统中的所有联系信息。
(3)插入新的联系人信息。
(4)查询该系统中满足要求的信息。
(5)删除不需要的联系人信息。
数据结构设计:(一)模块设计本程序包含两个模块:主程序模块和链表操作模块。
其调用关系如下图所示.(二)系统子程序及功能设计本系统中共设置5个子程序,子程序的函数名及功能说明如下,其中大部分都是链表的基本操作函数。
(1)LinkList Book_Creat(LinkList list) //1.新建个人电话号码信息(2)LinkList Book_Print(LinkList list) //2.浏览个人电话号码信息(3)Book_Search(LinkList list) //3.查找个人电话号码信息(4)LinkList Book_Del(LinkList list) //4.删除个人电话号码信息(5)main() //主函数。
设定界面颜色和大小,调用链表操作模块(三)函数主要调用关系图算法设计:(一)概要设计:为了实现需求分析中的功能,可以从三个方面着手设计。
1.主界面设计为了实现个人电话号码查询系统各功能的管理,设计一个含有多个菜单项的主菜单子程序已链接系统各项子功能,方便用户使用本系统。
本系统主控菜单运行界面如图所示:2.存储结构设计本系统主要采用链表结构类型来表示存储在“简单个人电话号码查询系统”中的信息。
其中,链表结点由4个分量构成:成员姓名、电话号码1、电话号码2、指向该结构体的指针。
3.系统功能设计本系统设置了5个子功能菜单,设计描述如下:(1)新建个人电话号码信息。
2020年计算机三级考试《嵌入式系统开发技术》备考题及答案

2020年计算机三级考试《嵌入式系统开发技术》备考题及答案1.以下关于ARM处理器寄存器说法错误的是( )。
A.R0~R7在任何模式下均作为通用寄存器使用B.R0~R15寄存器的位数为32位C.作为链接寄存器LR的是R14D.堆栈指针sP使用的寄存器是R15答案:D2.以下关于ARM处理器说法错误的是( )。
A.大端格式是指数据的高字节存储在高字节地址中,低字节数据存放在低字节地址中B.ARM处理器支持8位、16位和32位数据处理C.MPU为ARM处理器的存储器保护单元D.MMU为ARM处理器的存储器管理单元答案:A3.关于ARM指令中的条件域,以下表述错误的是( )。
A.H1为无符号数大于为无符号数小于C.GT为带符号数大于D.LE为带符号数小于答案:D4.需要ARM指令完成的功能是:如果不相等,则进行减法,正确的指令是( )。
A.SUBVS R1,R2,R3B.SUBEQ R1,R2,R3C.SUBLS R1,R2,R3D.SUBNE R1,R2,R3答案:D5.以下ARM指令中源操作数属于立即寻址的指令是( )。
A.SUBCC R1,R2,R3B.LDRB R0,[R1]C.AND R1,R,R3D.MOV R1,#0x0B答案:D6.以下对伪指令的解释正确的是( )。
A.DCD0x23;在内存区域分配一个字节的内存空间并初始化为0x23B.CODEl6;伪指令通知编译器,其前的指令序列为16位的Thumb指令C.MyBaud EQU 9600;定义一个常量MyBaud的值为9600D.IMPORT Label;声明一个全局的标号Label,该标号可在其他文件中引用答案:C7.在ARM汇编语言程序设计中,用于子程序设计及调用,常用的指令是( )。
A.BL MyLabelB.BX MyLabelC.BLX MyLabelD.B MyLabel答案:A8.将R1寄存器中的指定位bit0和bit3清零,以下ARM汇编指令正确的是( )。
几个常用的DOS 系统功能调用(INT 21H)_汇编语言程序设计(第2版)_[共2页]
![几个常用的DOS 系统功能调用(INT 21H)_汇编语言程序设计(第2版)_[共2页]](https://img.taocdn.com/s3/m/bdd893d2cc175527072208fb.png)
42
图3-21 重新挂载后新增文件出现
3.5 几个常用的DOS系统功能调用(INT 21H)
在前面介绍的程序实例中,键盘的输入和显示输出都采用了DOS系统功能调用INT 21H,大大简化了编程。
所谓功能调用是计算机系统设计的简单I/O子程序,程序员不必了解繁琐的输入/输出的操作细节,而以一种简单、统一的方式使用外部设备,从而集中精力于算法编程,来实现程序目标。
DOS系统功能INT 21H调用的方法:
(1)将调用功能的功能号存入AH寄存器;
(2)如必要,设置该调用功能的入口参数(调用参数);
(3)执行INT 21H指令;
(4)如必要,按规定取得出口参数(返回参数)。
DOS系统功能调用INT 21H,有数百种功能供用户使用。
下面介绍几个常用的DOS系统功能调用,简要描述如表3-1所示。
更多的DOS系统功能调用见附录。
表3-1 部分常用的DOS系统功能调用(INT 21H)
AH 功能入口参数出口参数
01 键盘输入一个字符并回无 AL=输入字符
02 显示输出一个字符DL=输出字符无
07 键盘输入(无回显)无AL=输入字符
09 显示字符串
DS:DX=串地址
字符串以‘$’结束
无
0A 键盘输入到缓冲区
DS:DX=缓冲区首地址
(DS:DX)=缓冲区字节数
(DS:DX+1)=实际字节数
(DS:DX+2)=输入的串地址4C 程序结束AL=返回码无。
2006年7月操作系统试题和答案

全国2006年7月高等教育自学考试操作系统试题课程代码:02326一、单项选择题(本大题共20小题,每小题1分,共20分)1.由多台计算机组成的一个网络,网络中各台计算机之间无主次之分,任意两台计算机可以通信,它们共享网络中的资源,系统中的若干台计算机可相互协作完成同一任务。
实现这样功能的操作系统是()A.批处理单道系统B.批处理多道系统C.网络操作系统D.分布式操作系统2.下面关于操作系统的叙述中,正确的是()A.分时系统不一定都具有人机交互功能B.由于采用了分时技术,用户真正独占了计算机系统的资源C.批处理作业必须具有控制作业执行的说明书D.从响应时间的角度来看,实时系统与分时系统差不多3.用户程序执行时,若中央处理器取到一条“访管指令”,则中央处理器应该()A.从管态转到目标B.从目态转到管态C.维持在管态D.维持在目态4.发生中断时,把保护起来的被中断的进程的PSW称为()A.当前PSW B.旧PSWC.新PSW D.交换PSW5.多道程序设计是指()A.每个用户同时编制多个程序B.一个处理器上同时运行多个程序C.把多个计算问题同时装入主存储器并行执行D.把一个计算问题分成多个独立执行的子程序6.关于分区存储管理,说明正确的是()A.一个分区的存储管理只适用于单用户的情况B.一个分区的存储管理适用于多用户的情况C.一个分区的存储管理适用于单用户或多用户的情况D.一个分区的存储管理既适用于单用户的情况也适用于多用户的情况7.虚存页面调度算法有多种,不是..页面调度算法的是()A.后进先出B.先进先出C.最近最少使用D.最近最不常用8.关于虚拟存储管理技术,除了需要有一个作业表以外,正确的说明是()A.页式存储管理需要提供一个页表B.页式存储管理需要为每一个作业提供一个页表C.段式存储管理需要提供一个段表D.段页式存储管理需要为每一个作业提供一个段表和一个页表9.表示“可执行的代码文件”的文件扩展名是()A.BA T B.SQLC.SYS D.EXE10.某若干相同数据项(姓名,学号,性别,出生年月,总成绩)组成的记录式文件,数据项_____能作为记录的主键。
汇编语言模拟卷

模拟试卷试卷一一、单项选择题(本大题共15小题,每小题2分,共30分)1.与MOV BX, OFFSET V AR指令完全等效的指令是()。
(A)MOV BX, V AR (B)LDS BX, V AR(C)LES BX, V AR (D)LEA BX, V AR2.DEBUG中的执行一段子程序的命令是()。
(A)D (B)T (C)P (D)U3.不能作为地址指针的寄存器是()。
(A)CX (B)BX (C)DI (D)SI4.已知, (AX)=0F234H,执行OR AX, 963FH后,则SF,CF的值为()。
(A)SF=1,CF=1 (B)SF=1,CF=0(C)SF=0,CF=1 (D)SF=0,CF=05.AL=11011011B ,CL=2,执行SAR AL, CL后,AL寄存器的内容是()。
(A)00110110 (B)01101100(C)01101111 (D)111101106.下面两个传送指令语句中源操作数寻址方式是()。
V AR1 DW 32HV AR2=32H......MOV AX, V AR1MOV BX, V AR2(A)都是立即数寻址(B)立即数寻址,直接寻址(C)直接寻址,立即数寻址(D)都是直接寻址7.变量具有()。
(A)偏移属性(B)符号属性(C)段属性(D)段属性和偏移属性8.寄存器间接寻址方式中,操作数在()中。
(A)通用寄存器(B)堆栈(C)内存单元(D)段寄存器9.下列对END语句的叙述正确的是()。
(A)END是一可执行语句(B)END表示程序执行到此结束(C)END表示源程序到此结束(D)END在汇编后产生机器码10.下列叙述不正确的是()。
(A)存储单元与逻辑地址之间的关系是一一对应的(B)存储单元与物理地址之间是一一对应的(C)一个逻辑地址对应一个存储单元(D)一个存储单元可以用不同的段地址和偏移地址表示11.下列指令合法的是()。
(A)OUT AX, 30H (B)OUT DX, AL(C)OUT AL, DX (D)OUT 30H, AH12.当一个带符号数大于0FBH时程序转移,选择的条件转移指令是()。
子程序调用与系统功能调用

1.2 系统功能调用的方法
子程序使用CALL指令完成子程序调用,而系统功能调用采用软 中断的方法。例:MOV DL,’A’
MOV AH,02H
;准备入口参数
INT 21H
<>
1.3 编写通用子程序的使用说明
为了保证子程序能够被不同的用户使用,应当注明以下内容: 子程序名:便于用户调用。 子程序功能:实现的操作是什么。 入口参数和传送方式:告知用户准备哪些数据,怎样传送到子 程序。 出口参数和传送方式:告知用户怎样获得结果。 占用资源:以防与用户的资源产生冲突。 若又调用其它子程序,应告知用户准备。
汇编语言程序设计
子程序调用与系统功能调用
1.1 子程序与系统功能调用
子程序相当于高级语言中的过程或函数,子程序设计是结 构化程序设计的有力手段。利用子程序,一个软件可以由多个 程序员开发、独立编写相应的子程序,提高效率;也可将常用 的程序段编成子程序库,便于经常调用。
PC系统的设计者对常用的硬件操作如:I/O设备管理、文件 管理、内存管理等功能编写了相应的子程序供用户随时调用, 称之为系统调用,而将这些子程序汇合构成操作系统。
典型应用:编写一段使用该子程序的小程序,方便用户参考。
<>
汇编语言程序设计
操作系统试题

一、解析术语1.管道2.管程3.通道4.SPOOLING技术5.多道程序设计技术和对换技术6.虚拟CPU7.虚拟存储器8.虚拟设备9.进程10.线程11.文件12.系统抖动13.驱动程序14.文件15.地址空间16.信号量17.可重定位18.分时操作系统二、填空题1.操作系统是计算机系统中的一种系统软件,它以尽可能合理、有效的方式组织和管理计算机的,并控制程序的执行,使整个计算机系统高效的运转。
2.在多道程序设计环境下,操作系统的主要特征为。
3.进程是由程序、数据和组成的。
进程的和并发性是进程的两个最重要的属性。
4.并发进程中涉及相同变量的程序段叫做,对这些程序段要执行。
5.在有m个进程的系统中出现死锁时,死锁进程的个数k应该满足的条件是______。
6.程序经编译或汇编以后形成目标程序,其中的指令顺序是以0作为参考地址进行编址的,这些地址称为。
7.在UNIX系统中,对文件镜像控制和管理的数据结构称做。
8.在一个单CPU系统中,若系统有N个用户进程(N>1),且当前CPU为用户态,则处于阻塞状态的用户进程数最多为_____个,最少为_____个。
9.考虑下图的段表:那么,逻辑地址(2,88)对应的物理地址是;逻辑地址(4,92)对应的物理地址是。
10. 进程在运行过程中,运行态和_____都可能变为______。
11.和是操作系统的两个最基本的特征,二者之间互为条件。
12.在WINDOWS系统中,对文件控制和管理的数据结构称做。
13. 将分区管理发展成分页管理的主要目的是。
14. 某程序运行时经常需打印中间结果。
计算时,该进程处于____态,打印时处于_____态。
15. 计算机中CPU的工作状态分为系统态和用户态两种。
系统态运行系统程序,用户态运行程序。
16. 文件转储的方法有两种:全量转储和。
17. 操作系统中采用技术可以实现以空间换取时间。
18. 磁盘属于块设备,信息的存取单位是以为单位进行的;磁盘的I\O控制主要采用控制方式。
《第13课 调用系统子程序》教学设计教学反思-2023-2024学年小学信息技术人教版三起01六年级

《调用系统子程序》教学设计方案(第一课时)一、教学目标:本课教学目标是使学生能够理解并掌握调用系统子程序的基本概念和操作方法。
通过学习,学生应能熟悉Windows操作系统中常用子程序的名称和功能,并能够在实际操作中正确调用这些子程序,如使用计算器、画图工具等。
同时,培养学生良好的信息技术操作习惯和安全意识。
二、教学重难点:重点:掌握调用系统子程序的基本方法,能够独立完成常用子程序的调用。
难点:理解系统子程序的功能及其在不同情境下的应用,培养学生灵活运用知识解决问题的能力。
三、教学准备:1. 硬件准备:确保每个学生的电脑都能正常连接至网络,并安装有Windows操作系统。
2. 软件准备:准备教学所需的多媒体课件,包括系统子程序的介绍、操作演示等。
3. 资源准备:准备相关的教学视频、操作指南等辅助教学资源。
4. 环境准备:为学生营造一个安全、稳定、舒适的学习环境,确保教学活动的顺利进行。
通过以上,通过建设良好的校园设施、配备完善的教学设备、维持良好的校园秩序和安全环境,为学生的全面发展提供必要的物质和精神支持。
同时,注重校园环境的绿化美化,让学生在舒适的环境中感受到学习的乐趣和成就感。
为了确保教学活动的顺利进行,我们还应关注学生的心理健康和身体健康。
定期开展心理健康教育和体育活动,帮助学生建立积极向上的心态和健康的体魄。
此外,我们还应营造师生之间和谐互动的氛围,建立和谐的师生关系,增强师生之间的信任感和归属感,为学生创造一个更加友好、温暖的学习环境。
综上所述,我们应当全力以赴为学生们打造一个既安全又稳定,既舒适又富有教育意义的学习环境。
这样不仅可以有效推动学生的学习进步,更能让他们在成长的道路上更加自信、坚定地前行。
四、教学过程:1. 课前导学与预习任务教师活动- 教师需要提前做好教材解读和知识点梳理,设计一份精简且有趣的学习预告。
- 在课程管理平台上发布学习预告和本课时需要了解的基本知识视频材料。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例8.2.1试设计一程序,完成两个长补码的加法,其中两个长补码的长度是相同的,并且采用低地址存放低位,高地址存放高位的方式存储。
加法功能使用子程序实现,两个长补码的起始地址、长补码的长度(以字为单位)、运算结果的起始地址均由主程序以入口参数的形式传递给子程序;运算是否溢出使用一个字节标志来表示,00H表示运算无溢出,0FFH 表示运算溢出,子程序将此溢出标志以出口参数的形式传递给主程序。
本例中参数传递方式采用寄存器传递方式。
1)设计参数传递约定题目已指明参数传递为寄存器传递方式,这里只需要具体约定寄存器与参数间的对应关系。
在本例中,我们约定主程序通过SI、DI寄存器传递两个长补码的起始偏移量(认为两个长补码位于同一数据段,并且段基值保存到DS中),通过CX寄存器传递补码的长度,通过BX寄存器传递运算结果的起始偏移量(认为段基值已保存在DS中);并且,我们约定子程序通过DL寄存器传递溢出标志。
2)源程序设计参数传递约定设计完成后,我们开始源程序设计,主程序与子程序的相应代码如下所示。
DA TA SEGMENTV AR1 DW 5482H, 669EH, 02C7H, 14B2H, 0C254HV AR2 DW 8C2BH, 0C24CH, 0AB12H, 357AH, 41A5HLEN EQU $-V AR2SUM DW LEN DUP(0) ; 用于保存运算结果OVR DB ? ; 用于保存溢出标志DA TA ENDSSTACK1 SEGMENT STACK ; 子程序设计必须使用堆栈段DW 40H DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS: CODE, DS: DA TA, SS: STACK1BEGIN: MOV AX, DA TAMOV DS, AXLEA SI, V AR1 ; 传递入口参数LEA DI, V AR2MOV CX, LENLEA BX, SUMCALL LONGADD ; 调用子程序MOV OVR, DL ; 保存出口参数MOV AH, 4CHINT 21HLONGADD PROCPUSHF ; FR、AX入栈,保护CPU现场PUSH AXCLC ; 清除CF标志,保证第一次执行ADC时等同于ADD L1: MOV AX, [SI]ADC AX, [DI] ; 完成当前字的加法,引入了上次加法的进位PUSHF ; 保护OF标志MOV [BX], AX ; 当前字的计算结果保存到指定位置ADD SI, 2 ; 修改SI、DI、BX,使它们指向下一个字ADD DI, 2ADD BX, 2POPF ; 恢复OF标志LOOP L1 ; 计数循环,完成所有字单元的加法后退出循环JO L2 ; 判断最后一次运算是否溢出MOV DL,0 ; 无溢出则将0送至DL保存,传递出口参数JMP L3L2: MOV DL,0FFH ; 有溢出则将0FFH送至DL保存,传递出口参数L3: POP AX ; 恢复CPU现场POPFRET ; 返回主程序LONGADD ENDPCODE ENDSEND BEGIN读者在上例中应注意,首先,主程序向子程序传递入口参数、取得出口参数都是按照约定来进行的;其次,读者应注意子程序中的现场保护与恢复,它们分别在子程序的首位部分用PUSH和POP指令来实现;第三,由于上例中采用寄存器来传递参数,当执行子程序时,各参数已在寄存器中就位,使我们在子程序中没有找到“取入口参数”的动作,但实际上入口参数在子程序中已经可以直接使用。
例8.2.2试设计一程序,完成例8.2.1中指定的功能,但本例中参数传递方式采用堆栈传递方式。
1)设计参数传递约定题目中已指定参数传递方式为堆栈传递方式,这里只需约定入口参数入栈的顺序与出口参数的出栈顺序。
我们约定主程序按照被加数起始偏移量、加数起始偏移量、被加数与加数的长度、运算结果起始偏移量的顺序将入口参数入栈,子程序则按照相应顺序来获取入口参数;并且,我们约定子程序的出口参数覆盖最先入栈的入口参数,因为只有一个出口参数,返回主程序后,主程序只需将出口参数出栈即可。
2)源程序设计参数传递约定设计完成后,我们开始源程序设计,主程序与子程序的相应代码如下所示。
DA TA SEGMENTV AR1 DW 5482H, 669EH, 02C7H, 14B2H, 0C254HV AR2 DW 8C2BH, 0C24CH, 0AB12H, 357AH, 41A5HLEN EQU $-V AR2SUM DW LEN DUP(0) ; 用于保存运算结果OVR DB ? ; 用于保存溢出标志DA TA ENDSSTACK1 SEGMENT STACK ; 子程序设计必须使用堆栈段DW 40H DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS: CODE, DS: DA TA, SS: STACK1BEGIN: MOV AX, DA TAMOV DS, AXLEA SI, V AR1 ; 通过堆栈传递入口参数PUSH SILEA SI, V AR2PUSH SIMOV SI, LENPUSH SILEA SI, SUMPUSH SICALL LONGADD ; 调用子程序POP DX ; 出口参数出栈MOV OVR, DL ; 保存出口参数MOV AH, 4CHINT 21HLONGADD PROCPUSH BP ; BP作为现场加以保护MOV BP, SP ; 获取当前栈顶位置PUSHF ; 保护CPU现场PUSH AXPUSH BXPUSH CXPUSH SIPUSH DIMOV BX, [BP+4] ; 取得保存运算结果的起始偏移量MOV CX, [BP+6] ; 取得被加数、加数得长度MOV DI, [BP+8] ; 取得加数的起始偏移量MOV SI, [BP+10] ; 取得被加数的起始偏移量CLC ; 清除CF标志,保证第一次执行ADC时等同于ADD L1: MOV AX, [SI]ADC AX, [DI] ; 完成当前字的加法,引入了上次加法的进位PUSHF ; 保护OF标志MOV [BX], AX ; 当前字的计算结果保存到指定位置ADD SI, 2 ; 修改SI、DI、BX,使它们指向下一个字ADD DI, 2ADD BX, 2POPF ; 恢复OF标志LOOP L1 ; 计数循环,完成所有字单元的加法后退出循环JO L2 ; 判断最后一次运算是否溢出MOV [BP+10],0 ; 无溢出则将0送至堆栈保存,传递出口参数JMP L3L2: MOV [BP+10],0FFH ; 有溢出则将0FFH送至堆栈保存,传递出口参数L3: POP DI ; 恢复CPU现场POP SIPOP CXPOP BXPOP AXPOPFPOP BPRET 6; 返回主程序,仅清除3个入口参数,因最先入栈的入口参数已被出口参数覆盖LONGADD ENDPCODE ENDSEND BEGIN在本例中,堆栈中重要的状态如下图所示(每个方格表示一个字节)。
读者在本例中应注意,首先,主程序向子程序传递参数时,是通过入栈操作完成的,并且遵循了先前设计的约定顺序;其次,子程序从堆栈中取得入口参数是使用BP 寄存器来完成的,这是由于入口参数位于比返回地址更高的地址单元中,不便使用出栈操作来完成;第三,子程序向堆栈传递出口参数时,覆盖了主程序最先入栈的入口参数,因此返回时仅使用RET 指令清除了位于低地址端的三个入口参数。
另外,在程序设计中,如果采用堆栈传递参数,务必记得使用RET N 指令,在返回主程序的同时清除堆栈中的入口参数,如果这些入口执行子程序第二条指令MOV BP , SP 后堆栈的状态执行子程序中现场保护后堆栈的状态 子程序返回主程序后堆栈的状态参数不加以清除,就会越积越多,直至堆栈溢出。
8.3.3 系统调用示例在本小节中,我们将举出一些系统调用的示例,这些示例将使用上一小节中介绍的系统调用完成一些常用的字符、字符串的输入、输出功能。
例8.3.1设计一程序,完成如下功能:将光标移至新行行首,从键盘接收单个字符,在屏幕当前光标位置回显输入字符,若输入的是大写英文字符则转换为小写字符,若输入为非大写英文字符则不做任何处理,将处理后的字符在新行上显示,循环执行上述过程,直到接收到回车字符为止。
STACK1 SEGMENT STACKDW 40H DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS: CODE, SS: STACK1BEGIN: CALL NEWLINE ; 光标置于下一行行首MOV AH, 01HINT 21HCMP AL, 0DH ; 判断是否为回车字符JNZ L1JMP L2 ; 若是回车字符则退出循环L1: CMP AL, ‘A’; 判断输入字符是否为大写字符JAE L3JMP L4L3: CMP AL, ‘Z’JBE L5JMP L4L5: SUB AL, 20H ; 若是大写字符则转换为小写字符L4: CALL NEWLINE ; 光标置于下一行行首MOV DL, AL ; 显示转换后的字符MOV AH, 02HINT 21HJMP BEGIN ; 循环控制L2: MOV AH, 4CHINT 21HNEWLINE PROC ; 实现回车换行的子程序PUSH AXPUSH DXMOV DL, 0DHMOV AH, 02HINT 21HMOV DL, 0AHMOV AH, 02HINT 21HPOP DXPOP AXRETNEWLINE ENDPCODE ENDSEND BEGIN在例8.3.1中,使用21H号调用的01H号子功能接收单个字符,使用02H号子功能显示单个字符。
NEWLINE子程序中显示了0DH与0AH两个字符,分别为回车字符与换行字符,这两个字符属于控制字符,只改变光标位置,不显示具体字符。
回车字符不改变光标所在行,只是将光标置于第0列(首列);换行字符则不改变光标所在列,只是将光标置于下一行同列位置,若光标已到屏幕底部,则使文本上滚一行。
因此,NEWLINE子程序的功能是将光标置于下一行的首列位置。
程序中的字符转换方法是将大写字符的ASCII码减去20H,这是因为大写字符的ASCII码范围为41H至5AH,小写字符的ASCII码范围为61H至7AH,对应的大小写字符间相差20H。
例8.3.2设计一程序,完成如下功能:从键盘接收一个字符串,并在接收时回显输入的字符串,输入字符串最大允许20个字符(不计回车字符),将字符串中的数字字符全部删除,并在新行上显示处理后的字符串。
DA TA SEGMENTMAXLEN DB 20 ; 0AH子功能入口参数,指定最大字符数INPTLEN DB ? ; 0AH子功能出口参数,返回实际输入的字符数STR1 DB 21 DUP(0) ; 0AH子功能的字符串缓冲区STR2 DB 21 DUP(0) ; 09H子功能的字符串缓冲区DA TA ENDSSTACK1 SEGMENT STACKDW 40H DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS: CODE, DS: DA TA, SS:STACK1BEGIN: MOV AX, DA TAMOV DS, AXLEA DX, MAXLEN ; 输入字符串MOV AH, 0AHINT 21HXOR CX, CXMOV CL, INPTLEN ; 循环次数为实际输入的字符数LEA SI, STR1LEA DI, STR2LOP1: CMP [SI], 30H ; 判断当前字符是否为数字字符JAE L1JMP L2L1: CMP [SI], 39HJA L2JMP L3L2: MOV AL, [SI] ; 若为非数字字符则保存至STR2 MOV [DI], ALINC DIL3: INC SI ; 若为数字字符则不保存至STR2 LOOP LOP1MOV [DI], ‘$’; STR2以‘$’字符结尾CALL NEWLINE ; 回车换行LEA DX, STR2 ; 显示处理后的字符串MOV AH, 09HINT 21HMOV AH, 4CHINT 21HNEWLINE PROC ; 实现回车换行的子程序PUSH AXPUSH DXMOV DL, 0DHMOV AH, 02HINT 21HMOV DL, 0AHMOV AH, 02HINT 21HPOP DXPOP AXRETNEWLINE ENDPCODE ENDSEND BEGIN类似DOS功能调用09H的字符串显示子程序DOS功能调用09H是实现字符串显示的软中断。