- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[信息与通信]第4章第十次课
济南大学控制学院 2010年10月21日 4.5 汇编语言程序设计及举例 4.5.1 顺序结构程序(算术运算程序设计等) 4.5.2 分支结构程序 4.5.3 循环结构程序 回顾上次课的内容: 汇编语言的格式 语句行的构成 指示性语句 本课要求: 1、掌握程序设计的设计方法和技巧 2、掌握常见的顺序结构程序、分支结构程序、循环程序的设计方法。 难点:程序设计技巧 程序设计步骤 1.分析问题 2.建立数学模型 3.确定算法 4.绘制程序流程图 5.内存分配 6.编制程序 7.程序调试 例(补充) 自然数0~15的平方表,存在内存TABLE开始的连续16个单元中,现XAD单元存有任意一自然数(0? X15),查表求X的平方,存入YAD单元中。 解:X2 的值的地址: TABLE表的首地址 + X data segment table db 0,1,4,9,16,25,36,49,56,81 db 100,121,144,169,196,225 xad db 3 yad db ? data ends satack segment sta db 50 dup (?) top equ length sta stack ends code segment assume: cs:code,ds:data,ss:stack start proc far push ds ;将DS入栈 mov ax,0000h ;AX置零 push ax ;将0入栈 mov ax ,data ;初始化DS mov ds ,ax mov bx ,offset table ;表的首址送BX mov ah ,0 ;AH送0 mov al ,xad ;将X送AL add bx , ax ;求X平方值的地址 mov al , [bx] ;X平方值送AL mov yad , al RET start endp code ends end 从内存ADR单元开始,连续存放出1000个学生的 某门课成绩. 统计: 90~100,80~89,70~79, 60~69,60以下各段人数. 解: 设 CX: 计数器, BX: 数据指针. 定义: S5, S6,…S9 单元 存放各分数段 的人数. AX: 待查分数. DATA SEGMENT ADR DW 56,71,83,90,…. S5 DW ? S6 DW ? ……………………… S9 DW ? DATA ENDS CODE SEGMENT MAIN PROC FAR ASSUME CS:CODE, DS:DATA START: PUSH DS MOV AX, 0 PUSH AX MOV AX , DATA MOV DS , AX MOV CX, 1000 MOV BX, OFFSET A
文档评论(0)