四章 汇编言程序设计.docVIP

  • 4
  • 0
  • 约2.66千字
  • 约 10页
  • 2016-12-05 发布于贵州
  • 举报
四章 汇编言程序设计

第四章 汇编语言程序设计 第一节 汇编语言的语句 一、语句的种类 源程序是分段的,若干段构成,如 Name1 segment 语句 Name1 ends Name2 segment 语句 Name2 ends . 语句分指令语句和指示性语句,指令语句要翻译成机器语言后执行操作,指示性语句不翻译,引导做一些操作。格式如下: 指令语句 标号:助记符 操作数1,操作数2;注释 指示性语句 名字 命令 参数1,参数2,…,参数n;注释 二、语句的格式 名字项 操作项 操作数项 注释项 1、名字项 可以用字母、数字、一些特殊字符构成,长度不超过31个字符,不能以数字开头,不能是字符串、操作数、$ (1)标号 指令存放的单元地址,经常出现在转移和调用情况下 (2)变量 操作数存放的单元地址 2、操作项 指令的助记符 3、操作数项 给出地址或参数,可有多个,用“,”隔开 (1)常数 (A)数字常数 如B Q D H (B)字符串常数 如‘A’ (C)符号常数 如mov cx,count(要定义) (2)表达式 由常数、寄存器、标号变量和运算符、操作符构成,用于运算地址或数据 (A)算术运算符 + - * / mod 例: Array dw 1,2,3,4,5 Wenda dw ? . Mov cx,(Wenda - Array)/2 (B)逻辑运算符 and or xor not 如out port val and 0feh,al (C)关系运算符 eq ne lt gt le ge 结果为真(全1)或假(全0),如: Mov bx,((port val lt 5)and 20) or ((port val ge 5) and 30) (D)分析操作符 Type 变量或标号 DB DW DD DQ DT LENGTH 变量 如: Feels dw 100 dup(0) Mov cx, length feels Size 变量 为type与length乘积 如上面改为:Mov cx, size feels Offset 变量 如:mov bx,offset opr(等同于lea bx,opr,送有效地址) Seg 变量 如:mov bx,seg o pr(送段地址) (D)合成操作符 Ptr Type ptr 表达式,类型可以是byte、word、dword、near、far 如:mov word ptr [bx],5 段操作符 段超越(mov bx,es:[2000h]) Short -128~127 This 属性 如:Wbuffer1 equ this word 4、注释项 第二节 指令语句 一、用标号作为转移地址 在转移处设置标号,或用equ定义(miles equ this far) 二、段名为段地址 如段的赋值 三、变量名为储存单元中的直接地址 Add al,byte1 四、符号名为立即数 Mov dl,array 五、几种寻址方式的操作数 1、相对寻址的偏移量可用变量名或符号名 Mov blength[si],0 2、方括号及bx、bp、si、di Mov ax,[bx] 六、存储器的操作数类型 Mov al,[bx] Inc [bx] Inc byte ptr [bx] Mov [si],5 Mov word ptr [si],5 七、段超越前缀 隐含的:bp为ss,其余为ds Mov ax,ss:[bx](段超越) 第三节 指示性语句 一、符号定义语句 1、equ 等值语句 名字 equ 表达式、常数、符号 如: alpha equ 7 beat equ alpha-2 emp=7(可以重复赋值,而equ仅一次) 二、数据定义语句 1、名字 助记符 操作数 如: Data1 db 10,4,10h Data2 db ‘a’ Data3 db 24,?,54,? 2、重复操作符dup 常数或表达式 dup(操作数) 如: Data1 db 2 dup (1,2,?) Data2 db 2 dup (1,2,2 dup(1,3),3) 三、段定义语句 Data segment Org 100h X db ? Data ends Code segment Assume(段的定义) cs:code,ds:data Start:mov ax,data mov dS, ax (段的赋值,CS段自动赋值) … Code ends End start 关于$(当前地址计数器值) Array dw 1,2,$+4 四、过程定义

文档评论(0)

1亿VIP精品文档

相关文档