微机原理 第3章+指令系统及汇编语言程序设计2

微机原理 第3章+指令系统及汇编语言程序设计2

ID:38320893

大小:573.50 KB

页数:54页

时间:2019-06-10

微机原理 第3章+指令系统及汇编语言程序设计2_第1页
微机原理 第3章+指令系统及汇编语言程序设计2_第2页
微机原理 第3章+指令系统及汇编语言程序设计2_第3页
微机原理 第3章+指令系统及汇编语言程序设计2_第4页
微机原理 第3章+指令系统及汇编语言程序设计2_第5页
资源描述:

《微机原理 第3章+指令系统及汇编语言程序设计2》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章指令系统及汇编语言程序设计3.4汇编语言的编程格式汇编程序汇编语言源程序目标程序汇编用汇编语言编写的程序不能由计算机直接执行。须通过具有“翻译”功能的系统程序——汇编程序(Assembler)将这种符号化的汇编语言转换成相应的机器代码,再通过连接程序得到可执行文件。可执行文件.exe连接程序link3.4.1汇编语言程序结构一个基本的汇编语言程序框架如下:stackSEGMENTPARA‘stack‘DB100DUP(‘stack’)stackENDSdataSEGMENT<数据、变量在此定义>dataENDScodeSEGMENTASSUMECS:code,D

2、S:data,ES:datastart:MOVAX,dataMOVDS,AXMOVES,AX<此处加入你自己的程序段>MOVAL,4CHINT21HcodeENDSENDstart堆栈段数据段存放数据、变量代码段存放程序指令汇编语言源程序通常由一个或几个程序模块构成,每个模块一般由三个逻辑段组成汇编语言源程序中有三种基本语句:指令语句、伪指令语句和宏指令语句3.4.2汇编语言语句指令语句一般格式:[标号:][前缀指令]指令助记符[操作数][;注释]指示性(伪指令)语句一般格式:[名字]伪操作符[操作数[,操作数,……]][;注释]前缀:加在某些指令之前,不能单独使用,

3、如LOCK、REP前缀等。前缀与指令助记符之间应加空格。如:REPMOVSB。书写时各部分之间至少要加一个空格。标号是指令符号地址,即指令在存储器中的位置,常作为转移目标地址,后跟冒号;名字通常表示变量名、段名和过程名等,后不跟冒号。指令助记符和伪操作符:是规定符号,表示语句基本功能。;汇编语言的一个实例:hello.asmdataSEGMENTHelloDB‘Hello,world!’,0DH,0AH,’$’dataENDSprogSEGMENTASSUMECS:prog,DS:datastart:MOVAX,dataMOVDS,AXLEADX,hello;取字符串

4、首地址MOVAH,9INT21H;显示字符串MOVAH,4CHINT21H;退回DOSprogENDSENDstart名字标号3.4.3汇编语句的操作数(1)寄存器8/16/32位寄存器。(2)常量数字常量:12,12H,12Q、10110101B字符串常量:’THANK’、‘abc12’、’ABC’(3)存储器操作数(4)表达式。汇编语句中的操作数(Operands):是指令操作的数据或对象;指令性语句可以是0、1、2项;指示性语句可根据需要而定;多个操作数间用逗号分隔。汇编语句中的操作数有:3.4.3汇编语句的操作数一、存储器操作数给出存储器地址,地址中的内容

5、才是操作数。常用的有:(1)标号:指令所在内存单元的符号地址。常作为转移或CALL指令的转移地址。例如:AGAIN:MOVAL,[SI] INCSI LOOPAGAIN(2)变量:变量名是存储单元(数据区首单元)的符号地址或名字。内存中的存储单元或数据区。3.4.3汇编语句的操作数(1)算术运算符:+、-、*、/、MOD(求余);例:MOVAX,4*1024;等同MOVAX,4096是常数、寄存器、标号、变量与一些运算符和操作符相结合的序列;有数字表达式和地址表达式;汇编时按优先规则计算表达式(得到数值或地址);运行时不能改变。MASM-86有五类运算和操作符:二、表

6、达式(2)逻辑运算符:AND、OR、XOR、NOT;例:MOVCL,36HAND0FH;汇编后:MOVCL,06H(3)关系运算符:EQ、NE、LT、GT、LE、GE,运算结果是逻辑值真(满足条件,全1)或假(不满足条件,全0)。例:MOVAX,8EQ00001000B;等价于MOVAX,OFFFFH3.4.3汇编语句的操作数(4)分析操作符:称数值返回运算符,有:SEG、OFFSET等。加在变量或标号前,SEG返回该变量或标号所在段基址;OFFSET返回该变量或标号所在段内偏移地址。例:MOVBX,SEGAAA;标号AAA所在段基址给BX。MOVAX,OFFSETA

7、AA;标号AAA所在段的段内偏移地址给AX,为立即寻址。AAA2000:0000H11223344MOVBX,OFFSETAAA;BXAAA的偏移地址MOVAX,SEGAAA;AXAAA的段值结果:BX=0002H结果:AX=2000HCS:IP3.4.3汇编语句的操作数上述运算符和操作符构成表达式时的优先级:()、[]、<>、LENGTH、SIZE、WIDTH、MASK;PTR、OFFSTE、SEG、TYPE、THIS、段操作符;HIGH、LOW;*、/、MOD、SHL、SHR;+、-;EQ、NE、LT、LE、GT、GE;NOT;AND、OR、

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

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

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