微机原理课件第9讲.ppt

微机原理课件第9讲.ppt

ID:51495658

大小:1.15 MB

页数:42页

时间:2020-03-24

微机原理课件第9讲.ppt_第1页
微机原理课件第9讲.ppt_第2页
微机原理课件第9讲.ppt_第3页
微机原理课件第9讲.ppt_第4页
微机原理课件第9讲.ppt_第5页
资源描述:

《微机原理课件第9讲.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第四章汇编语言程序设计4.1汇编语言的程序结构和语句格式4.2伪指令语句4.3汇编语言程序设计基础4.2伪指令语句【伪指令语句】在汇编期间进行处理,主要完成变量定义,存储器分配,指示程序开始和结束,段定义,段分配等。伪指令没有对应的机器代码,不像指令语句那样由CPU来执行,它是由汇编程序在汇编期间进行处理。伪指令则不产生与之相应的目标代码。示例偏移量机器码程序0000CODESEGMENTASSUMECS:CODE00000405PROG_S:ADDAL,05H000290NOP0003EBFBJMPSHORTPROG_S000590NOP0006CODEE

2、NDSEND伪指令语句分类数据定义语句,如DB,DW,DD等标号赋值语句,如EQU,=等段定义语句,如SEGMENT…ENDS段分配语句,如ASSUME过程定义语句,如PROC…ENDP程序开始结束语句,如ORG,END数据定义伪指令【格式1】变量名助记符操作数1,…操作数n;注释【格式2】变量名助记符nDUP(操作数1,…操作数n);注释功能:将操作数存入变量名指定的存储单元中,或者只分配存储空间不存入数据。变量名:用符号表示,可以省略,后面不跟冒号。汇编时将变量助记符后的第一个字节的偏移地址作为它的符号地址。助记符:所用伪指令助记符主要有DB,DW,DD

3、,DQ,DT。数据定义伪指令操作数:操作数可以是常数,字符串,变量,标号,表达式等。多个操作数之间必须用逗号分开;格式2中,n必须是正整数。注释:说明伪指令的功能,可以省略,注释前必须带分号“;”,如果注释在一行中注释写不下,换行写时,前面必须加上分号。数据定义伪指令【例】操作数是常数和表达式DA1DB10H,52HDA2DW1122H,34HDA3DD5*20H,0FFEEH汇编后数据在存储器中存放格式如图所示:105222113400DA1DA21122H34HA0000000DA3EEFF000000A0H0FFEEH数据定义伪指令【例】操作数是字符串

4、FIRSTDB‘HELLO’SEDW‘OK’DW在定义字符串时,只能定义两个,若要定义多个字符,只能用DB。汇编后数据在存储器中存放格式如图所示:48454C4CFIRST‘HELLO’4B4FSEKO4FDB与DW在存放上的区别①NUM1DB12H,34H②NUM2DW1234H③CHAR1DB‘OK’④CHAR1DW‘OK’1234NUM13412NUM24F4BCHAR1OK4B4FCHAR2KO数据定义伪指令【例】操作数用DUP定义重复变量。ONEDB5DUP(0)TWODW10DUP(?)THRDB4DUP(1,2DUP(20H))00…ONE?…

5、TWO00…?012020…THR0120205个20个4个下列变量各占多少字节?A1DW23H,5876HA2DB3DUP(?),0AH,0DH,‘$’A3DD5DUP(1234H,567890H)A4DB4DUP(3DUP(1,2,‘ABC’))课堂练习A1:2*2=4A2:3+3=6A3=5*(4+4)=40A4:4*(3*5)=60段定义语句分类名:汇编时,汇编程序连接时将所有分类名相同的逻辑段组成一个段组。【常见格式】段名SEGMENT逻辑段内容段名ENDS我们在学习时,可以忽略其它因素,会识别,使用常用格式即可。段分配语句【段分配语句】ASSU

6、ME【格式】ASSUMECS:段名,DS:段名,SS:段名,ES:段名段名必须是前面段定义语句SEGMENT…ENDS中定义的段名。代码段的定义是必须的。段程序开始时,需要将数据段(除代码段)的段基址装入相应的段寄存器中。数据段段基地址→DS,堆栈段段基地址→SS,扩展段段基地址→ES,【例】两个16位无符号二进制数相乘DATASEGMENTD1DW1234HD2DW5678HP1DW?P2DW?DATAENDSSTACKSEGMENTSTACK‘STACK’STTDB100DUP(?)TOPEQULENGTHSTTSTACKENDSCODESEGME

7、NTASSUMECS:CODE,DS:DATA,SS:STACKSTART:;程序部分CODEENDSENDSTART数据段堆栈代码段程序部分MOVAX,STACK;初始化SS,SPMOVSS,AXMOVSP,TOP;栈顶偏移地址送堆栈指示器SP中。MOVAX,DATA;初始化DS,必须先送AX,再转存MOVDS,AXL1:MOVAX,D1;D1*D2,积的高位在DX,低位在AXMULD2MOVBX,OFFSETP1;积送P2和P1指向的存储单元MOV[BX],AXMOV[BX+2],DXMOVAH,4CHINT21H;可以参阅教材P140,返回DOS方式不

8、一样过程定义语句过程也称为子过程,可以节省存储空间,

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

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

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