汇编语言程序设计第四章---汇编语言程序格式.pptVIP

汇编语言程序设计第四章---汇编语言程序格式.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言程序设计第四章---汇编语言程序格式

* 例: JNE $+6 例:ARRAY DW 1,2,$+4,4,$+4 ORG伪操作:用来设置地址计数器的值。    ORG EXP 例:ORG 100H DATA1 DW 10 DUP ($), 1000H,$+200H 地址计数器与对准: 地址计数器:在汇编指令时保存指令的偏移地址;在汇编数据段时,计算变量的偏移地址。$表示当前值。 * * 举例如下: DATA_SEG SEGMENT … EVEN WORD_ARR DW 100 DUP(?) … DATA_SEG ENDS EVEN伪操作 使下一个变量或指令开始于偶数字节地址.一个字的地址最好从偶地址开始,所以对于字数组为保证其从偶地址开始,可以在其前用EVEN伪操作来达到这一目的。 * 举例如下: DATA_SEG SEGMENT … ALIGN 4 ARR DB 100 DUP(?) … DATA_SEG ENDS ALIGN伪操作 为保证双字数组边界从4的倍数开始创造了条件。其格式为:ALIGN boundary,boundary必须是2的幂。 * Expression_name EQU Expression 举例如下: CONSTANT EQU 256 DATA EQU HEIGHT+12;地址表达式 ALPHA EQU 7 BETA EQU ALPHA-2 ADDR EQU VAR+BETA B EQU [BP+8] P8 EQU DS:[BP+8] 表达式:有效的常数表达式,有效的助记符 表达式赋值伪操作EQU 程序中多次出现同一个表达式,为方便,可以用赋值伪操作给表达式赋予一个名字。格式如下: * 下面是应用时必须注意的几点: (1)EQU表达式中:有变量或标号的表达式,则应先定义 如: AB EQU DATA__ONE+2 则必须放在DATA_ONE的定义之后才行。 (2)与EQU 相类似的 = 伪操作,作为赋值使用。 区别是:EQU 伪操作中的表达式名是不允许重复定义的, = 伪操作则允许重复定义。 * … segment _ name ENDS 此外,还必须明确段和段寄存器的关系,这可用ASSUME伪操作 来实现,其格式为: 其中ASSUME说明分配情况,其格式为: ASSUME assignment,……, assignment segment register name:segment name 段定义伪操作(程序格式) 段定义伪操作的格式如下: segment_ name SEGMENT * data segment a dw 1,2,$+4,4,$+4 c dw 5 dup($) b equ 10 data ends code segment main proc far assume cs:code,ds:data start: mov ax,data mov ds,ax lea ax,a mov bx,type start mov cx,b ret main endp code ends end start * data_seg1 segment ;define data segment … data_seg1 ends 段寄存器:是CS,DS,ES和SS中的一个; 段名:是由SEGMENT定义的段名. data_seg2 segment ;define extra

文档评论(0)

zijingling + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档