- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编PPT2
1. 80X86指令格式 指令格式 操作码说明计算机要执行哪种操作,如传送、运算、移位、跳转等操作,它是指令中不可缺少的组成部分 操作数是指令执行的参与者,即各种操作的对象 有些指令不需要操作数,通常的指令都有一个或两个操作数,也有个别指令有3个甚至4个操作数 指令的操作码和操作数 每种指令的操作码: 用一个助记符表示(指令功能的英文缩写) 对应着机器指令的一个或多个二进制编码 指令中的操作数: 可以是一个具体的数值(立即数操作数) 可以是存放数据的寄存器(寄存器操作数) 或指明数据在主存位置的存储器地址(存储器操作数 类型操作符 宏汇编的汇编连接过程 Masm汇编源程序 格式:masm 源文件.asm,回车后提示如下: Microsoft (R) Macro Assembler Version 5.00 Copyright (C) Microsoft Corp 1981-1985, 1987. All rights reserved. Object filename [sample.OBJ]: Source listing [NUL.LST]: Cross-reference [NUL.CRF]: 可用下面的命令加速程序的汇编过程: masm 源文件.asm/l;汇编时生成列表文件 Link连接目标文件 Link 文件名.obj 屏幕显示如下: Microsoft (R) Overlay Linker Version 3.60 Copyright (C) Microsoft Corp 1983-1987. All rights reserved. Run File [SAMPLE.EXE]: List File [NUL.MAP]: Libraries [.LIB]: LINK : warning L4021: no stack segment 调试程序DEBUG DEBUG.exe 是 DOS提供的一个调试汇编语言程序的程序每个版本的DOS都带有该程序。在windows\system32文件夹下。 DEBUG程序采用的是命令行方式 使用不方便,但实用性强。是学习汇编语言程序、计算机硬件等课程的有效工具。 DEBUG程序的具体作用 查看/修改寄存器, 内存单元的内容; 学习寻址方式和指令系统 ; 了解计算机取指令, 执行指令的工作过程; 调试有问题的汇编语言程序。 DEBUG 主要命令一览 DEBUG下符号与标志的对应关系 用Ultraedit建立汇编集成环境 MASM 菜单 LINK 菜单 DEBUG 菜单 总结 掌握DB、DW定义数据的方法,以及数据在内存的存储方式 掌握汇编语言程序结构 掌握MOV LEA CBW CWD PUSH POP 等指令 熟悉汇编语言上机过程 (4) 地址运算符 地址运算符对变量名、标号、地址表达式进行计算,得到作为立即数的运算结果 SEG 名称 OFFSET 名称 取地址表达式所在段的段基址 取地址表达式的偏移地址 MOV AX, WORD PTR LIST MOV AX, OFFSET LIST 设变量LIST定义在DATA段中,DATA SEGMENT LIST DB 10,20,30 DATA ENDS 下面三条指令都是把DATA段的段基址装入AX: MOV AX, DATA ;DATA代表该段的段基址,是一个立即数 MOV AX, SEG DATA ;取DATA的段基址,结果是立即数 MOV AX, SEG LIST ;取LIST的段基址,结果是立即数 对比: ;取出变量LIST第一个元素送入AX ;取变量LIST的偏移地址送入AX X DB “ABCDE” ;TYPE=1, LENGTH=1, SIZE=1 Y DW 3 DUP(5), 4 DUP(-1);TYPE=2, LENGTH=3, SIZE=6 Z DD 34, 49, 18 ;TYPE=4, LENGTH=1, SIZE=4 MOV AX, TYPE X ;AX=1 MOV BX, LENGTH Y ;BX=3 MOV CX, SIZE Z ;CX=4 TYPE、LENGTH、SIZE三个运算符分别用于取变量、标号的类型,取变量定义时的元素个数,取变量占用的字节数。 近程标号的类型为-1、远程标号的类型为-2 上面所有的表达式都必须是汇编期间可以求值的。 “MOV AX, BX+2”是一条错误的指令,汇编时将报告错误,原因在于BX的值是未知的,可变的,在汇编阶段无法进行相关的计算。 需要把BX的值与常数2相加并存入AX的操作只能在程序执行阶段由以下两条指令完成: MOV AX, BX
文档评论(0)