微机原理 4-2程序设计
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章 汇编语言程序设计
MS-DOS使用中断号21H作为系统说明,为程序员 提供了上百种系统服务功能。对这些功能的调用步骤 如下: (1) 由AH给出功能号。 (2) 根据相应功能的要求,设置入口参数。DOS系 统功能调用的入口参数通常是放在指定的内部寄存器 器中,少数功能调用也可以没有入口参数。 (3) 执行中断指令INT 21H。 (4) 分析和使用出口参数。
(1) 置入口参数;
(2) 选功能号于 AH 中;
(3) 使用“ INT 中断号”语句调用。
微机原理与接口技术 BIOS 调用 常用的 第4章
汇编语言程序设计
1、INT 10H(显示器输出) 中断 10H 来实现各种屏幕处理功能
AH功能号有:
微机原理与接口技术 BIOS 调用 常用的 第4章
汇编语言程序设计
微机原理与接口技术 DOS 调用 第4章 汇编语言程序设计 常用的 程序结束的常用方法: (1)DOS功能调用4CH:MOV AH ,4CH INT 21H (2)DOS中断调用20H:INT 20H (3)转移到0单元:JMP 0;0单元有INT 20H (4)DOS功能调用00H:MOV AH,0 INT 21H (5)HLT暂停
START: MOV MOV MOV ADD MOV MOV ADC MOV MOV INT CODE ENDS END
AX,DATA DS,AX AX,XL AX,YL ZL,AX AX,XH AX,YH ZH,AX AH,4CH 21H
三、顺序程序设计 微机原理与接口技术 第4章
例4.2.3.2:
3、示例 例4.2.4.1 例4.2.4.2 例4.2.4.3
汇编语言程序设计
条件转移分支 Page132例4-15 跳转实现多路分支
例4.2.4.1 条件转移分支
设计要点:先进行比较或者测试,影响FR相关标志 位,再检测标志位,用JXX实现转移。如下面程序片段, 实现DATA1的奇数/偶数判断:
TEST DATA1,01H;改变FR中ZF位 JZ NEXT ;偶数转移 INC DATA1 ;奇数则加1 NEXT:„„
微机原理与接口技术
第4章 汇编语言程序设计
微机原理与接口技术
第4章 汇编语言程序设计
§4.1汇编语言的基本语法 一、汇编语言源程序格式 二、汇编语言语句结构 三、汇编语言的操作数 四、汇编语言伪指令 §4.2汇编语言程序设计 一、设计步骤 二、I/O的DOS调用功能 三、顺序程序设计 四、分支程序设计 五、循环程序设计 六、子程序设计
硬件与软件之间的接口。
微机原理与接口技术 BIOS主要功能:
第4章 汇编语言程序设计
(1) 系统自检及初始化。加电硬件检测;
外设初始化;设置中断向量;引导操作系统。
(2) 系统服务。为操作系统和应用程序提
供系统服务,如读取键盘输入等。
(3) 硬件中断处理。硬件中断服务程序。
调用BIOS子程序的步骤:
★可以用下面JNS程 序替换JS后的语句:
JNS MOV JMP ZERO:SUB JMP PLUS BX,0FFFFH DONE BX,BX DONE PLUS:MOV BX,0001H DONE:MOV Y,BX MOV AH,4CH INT 21H MAIN ENDP CODE ENDS END START
微机原理与接口技术
第4章 汇编语言程序设计
§4.1汇编语言的基本语法 一、汇编语言源程序格式 二、汇编语言语句结构 三、汇编语言的操作数 四、汇编语言伪指令 §4.2汇编语言程序设计 一、设计步骤 二、I/O的DOS/BIOS调用功能 三、顺序程序设计 四、分支程序设计 五、循环程序设计 六、子程序设计
过程 END
三、顺序程序设计 微机原理与接口技术 第4章
例4.2.3.1:对两16bit数求和运算
汇编语言程序设计
分析: 利用AX进行,先加低8位ADD,再加高8位ADC 流程:
START
X低8位送AX Y低8位+AX 和送ZL
X高8位送AX Y高8位+AX
和送ZH
END
三、顺序程序设计 微机原理与接口技术 第4章
区分: INT 20H;用于COM文件结束,正常退出 INT 21H;中断方式退出,可调用00H,4CH
微机原理与接口技术
第4章 汇编语言程序设计
§4.1汇编语言的基本语法 一、汇编语言源程序格式 二、汇编语言语句结构 三、汇编语言的操作数 四、汇编语言伪指令 §4.2汇编语言程序设计 一、设计步骤 二、I/O的DOS/BIOS调用功能 三、顺序程序设计 四、分支程序设计 五、循环程序设计 六、子程序设计
程序: STACK
汇编语言程序设计
SEGMENT STACK DW 64 DUP(?) STACK ENDS DATA SEGMENT XL DW? XH DW? YL DW? YH DW? ZL DW? ZH DW? START DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK
四、分支程序设计 微机原理与接口技术 第4章
汇编语言程序设计
1、特点: •指令执行时有选择的执行 •程序中出现JMP、JXX时转移 •程序流向可以是二分支和多分支 •流程图必须有START、选择菱形框、END
2、分支结构程序流程图
N 处理2 条件判断
条件判断 Y 处理1
处理1
处理2
处理3
四、分支程序设计 微机原理与接口技术 第4章
三、顺序程序设计 微机原理与接口技术 第4章
1、特点: •按照编写指令的次序顺序执行 •每条指令执行一次 •次序由CS:IP决定 •流程图只有START、过程方框、END
2、顺序结构程序流程图 3、示例 例4.2.3.1 例4.2.3.2 例4.2.3.3
汇编语言程序设计
START
过程
…
X+Y=Z Page130例4-13 查平方值
2、INT=16H(键盘输入)
AH功能号有:
00H—从键盘读一个字符,输入字符不回显。 01H—判断键盘缓冲区内是否有字符可读。 02H—读取当前键盘状态字。
例如: 从键盘读入一个字符,需以下3步: (1) 入口参数:无 (2) AH=00H (3) INT 16H
微机原理与接口技术 §4.2汇编语言程序设计 二、I/O的DOS/BIOS调用功能 2、DOS调用功能
微机原理与接口技术
第4章 汇编语言程序设计
§4.1汇编语言的基本语法 一、汇编语言源程序格式 二、汇编语言语句结构 三、汇编语言的操作数 四、汇编语言伪指令 §4.2汇编语言程序设计 一、设计步骤 二、I/O的DOS/BIOS调用功能 三、顺序程序设计 四、分支程序设计 五、循环程序设计 六、子Z-540))/X
分析: X*Y,用AX计算,存入BX:CX中
X*Y+Z,用AX+CX,ADD;和DX+BX,ADC;存入BX:CX
X*Y+Z -540,用CX-540,考虑借位,存入BX:CX V-(X*Y+Z-540),用AX-CX,DX-BX,存入DX:AX (V-(X*Y+Z-540))/X,用DX:AX完成,商存于QR,余 数存于REMAINDER
2、显示DL字符 功能号 :02H。
入口参数:DL=要显示的ASCII码。
出口参数:无。
功能
功能号 功能
:显示DL中的字符。
:4CH :终止程序执行,。
3、带返回码结束程序 入口参数:AL=返回码。
微机原理与接口技术 DOS 调用 常用的 第4章
汇编语言程序设计
4、显示一个字符串 功能号 :09H。 入口参数:DS:DX=欲显示字符串在内存 的首地址,且字符串必须以‘$’(24H) 作为结 束符。 出口参数:无。 功能 :在当前光标位置,显示由DS: DX所指的、以‘$’结尾的字符串,且光标右 移。其中,‘$’不算在显示的字符串之内。
微机原理与接口技术 START:MOV AX,DATA 第4章 汇编语言程序设计 MOV DS,AX ;数据段地址装填 MOV ES,AX ;附加段地址装填 MOV SI,OFFSET BUF ;(堆栈段地址系统装填) XOR AX,AX ;AX清0 MOV AL,X ;取X DEC AL ADD SI,AX ;X平方值的地址 MOV AL,[SI] ;取X的平方值 MOV X,AL MOV AH,4CH INT 21H ;返回DOS CODE ENDS END START
微机原理与接口技术 §4.2汇编语言程序设计 二、I/O的DOS/BIOS调用功能 1、BIOS调用功能*
第4章 汇编语言程序设计
BIOS(BASIC INPUT OUTPUT SYSTEM)基本 输入/输出系统.指固化在ROM中的一组程序, 也称ROM BIOS。
BIOS提供了最低,最直接的硬件控制,是
微机原理与接口技术 DOS 调用 常用的 第4章
汇编语言程序设计
1、键盘读入一个字符
功能号 :01H。
入口参数:无。 出口参数:AL=输入字符的ASCII码。 功能 :等待从键盘读入一个字符,
将其ASCII码送入AL,同时将字符显示在 屏幕上。
微机原理与接口技术 DOS 调用 常用的 第4章
汇编语言程序设计
例如: 在显示器上显示一个字符需以下 3 步: (1) 入口参数:AL=需显示字符的ASCII码, BH=页号,BL=字符的显示属性。 (2) AH=09H (3) INT 10H 执行完成后,就会在显示器上按指定的字 符属性显示该字符。
微机原理与接口技术 BIOS 调用 常用的 第4章
汇编语言程序设计
四、分支程序设计 微机原理与接口技术 第4章 例4.2.4.2 符号函数实现分支
汇编语言程序设计
设计要点:需要根据符号实现Y的值的选择。先AND AX,AX或者OR AX,AX,影响FR的ZF、SF,再检测标志 位,用JMP实现转移。 ZF=0,则Y=0 ZF=1,再测试SF=1,则Y=-1(0FFFFH) ZF=1,再测试SF=0,则Y= 1( 0001H)
流程: 略
程序: Page130例4-13
微机原理与接口技术 例4.2.3.3: 第4章 汇编语言程序设计 以BUF为首地址的内存中存有1~15的平方表。查表求X 单元中数(在1~15之间)的平方值,并送回X单元。 NAME EXAM2 DATA SEGMENT BUF DB 1,4,9,16,25,36,49,64 DB 81,100,121,144,169,196,255 X DB 12 DATA ENDS STACK SEGMENT STACK ’STACK’ DW 100 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK
第4章 汇编语言程序设计 1、分析条件结论,建立 近似模拟数学模型。 §4.2汇编语言程序设计 2、优选逻辑简单、运算 一、设计步骤 速度快、精度高算法。 1抽象模型 3、适当划分功能模块。 7调试修改 4、用箭头线段、框图及 菱形等绘制流程图。 2确定算法 5、分配内存、CS、DS、 6编制程序 SS、ES。 3划分模块 6、按语法书写解决问题 5资源分配 的过程,并仔细检查。 * 7 、汇编程序、连接 4绘制流程 程序、动态调试。上机
微机原理与接口技术
微机原理与接口技术 7* 汇编语言程序设计上机过程 第4章 汇编语言程序设计
⑴、生成源程序.ASM文件: C:>EDIT FILENAME.ASM
⑵、产生目标代码.OBJ文件:C:>MASM <源文件名>
汇编后生成以下几个文件:
.OBJ文件;若源程序有语法错误时,会出现错误信息提示。 .LST列表文件;将源程序中各语句和符号表以清单方式列出。 .CRF交叉引用文件;给出源程序中定义的符号引用情况。
⑶、连接生成可执行文件** C:>LINK <源程序文件名>
⑷、运行程序
⑸、DEBUG调试程序
C:\MASM><文件名>
微机原理与接口技术
第4章 汇编语言程序设计
**①计划生成.COM文件 • 程序段仅由一个代码段组成 • 其堆栈部分在该段的高地址端,即不允许另 外定义堆栈段; • 数据的定义可在任意地方 • 程序段必须从100H处开始运行 • 程序段的CS、DS、ES和SS四个段全部重叠, 程序段的最大空间为64K,不必对DS和ES赋以初值 **②计划生成.EXE文件 • 必须单独定义堆栈段 • 通常应对DS和ES寄存器赋以初值