第04章汇编语言程序设计基础.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
作业 P113-5、7、8 4.5 汇编语言程序设计的基本技术 程序设计步骤 分析问题 建立数学模型 确定算法 绘制流程图 分配内存空间 编制程序与静态检查 上机调试 试运行和分析结果 整理资料投入运行 作业 P113-12、13 作业 P113-17、20 说明:本次作业不再上交,请同学们上机自行验证。 注:(1) 段名可以是已定义过的任何段名或组名,也可以是表达式SEG [变量]或SEG [标号],还可以是NOTHING。 (2) 除CS外,DS、ES、SS的设置必须通过指令性语句来完成。 例 CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK , ES: NOTHING MOV AX,DATA MOV DS,AX ;设置DS 。。。。。。 CODE ENDS 4.2.4 过程定义伪指令PROC/ENDP 过程即是子程序。汇编语言规定必须对过程进行定义,以确定过程的三种属性。过程的属性确定之后,就可对调用指令CALL进行正确汇编,决定是产生近调用指令还是远调用指令。 1. 过程的三种属性 ① 段属性:过程所在段的段地址。 ② 偏移量属性:过程所处位置的段内偏移地址。 ③ 类型属性(NEAR或FAR)。过程为NEAR或FAR类型。 使用格式:过程名 PROC NEAR/FAR RET 过程名 ENDP … NEAR---近过程。该过程与调用指令CALL处在同 一个代码段中(段名相同)。 FAR ---远过程。该过程与调用指令CALL处在不同的代码段中(段名不同)。 2. 过程的定义 功能:把具有一定功能的程序段设计成为一个过程(子程序),便于实现模块化的程序设计。 注:(1) CALL指令中过程名起着标号的作用。有段属性、偏移量属性和类型属性(NEAR和FAR)。 (2) 子程序中至少有一个RET。 过程名是为该过程指定的一个名称,与变量、标号的定义法相同。 任何变量均有下列三种属性。 (1) 段属性即变量所使用的段; (2) 段内偏移属性; (3) 变量的类型:字节、字、双字等。 4.2.5 数据定义伪指令与存储器分配 1. 变量的三种属性 DB—定义字节型变量,每个变量分配1个存储单元 DW--定义字型变量,每个变量分配2个存储单元DD--定义双字型变量,每个变量分配4个存储单元 2.变量定义及存储器申请伪指令DB/DW/DD (1) 格式1:[变量名] {DB/DW/DD}表达式 功能:定义一变量,并为其分配一定数量的存储单元,变量的初值由表达式的值指定。若初值可任意,则用问号(?)表示。变量名可省 。 HEX DB 5AH ; 定义字节变量 VWORD DW 1234H;定义字变量 注:在存放字变量时,低字节在前,高字节在后。 BUFFER DW 1,0,-1 ;定义了三个字单元 STR DB ‘Program’ ;定义了一个字符串 注:在存放字符串时,存储的是字符的ASCII码。 HEX_OFF DW HEX ;定义了一个字单元,其初值为已定义变量HEX的偏移量。 DVAR DD ;定义了一个双字单元 ASC DB 2 DUP(?) 功能:分配2个字节单元,初值任意 BUF DW 100 DUP(0) 功能:分配100个字单元,初值为0 ZIP DB 3 DUP (0,2 DUP (1)) 功能:存储单元依次初始化为:0,1,1,0,1,1,0,1,1。 (2) 格式2:[变量名] {DB/DW/DD}DUP 表达式 变量经过定义及存储器申请之后,在程序中即可像高级语言一样使用。 MOV AL, HEX ;取变量HEX的内容送AL寄存器。 MOV ASC[BX],AL ;取变量ASC的偏移地址,再与BX寄存器的内容相加,得到存储器操作数的有效地址EA,再将AL寄存器的内容送入该单元。 3.变量的使用 1. 常量EQU伪指令 格式:符号名 EQU 数值表达式 功能:为常量、变量、表达式或其他符号定义一个名字,但不申请分配内存。 如:THREE EQU 3 TOP EQU $-STACK 4.2.6 符号定义伪指令(EQU)

文档评论(0)

书房 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档