汇编语言程序相关设计_第1页
汇编语言程序相关设计_第2页
汇编语言程序相关设计_第3页
汇编语言程序相关设计_第4页
汇编语言程序相关设计_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

汇编语言程序相关设计第五章 汇编语言程序设计第五章是重点章节第五章的内容5.1概述 5.2汇编语言语句5.3汇编语言数据5.4伪指令语句5.5宏指令语句5.6顺序程序设计5.7分枝程序设计5.8循环程序设计5.9自程序设计5.10实用程序设计示例5.11汇编语言程序的开发5.1概述例5-1 A+BS= Ⅹ C A-B5.2汇编语言语句(本节内容)伪指令和指令的通用格式:1.名字字段(NameField) 1~31

名字字段的三个注意事项 开头2.操作符字段(OperatorField) 保留字3.操作数字段(OperandField)4.注释字段(CommentField)5.3汇编语言数据(本节内容)

符号定义语句 数据定义语句 数据 运算符5.3汇编语言数据符号定义语句11.等值伪指令 符号EQU表达式/符号(1)常数表达式(2)地址表达式(3)变量名、标号、或指令助记符的化名2.等号伪指令 符号=表达式/符号(1)将符号重新定义(2)除指令外将变量名或标号起化名5.3汇编语言数据符号定义语句21.等值伪指令 符号EQU表达式/符号2.等号伪指令 符号=表达式/符号上述两者之间的区别:1.等号伪指令可以重新定义符号2.等号伪指令不可以重新定义汇编指令,EQU可以。5.3汇编语言数据--数据定义语句使用格式 DB变量名DW表达式1,表达式2 DD5.3汇编语言数据--数据定义语句

段属性变量的三个属性: 偏移量属性 类型属性

1.数值表达式表达式的类型 2.?表达式

3.字符串表达式

4.带DUP的表达式数据定义语句表达式使用1

1.数值表达式例:age DB 50 age1 DB 12H,34H,56H data1 DW 1234H,2345H data2 DD 4567H,6789H 数据定义语句表达式使用2

2. ?表达式例:age DB ?

age1 DB ?,?,?

data1 DW ?,?

data2 DD ?,?数据定义语句表达式使用3

3. 字符串表达式(DB<256,DW/DD1~2 个)例:name1 DB ‘abcdef’ name2 DB ‘zhang’,’wang’,’li’ name3 DW ‘to’,’je’ name4 DD ‘ma’,’le’数据定义语句表达式使用4

4. 带DUP表达式例:

DB变量名 DW 表达式1 DUP(表达式2) DDDUP可以嵌套5.3汇编语言数据

数据1

1.数值常数 二、八、十、十六进制

2.字符常数

(1)立即数

常数的应用 (2)位移量 (3)伪指令的赋值

一、常数5.3汇编语言数据

数据2二、寄存器操作数三、存贮器操作数1.变量(1)变量名地址(2)变量的地址变量名DW/DD另个变量名 此时存的是地址5.3汇编语言数据

数据32.标号 (1)段属性标号的三个属性(2)偏移量属性near

(3)类型属性 far类型属性可以用label来设置,如果不设置的话,有默认属性5.3汇编语言数据

数据4 Label的使用

a.与指令语句连用 例:sub1_FAR Label far sub1: MOV AX,789AH b.与数据定义语句连用 例:DA_W2 Label WORD DA_W1 DB 10HDUP(12H,34H)5.3汇编语言数据

运算符1.算术运算符5.3汇编语言数据

运算符2.逻辑运算符5.3汇编语言数据

运算符3.关系运算符5.3汇编语言数据

运算符4.数值返回运算符(1)SEG和OFFSET运算符(2)TYPE运算符(3)LENGTH运算符和SIZE运算符5.3汇编语言数据

运算符5.属性运算符PTR6.运算符优先级5.4伪指令语句(内容)段定义语句过程定义语句定位语句和位置计数器偶地址控制语句程序标题语句段定义语句--一、段定义伪指令一、段定义伪指令(SEGMENT/END)1.段名(必选)2.定位类型(可选)3.组合类型(可选)4.类别名(可选)段定义语句

2.定位类型1.PAGE2.PARA3.WORD4.BYTE段定义语句

3.组合类型1.NONE(默认)2.PUBLIC3.COMMON4.STACK5.AT表达式6.MEMORY段定义语句

4.类别名

必须用单引号括起来,在连接处理时,LINK把类别名相同的段放在连续的存储区,他们仍是各自独立的段段定义语句—二、段寻址伪指令ASSUME段寄存器名:段名,段寄存器名:段名…..ASSUME段寄存器名:nothingASSUMEnothing段定义语句—三、段寄存器的加载1.DS和ES的加载2.SS的加载3.CS的加载(1)END加载起始地址(2)JMP、CALL、RET指令(1)自动加载(2)执行程序过程定义语句使用格式:过程名 PROC [NEAR/FAR] ……… ……… RET ……..过程名 ENDP 定位语句和位置计数器使用格式:

$

ORG 表达式偶地址控制语句使用格式:

EVEN程序标题语句P193 Title文本列表文件的每一页的第一行都显示这个标题5.5宏指令语句(内容)1.宏定义2.宏调用3.宏展开5.6顺序程序设计-例5-2(1) 10*(X+Y)-3*(Z-1)F= X+Y+Z5.6顺序程序设计-例5-2(2) TITLEEXAMPLEPROGRAMDATA SEGMENT VARX DW 123H VARY DW 456H VARZ DW 789H F1 DW ?

F2 DW ?DATA ENDS5.6顺序程序设计-例5-2(3)STACK1 SEGMENT DW 20H DUP(0)STACK1 ENDS5.6顺序程序设计-例5-2(4)CODE SEGMENTASSUMECS:CODE,DS:DATA,SS:STACK1BEGIN: MOV AX,DATA MOV DS,AX5.6顺序程序设计-例5-2(5) MOV AX,VARX ADD AX,VARY MOV BX,10 MUL BX MOV BX,VARZ DEC BX MOV CX,BX SAL BX,1 ADD BX,CX SUB AX,BX5.6顺序程序设计-例5-2(6)

MOV BX,VARX ADD BX,VARY ADD BX,VARZ XOR DX,DX DIV BX MOV F1,AX MOV F2,DX MOV AH,4CH INT 21HCODE ENDS END BEGIN软中断INT21H5.6顺序程序设计-两种退出用户程序的办法CODE SEGMENT ASSUMECS:CODE,DS:DATA,SS:STACK1PROC1 PROC FAR PUSH DS XOR AX,AX PUSH AX MOV AX,DATA MOV DS,AX …… RET ……CODE ENDS END PROC15.6顺序程序设计-例5-3(1) TITLE TABLE LOOK_UPDATA SEGMENTTABLEDB 30H,31H,32H,33H,34H,35H,36H,37H DB 38H,39H,41H,42H,43H,44H,45H,46HHEX DB 4ASCI DB ?DATA ENDS5.6顺序程序设计-例5-3(2)STACK1 SEGMENT PARA STACK DW 20H DUP(0)STACK1 ENDS5.6顺序程序设计-例5-3(3)

CODE SEGMENT ASSUME CS:CODE,DS:DATABEGIN: MOV AX,DATA MOV DS,AX MOV BX,OFFSET TABLE ADD BL,HEX MOV AL,[BX MOV ASCI,AL 5.6顺序程序设计-例5-3(4)MOV AH,4CHINT 21HCODE ENDSEND BEGINXLAT指令:

XLAT 表首址或 XLAT默认bx,al两寄存器5.6顺序程序设计-例5-3(5)BEGIN: MOV AX,DATA MOV DS,AX LEA BX,TABLE MOV AL,HEX XLAT TABLE MOV ASCI,AL MOV AH,4CH INT 21H5.7 分支程序设计转移指令(1)5.7.1 转移指令一、无条件转移指令 JMP目标1.直接寻址方式2.间接寻址方式5.7 分支程序设计转移指令(2)1.直接寻址方式(段内转移)5.7 分支程序设计转移指令(3)1.直接寻址方式(段间转移)5.7 分支程序设计转移指令(4)2.间接寻址方式a.段内转移(间接)例:JMPCX JMPWORD

PTR[BX]b.段间转移(间接)JMPDWORDPTR[BX]5.7 分支程序设计转移指令(4)5.7.1 转移指令二、条件转移指令1.简单条件转移指令2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论