版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第1,4章汇编语言编程,第2,主要内容:汇编语言源程序的结构汇编语言语句格式医生命令函数调用汇编语言编程,3,4.1汇编语言源节目(1)机器语言二进制格式的命令和数据。B0 64是什么意思?这是机器语言。不直观,不容易理解和记住。MOV AL,64H很容易记住。这就是矫形器。(2)助记符是用容易记住的英语单词表示的命令操作码。它反映了准则的功能和主要特征,以便人们理解和记住。4,操作数可以放置在内存中。它包含操作数的地址。程序遇到传输命令或调用命令时,还必须知道传输地址。采用特定地址是不方便的。一旦有错误,变更也会很麻烦。大卫亚设,美国电视电视剧,程序)因此,人们使用标签或符号代替地址。例如,
2、LP1: MOV AX、VAR LOOP LP1 (3)程序集语言命令助记符、符号地址、标签、医生命令等语言元素的集合,以及这些元素使用的规则。用汇编语言编写的程序称为汇编语言源程序。指令除了opcode以外,还存在操作数问题。5、汇编节目(翻译器)、源节目编译器、汇编节目、汇编语言源节目、机器语言目标节目、汇编源程序必须翻译为机器语言。在可执行文件之前,机器不能运行。牙齿翻译过程称为程序集。在高级语言中,牙齿过程称为“解释”或“编译”。执行翻译的程序称为“汇编程序”。6、汇编语言编程和执行过程、输入汇编语言源节目EDIT/NOTEPAD等源档案。目标档案,例如ASM组件(编译)MASM /A
3、SM。OBJ链接链接等可执行文件。EXE调试DEBUG/TD等最终精确的节目、构建、剪辑程序集连接执行调试、7、4.1.1程序集语言源程序的结构,汇编语言源程序通常由一个或多个节目模块组成,每个模块通常由三个(或四个)逻辑段组成。数据段存储数据、变量默认程序集语言节目框架如下:stack segment parastack db 100 dup(stack)stack ends data segment data ends code segment assume cs 3360 code,ds : Es: data命令语句由包含8086命令助记符(真命令)的语句指令组成的语句指令格式:标签:命
4、令助记符目标操作数、源操作数;注释显示语句的格式为:名称医生命令操作数1、操作数2、操作数N。注:必须在各节之间至少使用一个空格(或逗号、分号)作为分隔符。11,命令语句(真命令)由CPU执行,每个命令语句都有机器代码命令。指令(医生命令)由汇编程序执行。汇编程序如何装配源程序,如何定义变量,如何分配存储设备,以及节目的启动和关闭。指令武器代码指令相应。请注意,指令语句装配时生成机器代码。指令在装配时不生成机器代码。12,语句的组件:标签指令的符号地址,表示内存中指令的地址。只能出现在指令中,并且必须在标签后添加冒号。名称字段、过程和变量的名称,表示内存中的相应地址。只能出现在显示语句中,名称
5、后面没有冒号。命令助记符8086助记符,医生命令操作数根据指示(真命令)0,1,2对指示(医生命令)的指示(医生命令)的指示(医生命令),以逗号分隔操作数的操作数包括寄存器、存储单元、常量或表达式(如AAR注意注释的记号。要写命令(段)在程序中起作用,就不要写命令。例如:以下是使用相同命令创建的注释1)MOV CX,100;100到cx2)mov CX,100;很明显,循环计数器的初始值比第二个符号好。14,汇编语言的实例: hello . ASM data segment hello db hello,world!0dh、0ah、$ data ends Prog segment assume
6、 cs : Prog、ds : data start : mov ax、data mov ds、ax lea dx和hello字符串显示字符串MOV AH,4CH INT 21H返回DOS Prog ENDS END start、名称、标签、15、4.1.3数据项和表达式。数据项(操作数格式)包括常量、标签/名称、变量和表达式。1.以b结尾的常数二进制。例如01001101B。十进制数(例如85)。以h结尾的十六进制数。如果第一个数字是A-F,则必须在前面加0(例如0F160H)。字符串:用引号括起来的一个或多个字符。像ERROR一样!A,组装时会翻译成对应的ASCII码45H、52H、52H
7、、4FH、52H、21H、61H。16,3个茄子属性:段地址:标签的段的段地址偏移:标签所表示的存储设备的段内的偏移地址。类型:NEAR或far: (short?)NEAR表示带标签的语句与发送命令/调用命令位于同一代码段内,在跳转时只需更改IP。具有FAR标签的语句与发送/调用指令不在同一代码片段中。在跳跃时更改CS和pi即可。如果没有类型说明,则默认值为NEAR。标签通常用作传递命令或CALL命令的传递地址。2 .存储标签/名称指令或具有数据的内存单位的符号地址变量名称,例如start :movax、data jmp/call start hello db 06h、45h、44h、ptr变
8、量还具有三个茄子属性:段地址变量的段的段地址偏移变量单元地址和段第一地址之间的位移量。类型为BYTE、WORD或DWORD。变量在程序中作为内存操作数引用。3 .变量(例如start:movax、data、ptr、18、标签和变量名的使用规则:配置:A-Z(不区分大小写)、_ $不能以数字开头,并且句号(.)可以用作少于31个字符的第一个字符。不能定义保留字(命令助记符、医生指令、预定义符号等)和重复名称。范例:LP1、AGAIN、NEXT、_GO、OK_1 go数值表示式和位址表示式。组装时,根据优先顺序规则计算表示式,以计算特定数字或位址。不能更改运行时。表达式的运算符由6个茄子类别组成:
9、算术、逻辑、关系、地址获取、属性和杂类。Start : MOV AX,16*8 TABLE,20等数字表达式,例如MOV AX,4*1000H装配格式: MOV AX,4096地址表达式,示例3360leasi,例如MOV示例:AND AX,3FC0H AND 0FF00H装配后,源操作数转换为3F00H,因此上述命令与AND相同,2)逻辑运算符AND、OR、XOR、NOT、22,关系运算的结果是逻辑值。真或假关系为真,结果整个1关系为假。结果是完整的零示例。MOV BX,PORT GT 300H PORT值大于300时为3)关系运算符EQ、NE、LT、GT、LE、GE、23、SEG:变量/标
10、签段地址OFFSET:获取变量/标签偏移地址示例获取变量VAR的段地址。请注意以下两个命令的异同:MOV BX、OFFSET VAR LEA BX和VAR OFFSET只能获取静态偏移地址。LEA命令可以使用静态偏移地址或动态偏移地址。4)地址运算符SEG,OFFSET,24,TYPE变量类型(1,2,4 4) LENGTH获取定义变量的长度(即变量中的元素数)。SIZE是定义的存储库中的字节数(=type *;5,TYPE var=2 LENGTH var=5 size var=10,5) type,LENGTH,size,25,6)使用属性运算符PTR指定地址操作数类型。格式:PTR类型B
11、YTE、WORD、DWORD和NEAR、FAR、SHORT BYTE、WORD、DWORD是数据存储单元(变量)地址NEAR、FAR(短)?)发送,调用的目标地址,26,例如MOVBYTE PTRDI,0;字节类型MOVWORD PTRDI,0;单词类型MOVDI,0B5H不确定类型的PTR也强制类型转换示例:STR1 DW?STR1定义为单词类型MOVAX,STR1。合法的MOVAL、STR1非法MOV AL,BYTE PTR STR1合法的,27,4.2医生命令,数据定义医生命令符号定义医生命令段定义和段寄存器指定医生命令进程定义医生命令结束医生命令,汇编程序执行的命令,本身不能编译为机器
12、命令。常用的医生指令包括:28,4.2.1数据定义医生指令用于定义变量:内存单元格或数据区域。数据定义医生指令的格式为变量名数据定义医生指令操作数、操作数和常用数据定义医生指令:DB定义的字节DW定义的单词DD定义的双单词操作数为常数、变量或表达式,29,例如1: data _ bdb10,5,10hdata ,05h,10h,00h,01h,fch,fch42H表示低字节,41H表示高字节(B后的A),48H,45H,4CH,4FH,31,操作数用于保留存储空间,但不存储数据。示例3: ABC db0、1、2、3、4、ok、$ RSV dw?复制操作符DUP:重复数据可以使用复制操作符DUP
13、。上面的RSV也是3360 RSV DW8DUP(?)操作数中使用$表示地址计数器的当前值。32,示例4: TABLE DB 10 DUP(?)BUFFER DW TABLE,$ 3 TABLE偏移地址设置为0080H,则程序集后显示如下:类似于、buffer、0080h、80h、table、008 ah 008 BH 008 ch 008 DH、C语言的#define。符号定义医生命令不能重定义由EQU、=、EQU定义的符号,除非将其清除。清除EQU定义可用的PURGE医生命令。可以随时重定义定义为=的符号。两者都将值分配给符号,而不占用存储空间。34.例如:Five equ 5 count equ CX ten equ 10 dist=byte pt RSI BP goto=jmp mov ax,ten m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年东莞市能源投资集团有限公司人员招聘参考题库及答案详解
- 2026年木竹浆制造行业商业模式研究报告及未来五至十年政策红利与合规路径
- 2026年陕西供销企业集团有限公司人员招聘考试参考试题及答案详解
- 2026年校招:通威集团笔试题及答案
- 2026年中交第二公路勘察设计院有限公司人员招聘参考题库及答案详解
- 2026年校招:网易题库及答案
- 2026年校招:五粮液试题及答案
- 2026年金属制厨房用器具制造行业商业模式研究报告及未来五至十年政策红利与合规路径
- 2026年箱包零售行业消费行为研究报告及未来五至十年降本增效与利润率修复
- 2026年省交通控股集团有限公司人员招聘参考题库及答案详解
- JJF 1069-2026法定计量检定机构考核规范
- 2026广播电视播音员主持人考试题库及答案
- 2026-2027学年高三第一次联考(月考)试卷地理+答案
- T/CI 874-2025红树林精准生态修复与成效评估技术规程
- 湖南九校联盟2027届高三上学期第一次联考化学(含答案)
- 第12课 历史性成就 第1课时 课件(内嵌视频)2026-2027学年道德与法治五年级上册统编版
- 医疗机构麻醉药品和精神药品管理规定2026解读
- CSCO肾癌诊疗指南2026
- 【新教材】2026年秋人教版(PEP)五年级上册英语全册教案(含教学计划)
- 2026年上海事业编全套真题及答案解析
- 2026秋教科版(新教材)小学科学六年级上册(全册)分层作业及答案附目录p149
评论
0/150
提交评论