




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 4 章 第 4 章 通过本章的学习,应当掌握以下内容: n了解汇编语言的基本知识和特点。 n熟悉汇编语言的程序结构、段定义以及语句的格式。 n掌握汇编语言常用伪指令的使用方法。 n熟练掌握汇编语言程序设计的基本方法:顺序结构、 分支结构、循环结构和子程序结构。 n*掌握程序设计中的宏指令和常用的系统功能的调用方 法。 教学目的 综合硬指令和伪指令,从程 序结构角度展开程序设计, : 分支结构程序设计 循环结构程序设计 子程序结构程序设计 教学重点 1. 掌握基本程序结构基本程序结构顺序结构顺序结构、循环循环 结构结构、分支结构分支结构及其汇编语言程序设计 2. 熟悉常见程序设计熟悉常见程序设计问题: 数据范围判断数据范围判断(09、AZ、az) 字母大小写转换字母大小写转换; 字符串传送、比较等操作字符串传送、比较等操作 求最大最小值、数据求和、统计字符个求最大最小值、数据求和、统计字符个 数数 数组排序,查找,插入,删除数组排序,查找,插入,删除 第 4 章 (3)分支结构 (4) 子程序结构 程序结构 (5)复合结构:多种程序结构的组合 (1) 顺序结构 (2) 循环结构 第 4 章 编制汇编语言程序的步骤 (1) 分析题意,确定算法 (2)根据算法画出程序框图 (3)分配存储空间及工作单元 (4)根据框图编写程序 (5)上机调试程序 第 4 章 4.8 汇编语言程序设计实例 1、算术运算例题 例1:在偏移首地址为ARRAY的内存储区,有100个字型 数据,要求将数组的每个元素加1,试编写汇编语言 程序完成该要求。 DATA SEGMENT ARRAY DW 100 DUP (?) ;定义100个字型随机数 DATA EDNS CODE SEGMENT ASSUME DS:DATA,CS:CODE 第 4 章 START:MOV AX,DATA MOV DS,AX LEA BX , ARRAY ;设数组首地址指针 MOV CX , LENGTH ARRAY ;数组数据长 AA1: INC WORD PTR BX,1 ;BYTE PTR? ADD BX,2 ;移动地址指针 LOOP AA1 ;循环操作 思考: 进位如何考虑? 第 4 章 例2: 有两个无符号字节型数组,设数组元素个数相等 ,编程将数组中的对应元素相加,结果存入另一内存 区。 DATA SEGMENT M1 DB 20 DUP (?) M2 DB 20 DUP(?) M3 DW 20 DUP (0) DATA ENDS CODE SEGMENT 第 4 章 LEA SI , M1 ; 设数组1的地址指针 LEA DI , M2 ;设数组2的地址指针 LEA BX , M3 ;设结果区的地址指针 MOV CX , 20 AA1: MOV AL , SI ADD AL , DI MOV BX ,AL ADC BYTE PTRBX+1 ,0 ;存结果的进位 INC SI INC DI ADD BX , 2 LOOP AA1 第 4 章 2、逻辑处理题 例1:将寄存器AL中高、低4位交换 MOV AL , 0ABH MOV CL , 4 ROL AL , CL ;移出位补充移空位4次 第 4 章 例2:将AX中的内容按相反顺序存入BX中 MOV AX , 1234H MOV CX , 16 AA1: SHL AX , 1 ;移出的位进到CF RCR BX , 1 ;AX中移出的位进入BX LOOP AA1 第 4 章 3、代码转换例题 例1:编程将以$结束的字符串中的小写字母改 为大写字母。 DATA SEGMENT STR DB heLLo,eveRyboDY !,$ DATA ENDS 第 4 章 LEA BX ,STR A1: MOV AL ,BX CMP AL ,$ ;是$符,则结束 JE DONE CMP AL ,a JB NEXT ;低于,则为大写字母 CMP AL ,z JA NEXT ;高于,则不是字母 SUB AL , 20H ;将小写字母改为大写 MOV BX , AL NEXT: INC BX JMP A1 第 4 章 例2:十六进制数到十进制数的转换。 除10取余法 MOV AX , 4B6CH MOV CX , 0 ;统计除法次数 MOV BX , 10 ; A1: MOV DX , 0 ;被除数扩展为32位 DIV BX PUSH DX ;将转换好的数存入堆栈 INC CX OR AX , AX ;转换直到商为0 JNZ A1 第 4 章 4、表格处理题 例1:编程序将09的数字转换成所要求的密码 明码和密码的映射关系为: 0 1 2 3 4 5 6 7 8 9 2 7 1 6 9 0 8 3 4 5 DATA SEGMENT TABLE DB 2, 7, 1, 6 ,9, 0, 8, 3, 4, 5 ;密码表 VAL1 DB 8, 4, 1, 7, 5 ;被加密码(明码) VAL2 DB 5 DUP(?) DATA ENDS 第 4 章 MOV SI , OFFSET VAL1 MOV DI , OFFSET VAL2 MOV CX , 5 LEA BX , TABLE ;表格首地址指针 A1: MOV AL ,SI ;取明码 XLAT ;转换为密码 MOV DI , AL INC SI INC DI LOOP A1 思考:如果改为数据解密,如何编程? 第 4 章 5、串指令题 例1:将偏移地址为STG1,长度为COUNT的数据块传送到 偏移地址为STG2的内存中。 DATA SEGMENT STG1 DW 25 DUP(?) STG1 DW 25 DUP(?) COUNT EQU 25 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA, 第 4 章 START:MOV AX,DATA MOV DS,AX MOV ES,AX MOV CS,COUNT LEA SI,STG1 LEA DI,STG2 CLD REP MOVSW 。 思考:如果源地址与目的地址重叠,如何修改程序? 第 4 章 6、按数据大小排序题 例1:编程序实现,从一串带符号字型数据中找出最 大值。 DATA SEGMENT BLOCK DW 762EH,6A8BH,664AH,0B945H,85DH COUNT EQU ($BLOCK)2 DATA ENDS 第 4 章 LEA SI , BLOCK MOV CX , COUNT M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 通信工程承包施工合同协议书
- 专业品牌策划与推广服务协议
- 特色农产品养殖与收购协议书
- 高一(上)化学阶段检测卷
- 《中世纪的欧洲经济与文化发展高中历史教案》
- 八步区总工会活动方案
- 公交公司元旦活动方案
- 公交广告活动方案
- 毕业那一天初三作文800字10篇范文
- 公众号视频活动方案
- 琉璃瓦维修专项施工方案
- 计量管理知到智慧树章节测试课后答案2024年秋中国计量大学
- 以学为主的历史教学心得体会
- 河口区域生态规划-深度研究
- 临床试验管理委员会的职责与流程
- 《西安交通大学》课件
- 信息化和工业化融合管理体系 柔性生产指南 征求意见稿
- 科室医疗质量与安全管理小组成员及职责
- 公车驾驶员安全教育
- 2025年中核汇能有限公司招聘笔试参考题库含答案解析
- 2023-2024学年北京市朝阳区四年级下学期期末英语真题及答案
评论
0/150
提交评论