微机原理与接口技术PPT第四章.ppt
文本预览下载声明
4.1 引 例 4.1.2 其他常用伪指令 一、重复子句定义语句 形式:重复次数 DUP (EXP [,EXP] ?) 其中重复次数取非零正整数,EXP可以是常数表达式、字符串以及“?”。 例如: b DB 100 DUP (?) d DD 4 DUP (160), 90 DUP(?A5?) t DT 7, 10 DUP (56) 二、符号定义语句 有三种等价语句: 1、赋值等价语句 形式: 名字 = EXP 功能: 汇编时该名字用表达式的值取代,类似与高级语言的符号数。允许重新定义。 例如: lab=la-lb price=30 ? price=40 2、数值等价语句 形式: 名字 EQU EXP 功能:该语句与赋值等价语句功能一样,唯一的区别 是,用EQU定义的名字不允许再定义。 例如: lab EQU la-lb price EQU 30 ? price EQU 40 ;错误的定义 3. 解除定义伪指令PURGE 形式:PURGE 符号1,符号2,…,符号N 功能:解除指定符号的定义。 解除符号定义后,可用EQU重新进行定义。如: Y1 EQU 7 ;定义Y1的值为7 PURGE Y1 ;解除Y1的定义 Y1 EQU 36 ;重新定义Y1的值为36 三、地址计数器---$ 用法一:表示指令的首地址 例: JNE $+6 其转向地址是JNE指令的首地址加上6。 注意:在这里,$+6必须是另一条指令的首地址,否则, 汇编程序将指示出错信息。 用法二: 当$用在伪操作的参数字段时,则它所表示的是地址计数器的当前值。 4.2 汇编语言源程序上机过程 4.3 程序结构设计 三、循环程序设计1.循环程序结构 2. 循环程序的组成 (1) 循环初始化。 初始化完成设置循环次数的计数值,设置循环初 始地址,以及为循环体正常工作而建立的初始状态等。 (2) 循环体。 该部分是为完成程序功能而设计的主要程序段。 (3) 循环修改。 循环的修改部分是为避免程序原地踏步,保证每一 次重复(循环)时,参加执行的信息能发生有规律的变化而 建立的程序段。 (4) 循环控制。 是循环程序设计的关键。 3. 循环程序设计方法 例: 设计一个程序,完成从1连加到100(即1+2+...+99+100) 的操作,结果保存在数据段的SUM单元。 分析: 一般计算过程sum=1+2=3 sum=3+3=6 sum=6+4=10 sum=4950+100 结构性和可读性差。 程序清单如下。 4.3.2 BIOS中断调用 一、 什么是BIOS BIOS(Basic Input/Output System) -----监控程序,固化主板的ROM中 包含:系统测试程序(POST)、初始化引导程序(BOOT)、 I/O设备的基本驱动程序和许多常用程序模块, 一般以中断服务程序的形式存在。 二、 BIOS中断调用 1.概念: 即借用每一台计算机中BIOS固有的I/O操作程序来方便 地解决自己的问题,由于它已经在计算机中了,因此人们不必 再把它写入自己的程序,只要指明它的操作位置就可以了。 2. BIOS调用的基本操作 (1) 设置分功能号:给指定寄存器(通常为AH)送入分功能号。 (2) 置入口参数:给寄存器填写相应参数的内容(某些调用无参数)。 (3) 使用中断语句INT n:执行调用的功能,其中n为中断号。 (4) 分析出口参数。 注意:某些BIOS调用可能没有出口参数,这时省略第(4)步操作 3. BIOS打
显示全部