第4章 汇编语言程序设计-西北工业大学微机原理PPT.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:23 大小:400KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

第4章 汇编语言程序设计-西北工业大学微机原理PPT.ppt

第4章汇编语言程序设计-西北工业大学微机原理PPT.ppt

预览

免费试读已结束,剩余 13 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第四章汇编语言程序设计4.1汇编语言4.1.2数据定义伪指令格式DBDW变量DD表达式1,表达式2,……DQDT此伪指令把存储单元中的数与一个变量联系起来。其中:DB------字节类型DW------字类型DD------双字类型DQ------四字类型DT------五字类型格式中表达式可以是:1、一个或多个常数/数值表达式例如2、不带引号的?或带引号的字符串例如3、重复方式DUP格式:变量定义符表达式1DUP(表达式2)其中,表达式1为重复次数表达试2为重复内容例如4、定义过的变量/标号如DATA11DWDATA1DATA12DDDATA2GODATA1DB30HDATA2DW0240H,3500HDATA1DATA3DB(-1*3),(16/4)DATA2DATA4DD34567HDATA3DATA4返回DATA5DB?DATA6DW?DATA5DATA7DB‘ABCD’DATA6DATA8DW‘AB’,’CD’DATA7DATA8返回DATA9DW2DUP(?)DATA10DB2DUP(5,2DUP(0))DATA9DATA10返回变量和标号的属性变量定义数据的逻辑地址,其属性有段属性、偏移地址属性、类型属性。其类型属性如下:BYTE-----字节WORD-----字DWORD----双字PWORD----三字QWORD----四字TWORD----五字标号定义指令的逻辑地址,其属性有段属性、偏移地址属性、距离属性。其距离属性如下:NEAR----近程(默认)FAR-----远程4.1.3段定义伪指令格式1、简化的段定义伪指令.MODEL----内存模式说明(TINY、SMALL、MEDIUM、COMPACT、LARGE).X86------选择80X86指令系统.X86P-----选择80X86保护模式指令系统.DATA-----定义数据段.STARTUP—指示程序开始,初始化DS,SS.CODE-----定义代码段.STACK----定义堆栈段.EXIT-----返回操作系统2、完整的段定义伪指令(1)段定义伪指令段名SEGMENT[属性]……段名ENDS(2)段寄存器定义伪指令ASSUME段寄存器1:段名1,段寄存器2:段名2,……4.1.4汇编结束伪指令对于简化的段结构程序,汇编结束伪指令格式:END对于完整的段结构程序,汇编结束伪指令格式:END标号4.2顺序结构程序4.3分支程序设计例2编程实现将键盘输入的小写字母转换成大写后输出。.MODELSMALLMOVDL,AL.DATAMOVAH,02HBLOCKDB‘ERROR!’,0DH,0AH,’$’INT21H.CODEJMPDONE.STARTUPNEXT:LEADX,BLOCKMOVAH,1MOVAH,9INT21HINT21HCMPAL,‘a’DONE:.EXITJBNEXTENDCMPAL,‘z’JANEXTANDAL,11011111B4.4循环程序设计例2在内存BLOCK开始处存放了10个无符号字节数,从中找出最大值送入MAX单元中。例3多位十进制数相加:02233585+03703994,两数在内存中以DATA1和DATA2为首址存入,各分配4个字节单元,以其8位组合BCD码存入(低位在前),两数相加结果(组合BCD码)送回DATA1处。例4在首地址BLOCK处存放了10个字数据(无符号数),编程求其和,存入SUM单元。例4方法二例5两位十进制数乘法:25×80,被乘数和乘数以组合BCD码形式存于DATA1和DATA2两字节单元中,经乘法运算,乘积以组合BCD码形式存入DATA3定义的两个内存单元中。例6将内存首地址为BLOCK开始的10个带符号字节数,将其按由大到小的次序排列。4.5子程序设计4.5.2调用与返回指令1、调用指令CALL过程名CALLFARPTR过程名CALL过程名为段内调用,系统将:EIP(IP)堆栈新偏移地址EIP(IP)CALLFARPTR过程名为段间调用,系统将:CS堆栈EIP(IP)堆栈新偏移地址EIP(IP)新段基址CS2、返回指令RET或RETn例1输入一个字符,若其ASCII码小于41H,显示‘N’,否则显示‘C’。