- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 补充 伪指令 程序设计课件
第五章 汇编语言程序设计;汇编语言程序的开发过程;一、汇编语言语句格式;3、标识符
①字符个数1~31
②第一个字符必须是字母或特殊字符。
字母:大写字母 A ~ Z 、小写字母 a ~ z ,
特殊字符:?、@、_、. 、$
③除开第一个字符以外的其他字符可以是字母、数字或特殊字符。
④标识符不能与系统专用的保留字相同。
汇编以后在机器中数值常数用二进制数表示;字符串常数用各字符的ASCII码表示;二、汇编语言中的伪指令;数据定义伪指令中的表达式是数值表达式;数据定义伪指令中的表达式是字符表达式;数据定义伪指令中的表达式是字符表达式;数据定义伪指令中的表达式是 ?表达式;数据定义伪指令中的表达式是带DUP表达式;数据定义伪指令中的表达式是带DUP表达式;数据定义伪指令中的表达式是带DUP表达式;数据定义伪指令举例3;2、 LABEL伪指令
作用: ①为指令定义具有指定类型的新标号②定义与原有类型不同的新变量
格式: ①标号 LABEL 类型
②变量名 LABEL 类型
例:NEXTF LABEL FAR
例:VARB LABEL BYTE
VARW DW 10H DUP(1122H)
…………
MOV AX,VARW+4
MOV BL,VARB+4;3、符号定义伪指令EQU
作用:将表达式的值或表达式赋给它左边的符号
格式:符号 EQU 表达式
注意:EQU不会为符号分配存储单元
在一个源程序中,同一符号用EQU伪指令只能定义一次。
例: NUM EQU 10H
CONT EQU 123+34-67
……..
MOV AX,NUM
……..;4、段定义伪指令(SEGMENT/ENDS伪指令)
格式:
段名 SEGMENT (定位类型)(组合类型)(类别名)
…段内的语句序列(程序或数据)
? 段名 ENDS
5、段寻址伪指令Assume
作用:指定程序已定义的段与段寄存器的对应关系
格式:ASSUME 段寄存器名:段名,段寄存器名:段名,…
ASSUME 伪指令不产生任何目标代码;6、过程定义伪指令(PROC/ENDP)
格式:
过程名 PROC (NEAR/FAR)
…
RET
过程名 ENDP;举例:
DATA1 SEGMENT
VAR1 DB 10 DUP(0)
DB 12H
DATA1 ENDS
DATA2 SEGMENT
VAR2 DW 10H DUP(0FFH)
DATA2 ENDS
STACK1 SEGMENT
DW 10H DUP(0)
STACK1 ENDS;CODE SEGMENT
ASSUME CS:CODE,DS:DATA1,ES:DATA2
ASSUME SS:STACK1
START: MOV AX,DATA1
MOV DS,AX
MOV DX,OFFSET VAR1
MOV BX,DATA2
MOV ES,BX
…
MOV AH,4CH
INT 21H
CODE ENDS
END START;二、汇编语言程序设计的步骤:;三、顺序程序设计;三、分支程序设计;例:比较两个带符号数的大小,若AB,则显示出“AB”,否则显示“BA”。;三、流程图;三、循环结构程序设计;code segment
assume cs:code
main proc
sta:mov ax, 100
……..
call aa
……..
ret
main endp
aa proc
……
ret
aa endp
文档评论(0)