天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第五章 程序设计

每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY 第五章程序设计 信息与通信工程学院
第五章 程序设计

每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY 程序是计算机命令(语句)的有序集合。 汇编语言与高级语言区别 汇编语言是面对机器的,要求程序员对机器 指令系统、内存空间分配了如指掌,地址是汇编 语言关键所在,执行速度快,但可移植性差。 高级语言是面向过程的,程序员没必要了解 内存分配,更符合人的思维方式,执行速度相对 慢一些,可移植性好。 信息与通信工程学院
程序是计算机命令(语句)的有序集合。 汇编语言与高级语言区别 汇编语言是面对机器的,要求程序员对机器 指令系统、内存空间分配了如指掌,地址是汇编 语言关键所在,执行速度快,但可移植性差。 高级语言是面向过程的,程序员没必要了解 内存分配,更符合人的思维方式,执行速度相对 慢一些,可移植性好

每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY 1简单程序(顺序程序) 计算机执行程序“从头到尾”,逐条顺序执行, 直到程序结束。 【例1】用数据运算指令,对两个16位数做加法运 算。这两个数从地址10050H开始连续存放,低位在 小地址一端,结果存放在这两个数之后。 信息与通信工程学院
计算机执行程序“从头到尾”,逐条顺序执行, 直到程序结束。 1.简单程序(顺序程序) 【例1】用数据运算指令,对两个16位数做加法运 算。这两个数从地址10050H开始连续存放,低位在 小地址一端,结果存放在这两个数之后

每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY MOVAX 1000H MOVDSAX DS=1000H MOVSISOH 被加数指针SI=50H MOVDISZH ;加数指针DI=52H MOBX,54H;和的指针BX=54H CLC ;清CF XOR AXAX ;清AX MOVAX,S;取一个字到AX ADC AX,DI AX←AX+[D+CF MOVIBXLAX 存一个字到[BX HLT ;暂停 信息与通信工程学院
MOVAX,1000H MOV DS,AX ;DS=1000H MOVSI,50H ;被加数指针SI=50H MOVDI,52H ;加数指针DI=52H MOVBX,54H ;和的指针BX=54H CLC ;清CF XOR AX,AX ;清AX MOVAX,[SI] ;取一个字到AX ADC AX,[DI] ;AX←AX+[DI]+CF MOV[BX],AX ;存一个字到[BX] HLT ;暂停

每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY 例2】将内存10050H单元的内容拆成两段,每 段4位,并将它们分别存入内存10051H和10052H单 元。即10050H单元中的低4位放入10051H的低4位, 10050H单元中的高4位放入10052H的低4位,而 10051H和10052H的高4位均为零。 信息与通信工程学院
【例2】将内存10050H单元的内容拆成两段,每 段4位,并将它们分别存入内存10051H和10052H单 元。即10050H单元中的低4位放入10051H的低4位, 10050H单元中的高4位放入10052H的低4位,而 10051H和10052H的高4位均为零

每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY MOV AX 1000H MOV DS AX DS=1000H MOV SI,50H;需拆字节的指针S|=50H MoAL,[s;取一个字节到AL中 AND AL OFH 把AL的前4位清0 MO[s|],AL;把得到的后4位放到10051H单元 MoAL,[S;再取出需拆字节放到AL中 MOV CL 4 SHR AL,cL;逻辑右移四次,前4位补0 Mov[SH2],AL;放入10052H单元 HLT 信息与通信工程学院
MOV AX , 1000H MOV DS , AX ;DS=1000H MOV SI , 50H ;需拆字节的指针SI=50H MOV AL , [SI] ;取一个字节到AL中 AND AL , 0FH ;把AL的前4位清0 MOV [SI+1] , AL ;把得到的后4位放到 10051H单元 MOV AL , [SI] ;再取出需拆字节放到AL中 MOV CL , 4 SHR AL , CL ;逻辑右移四次,前4位补0 MOV [SI+2] , AL ;放入10052H单元 HLT

每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY 2分支程序 分支程序是利用条件转移指令,使程序执行到某 指令后,根据条件是否满足,来改变程序的执行次序。 程序使计算机有了判断的功能。经常先用比较指令或 数据操作及位检测指令改变标志寄存器各个标志位。 然后用条件转移指令进行分支 【例1】求AX累加器和BX寄存器中两个无符号数之 差的绝对值,结果放在内存2800H单元中。 信息与通信工程学院
分支程序是利用条件转移指令,使程序执行到某一 指令后,根据条件是否满足,来改变程序的执行次序。 程序使计算机有了判断的功能。经常先用比较指令或 数据操作及位检测指令改变标志寄存器各个标志位。 然后用条件转移指令进行分支。 【例1】求AX累加器和BX寄存器中两个无符号数之 差的绝对值,结果放在内存2800H单元中。 2.分支程序

每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY 开始 初始化:除CF AE≥0? 否 足 E内存(2800和(2801H)单元 一内存(2800)和(2801H)单元 齿停 信息与通信工程学院

每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY CLC 清除CF MOV CX AX SUB AX,BX;AX←AX一Bx,影响CF JCAA;CF=1转AA去执行(即AX<Bx时转移) MoVD,2800H;结果指针D|=2800H Mo[D,AX;结果送到2800H和2801H单元 JMP LP ;暂停 AA: SUB BX CX BX+Bx--CX MOV DI 2800H MOV [DI, BX LP. HLT 信息与通信工程学院
CLC ;清除CF MOV CX , AX SUB AX , BX ;AX←AX-BX,影响CF JC AA ; CF=1转AA去执行(即AX<BX时转移) MOV DI , 2800H ;结果指针DI=2800H MOV [DI] , AX ;结果送到2800H和2801H单元 JMP LP ;暂停 AA: SUB BX , CX ;BX←BX-CX MOV DI , 2800H MOV [DI] , BX LP: HLT

每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY 【例2】编制程序,从外设71号端口中取一个数M, 判断其值是否在10和20之间,即10≤M<20。如果 M≌20H,则送0FFH给外设73H端口;如果M<10, 则送00H给外设73H;如果10≤M<20,则送88H给外 设73H。 START:NAL,71H;将7H端口的字节读入AL CLC 清除CF CMP AL,10:AL←AL-10 JC LP1 小于10转LP1 CMP AL,20AL←AL-20 JC LP2 ;10≤AL<20转LP2 MOV BL0FFH;将0FFH送入BL寄存器 LP3: MOV AL BL 信息与通信工程学院
【例2】编制程序,从外设71号端口中取一个数M, 判断其值是否在10和20之间,即10≤M<20。如果 M≥20H,则送0FFH给外设73H端口;如果M<10, 则送00H给外设73H;如果10≤M<20,则送88H给外 设73H。 START: IN AL,71H ;将71H端口的字节读入AL CLC ;清除CF CMP AL,10 ; AL←AL-10 JC LP1 ; 小于10转LP1 CMP AL,20 ; AL←AL-20 JC LP2 ; 10≤AL<20转LP2 MOV BL,0FFH ;将0FFH送入BL寄存器 LP3: MOV AL,BL
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)绪论.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第一章 基础知识.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第三章 8086微处理器及系统.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第二章 存储器.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第五章 汇编语言及程序设计.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第五章 程序设计.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第三章 8086指令系统.ppt
- 《大学计算机基础教程》课程教学资源:PPT教学课件 第1章 计算机基础.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第八章 JavaScript 核心语言对象.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第七章 JavaScript 语法基础.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第六章 层叠样式表.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第五章 使用表格和表单.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第四章 HTML.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第三章 制作动态网页.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第二章 使用 Dreamweaver 制作网页.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第一章 Dreamweaver 使用入门.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第十章 处理表单和表单元素事件.ppt
- 北大青鸟:《HTML—JavaScript》课程电子教案(PPT教学课件)第九章 JavaScript 中的浏览器对象.ppt
- 宜昌市广播电视大学:《计算机网络》PPT教学课件(共五章).ppt
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件)第八章 使用指针.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第四章 8086/8088的指令系统.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第五章 汇编语言及程序设计.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第六章 计算机中的中断技术.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第七章 可编程中断控制器8259A.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第八章 输入输出接口技术.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第九章 可编程定时/计数器8253.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第九章 可编程定时/计数器8253.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第十章 串行通信及串行通信接口8250.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第二章 MCS-51单片机的内部结构.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第三章 MCS-51单片机的指令系统.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第四章 汇编语言及程序设计.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第六章 MCS-51内部定时器/计数器.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第五章 MCS-51的中断系统.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第十一章 从80286到pentium.ppt
- 天津工业大学:《计算机原理及接口技术》课程教学资源(PPT课件讲稿)第七章 MCS-51单片机扩展技术.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第10章 输入输出流.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第2章 数据类型与表达式.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第3章 C++控制语句.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第4章 函数.ppt
- 《C++语言程序设计》教材电子教案(PPT教学课件)第5章 数组与指针.ppt