西北工业大学微机原理汇编语言程序设计课件.ppt

西北工业大学微机原理汇编语言程序设计课件.ppt

ID:57033916

大小:304.50 KB

页数:23页

时间:2020-07-27

西北工业大学微机原理汇编语言程序设计课件.ppt_第1页
西北工业大学微机原理汇编语言程序设计课件.ppt_第2页
西北工业大学微机原理汇编语言程序设计课件.ppt_第3页
西北工业大学微机原理汇编语言程序设计课件.ppt_第4页
西北工业大学微机原理汇编语言程序设计课件.ppt_第5页
资源描述:

《西北工业大学微机原理汇编语言程序设计课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章汇编语言程序设计4.1汇编语言4.2顺序结构程序4.3分支程序设计4.4循环程序设计4.5子程序设计4.1汇编语言4.1.1汇编语言及语句格式汇编汇编语言源程序目标程序1、指令语句[标号:]助记符操作数;注释2、伪指令语句[名字]定义符参数;注释4.1.2数据定义伪指令格式DBDW变量DD表达式1,表达式2,……DQDT此伪指令把存储单元中的数与一个变量联系起来。其中:DB------字节类型DW------字类型DD------双字类型DQ------四字类型DT------五字类型格式中表达式可以是:

2、1、一个或多个常数/数值表达式例如2、不带引号的?或带引号的字符串例如3、重复方式DUP格式:变量定义符表达式1DUP(表达式2)其中,表达式1为重复次数表达试2为重复内容例如4、定义过的变量/标号如DATA11DWDATA1DATA12DDDATA2GODATA1DB30HDATA2DW0240H,3500HDATA1DATA3DB(-1*3),(16/4)DATA2DATA4DD34567HDATA3DATA4返回30H40H02H00H35HFDH04H67H45H03H00HDATA5DB?DATA6D

3、W?DATA5DATA7DB‘ABCD’DATA6DATA8DW‘AB’,’CD’DATA7DATA8返回------41H42H43H44H42H41H44H43HDATA9DW2DUP(?)DATA10DB2DUP(5,2DUP(0))DATA9DATA10返回--------05H00H00H05H00H00H变量和标号的属性变量定义数据的逻辑地址,其属性有段属性、偏移地址属性、类型属性。其类型属性如下:BYTE-----字节WORD-----字DWORD----双字PWORD----三字QWORD---

4、-四字TWORD----五字标号定义指令的逻辑地址,其属性有段属性、偏移地址属性、距离属性。其距离属性如下:NEAR----近程(默认)FAR-----远程4.1.3段定义伪指令格式1、简化的段定义伪指令.MODEL----内存模式说明(TINY、SMALL、MEDIUM、COMPACT、LARGE).X86------选择80X86指令系统.X86P-----选择80X86保护模式指令系统.DATA-----定义数据段.STARTUP—指示程序开始,初始化DS,SS.CODE-----定义代码段.STACK-

5、---定义堆栈段.EXIT-----返回操作系统2、完整的段定义伪指令(1)段定义伪指令段名SEGMENT[属性]……段名ENDS(2)段寄存器定义伪指令ASSUME段寄存器1:段名1,段寄存器2:段名2,……4.1.4汇编结束伪指令对于简化的段结构程序,汇编结束伪指令格式:END对于完整的段结构程序,汇编结束伪指令格式:END标号4.2顺序结构程序例1将一个2位数压缩的BCD码转换成二进制数..MODELSMALLMULBH.DATAADDAL,BLBCDDB01011001BMOVBIN,ALBINDB?.

6、EXIT.CODEEND.STARTUPMOVAL,BCDMOVBL,ALANDBL,0FHANDAL,0F0HMOVCL,4RORAL,CLMOVBH,0AH4.3分支程序设计例1①用比较指令CMPDEST,SRCJEEQUL……EQUL:②用测试指令TESTDEST,SRCJNZNEXT……NEXT:③用逻辑指令SHRDEST,CLJCNEXT……NEXT:例2编程实现将键盘输入的小写字母转换成大写后输出。.MODELSMALLMOVDL,AL.DATAMOVAH,02HBLOCKDB‘ERROR!’,0D

7、H,0AH,’$’INT21H.CODEJMPDONE.STARTUPNEXT:LEADX,BLOCKMOVAH,1MOVAH,9INT21HINT21HCMPAL,‘a’DONE:.EXITJBNEXTENDCMPAL,‘z’JANEXTANDAL,11011111B4.4循环程序设计例1①MOVCX,COUNTAGAIN:……LOOPAGAIN②MOVCL,COUNTAGAIN:……DECCLJNZAGAIN③MOVCX,COUNTAGAIN:JCXZNEXT……JMPAGAINNEXT:例2在内存BLOC

8、K开始处存放了10个无符号字节数,从中找出最大值送入MAX单元中。.MODELSMALL.DATABLOCKDB100,60,20,……MAXDB?.CODE.STARTUPMOVCX,9MOVAL,BLOCKLEABX,BLOCKAGAIN:INCBXCMPAL,[BX]JAENEXTXCHGAL,[BX]NEXT:LOOPAGAINMOVMAX,AL.EXITEND例3多位十进制数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。