- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章808打6汇编语言程序设计
《机械系统计算机控制课件》 WHUT 第4章 汇编语言程序设计 机械系统计算机控制 2007 机电学院 汇编语言程序设计 汇编语言语句 汇编语言源程序结构 数据 程序设计 4.1 8086汇编语言的语句 4.1 8086汇编语言的语句 4.1 8086汇编语言的语句 4.1 8086汇编语言的语句 4.2 8086汇编语言中的伪指令 等值定义伪操作 EQU指令 格式 符号名字 EQU 表达式 不分配存储单元 不能用EQU多次对同一符号赋值 例如:DATA EQU 15 ;定义为15 TIME EQU DATA*2 ;定义为30 4.2 8086汇编语言中的伪指令 等号赋值指令 格式符号名字 = 表达式 不分配存储单元 用=可多次对同一符号赋值 例如:VALUE = 128 ;定义为128 VALUE = VALUE + 2 ;重定义为 130 例:EQU 、= 赋值伪操作 COUNT EQU 25 COUNTER1 DB COUNT COUNTER2 DB COUNT TEMP=25 TEMP=TEMP+1 …… MOV AL,COUNT; AL =25 MOV AH,COUNTER2; AH = 25 MOV BL, TEMP ;BL = 26 4.2 8086汇编语言中的伪指令 4.2.2变量定义语句 格式 [变量名] 助记符 参数表 变量名代表参数表中第一个字节的偏移地址 变量名后不跟冒号 DB 定义字节, 是唯一能定义字符串的伪操作. DW 定义字(两个字节单元) DD 定义二个字单元(四个字节单元) DQ 定义四个字单元(八个字节单元) DT 定义五个字单元(十个字节单元) n DUP () n重复项数,不能单独用。 4.2.2变量定义语句 定义一组数据 4.2.2变量定义语句 定义保留存储单元 4.2.2变量定义语句 复制操作 4.2.2变量定义语句 将已定义的地址存入内存单元 4.2.2变量定义语句 将已定义的地址存入内存单元 例:DB定义字节、字符 例:DW定义字 例: DD 定义双字 例:DQ 和DT DQ 定义4字 DT 为压缩的BCD数据分配存储单元 例:DUP 按照给定的次数来复制某个(某些)操作数 4.2.3 段定义语句 4.2.3 段定义语句 4.2.3 段定义语句 4.2.3 段定义语句 4.2.3 段定义语句 4.2.3 段定义语句 4.2.3 段定义语句 4.2.3 段定义语句 4.2.3 段定义语句 4.2.3 段定义语句 段分配伪指令说明 ASSUME CS:段名,DS:段名,SS:段名,ES:段名 作用:确定定义的段与段寄存器的对应关系 段寄存器名:CS、DS、SS、ES 段名:编程者定义的段的名字 4.2.3 段定义语句 例如: DATA SEGMENT …. DATA ENDS STACK SEGNENT …. STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA … CODE ENDS 4.2.3 段定义语句 ORG伪指令格式 ORG 数值表达式 指定数据的存储地址或代码段的起始地址 例: ORG 100H DATA1 DB 100 例: ORG 100H START: MOV AX,BX 4.2.3 段定义语句 4.2.3 段定义语句 地址计数器$ 也就是当前所用存储单元的偏移地址。 指定数据的存储地址或代码段的起始地址 例: ORG 3000H X DW $+8,$-2; 定义了2个字,(X)=3008H,(X+2)=3000H 例: JNE $+6; 转向地址是JNE指令的首地址加上6。 4.2.3 段定义语句 4.2.4 过程定义语句 程序结构伪指令(续) 过程定义伪指令说明 过程名 PROC [NEAR/FAR] … 过程名 ENDP NEAR:处于同一个段,段内调用 FAR:处于不同的段,段间调用 对应CALL和 RET的NEAR 和FAR属性 程序结束伪指令说明 END [代码起始标号|过程名] 表示源程序结束,汇编程序汇编源程序遇到END结束汇编。 例:数据段定义 图示说明数据定义伪指令语句 VAR DB 12,–12H,3DUP(0,FFH)实现的内存分配和预置数据。 例:数据段
原创力文档


文档评论(0)