ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:27.75KB ,
资源ID:30665390      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/30665390.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(宏汇编语言的基本语法7.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

宏汇编语言的基本语法7.docx

1、宏汇编语言的基本语法7宏汇编语言的基本语法一个完整的宏汇编语言源程序(两个字节12H、34H相加):DATSEGMENTPLUS1DB12HPLUS2DB34HSUMDB?DATENDSPROGSEGMENTMAINPROCFARASSUMECS:PROG,DS:DATSTART:PUSHDSXORAX,AXPUSHAXMOVAX,DATMOVDS,AXMOV AL,PLUS1ADDAL,PLUS2MOV SUM,ALRETMAINENDPPROGENDSEND START汇编语言中的两种语句:1指令语句(例如 MOV AX ,DAT)2伪指令语句(例如 DAT SEGMENT ; PLUS1

2、 DB 12H等)伪指令功能:数据定义,分配存储区,程序分段,指示程序结束等伪指令语句与机器指令语句的最大区别:机器指令语句标号后有冒号“:”伪指令语句标号后无冒号“:”一 伪指令语句格式 标号名伪指令操作数1,2,3;注释 带 者可省略例: DAT SEGMENT PLUS1 DB 12H,23H二 常数、变量、标号1 常数在程序运行中不发生改变 (例:立即数,变量的初值)有几种表示法:(1) 二进制 10100011B(2) 八进制 176547O(3) 十六进制 7FH,7DF6H(4) 十进制 245D,36,76(5) 实数(浮点)(6) 字符串 (例A即为41H;AB即为41H、4

3、2H) 2 变量存放在存储器数据段内单元的数据,运行时可修改,也可赋初值。在程序中是以变量名的形式出现(以直接寻址方式引用) MOV AL,PLUS2 = MOV AL,0002H(1) 变量定义及存储器分配伪指令DB 定义字节 1字节DW 定义字 2字节DD 定义双节 4字节DQ 定义四节 8字节12H23H56H78HDT 定义10字节 10字节2000H:0000H:0001HPLUS1DATA1 例:PLUS1 DB 12H DATA1 DB 23H,56H DB 78HPLUS1的地址,及DATA1的地址见图 X1注意DB、DW的不同WW112H23H12H00H23H00H例 X1

4、 DB 12H,23HWW1 DW 12H,23H 可用?表示仅保留存储空间而不指定初值ABC56*7 例 ABC DB 5,6,?,7 复制操作符 DUP (duplication) 例 ARRAY DB 3,4,2 DUP(0,1)340101ARRAY复制2次 变量赋初值时可用字符串例: STRING DB ABCDEDAT3 DB AB,7FH,CDB DEF41H42H43H44H45H41H42H7FH43H44H45H46HSTRING DAT3在DB语句中 字符串内个数任意;但在其它如DW或DD中最多只能2个例:DAT1 DW AB,C,DEDAT142H41H43H00H45

5、H44H45H23H DAT2 DW 2345H, ABC,EDDAT2注意DB与DW中字符串排列次序的不同(2) 2000H:0000H:0001H12H34H7FHPLUS1DATA1变量的属性1 段属性(SEG)例 PLUS1 DB 12H DATA1 DW 7F34H SEG(PLUS1)=2000H SEG(DATA1)=2000H2 偏移量属性(OFFSET) 例 OFFSET(PLUS1)=0000H OFFSET(DATA1)=0001H 3 类型属性 TYPE(PLUS1)=1 TYPE(DATA1)=23 标号标号为指令的符号地址,常作为转移指令的操作数。例: START:

6、MOVAX,DATMOV DS,AXJMPSTART标号也有段属性和偏移属性意义同变量属性但另外还有距离属性NEAR FAR三 表达式与运算符在宏汇编源程序中,操作数不一定要写得很明确,可以由若干操作数与运算符构成的表达式表示:例: ADD AL,27H ;明确表示 ADD AL,2+3 ;用表达式表示 但汇编后自动转为ADD AL,5 表达式中的运算符可以有6类:(见P162)(1) 算术运算符例:MOV AL,32 MOD 5;=MOV AL,2 ADD AL,21H SHL 2;=ADD AL,84H(2) 逻辑运算符例:MOVAL,24H AND 0FH ;=MOV AL,04H AN

7、D AL,10H OR 0FH ;=MOV AL,1FH(3) 另外还有关系运算符、分析运算符、组合运算符等。组合运算符中,定义符号名为新类型。PLUS1 类型PTR符号名12H34H例 PLUS1 DB 12H,34H MOV AL,PLUS1 ;(AL)=12H MOV AX,WORD PTR PLUS1; (AX)=3421H伪指令不由CPU执行,但由MASM识别的一些命令,分为14类。1 符号定义伪指令实际上是常量符号化的命令(类似于C语言中的define)例: RED EQU 10H GREEN EQU 11H BLUE EQU 12H WHITE EQU RED+GREEN+BLU

8、EMOV AL,RED ;=MOV AL,10H 注意:与变量定义不同的是,EQU语句定义的常量实际上是等值替换,且在程序中是不可更改的。2 内存数据定义伪指令前述的DB、DW、DD、DQ等3 段定义伪指令汇编程序(MASM)在把源程序转换成目的程序时,还必须的对内存进行正确划分,分配给不同的段。须用段定义伪指令。格式: 段名 SEGMENT ;段头 段名 ENDS ;段尾 段中间可以是数据段、代码段、附加段、堆栈段 选择项: (1)。定位方式 PAGE、PARA、WORD、BYTE 决定了段的起始地址方式 (2)。连接方式 PUBLIC、STACK、NONE、 COMMON、MEMORY、A

9、T (3)。类别名 自定义的一个符号,凡类别名相同的段以先后次序连接起来。 4段寄存器说明伪指令 ASSUME CS:PROG,DS:DAT,SS:STACKP 一旦定义好了段之后,ASSUME指令用来告诉汇 编程序(MASM)哪个段寄存器该指向哪个段。 除了程序段,MASM它不能把段的地址真正给段寄存器,还需在程序中编写把段的地址真正给段寄存器的程序。 例:MOV AX,DAT MOV DS,AX5, 过程定义伪指令在汇编语言中,子程序又称为过程用 PROC ;头 ENDP ;尾6模块开始和结束 开始: NAME 模块名 或 TITLE 模块名 汇编生成的OBJ文件需要名字,另外在LIST文

10、件中可以打印出标题。如无此命令,则以文件名为模块明。7定位伪指令*:1000H0803 格式: ORG 常数表达式 例: ORG 1000H DB 08H,03H注意:同一段中ORG必须从小到大,且不许重叠。 数据段、程序段均可用ORG定义起始地址 ORG 100H MOV AX,0308H MOV BX,AX ORG 101H MOV CX,AX ORG 100HMOV AX,0308H ORG 50HMOV BX ,AX 8$伪指令 (1)出现在指令中,表示当前指令地址。例:JNE $ ,JMP $+6 (2)出现在数据段中,$ 表示出现$的哪个单元地址。例:DATA SEGMENT*:0000H PLUS1 DB 12H,$,$+2,34H12H1434HDATA SEGMENT ARRAY DB 10H,20H,30H,40H COUNT EQU $ARRAY值$=4COUNT=4-0=4*:0000H10H20H30H40H

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1