网站大量收购闲置独家精品文档,联系QQ:2885784924

4-汇编语言格式.pptVIP

  1. 1、本文档共41页,可阅读全部内容。
  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文档。上传文档
查看更多
4-汇编语言格式

数据定义为操作 汇编语言的构成:指令、伪操作、宏指令 伪指令: 不由计算机执行,而是由汇编程序执行。 完成数据定义、分配存储区、指示程序结束等功能。 变量和标号的属性 变量和标号代表存储单元,可以设置初值 都具有三种属性:段值、偏移、类型 数据定义为操作 数据定义为操作 数据类型定义伪操作 db 定义字节 (1) dw 定义字 (2) dd 定义双字 (4) dq 定义四个字 (8) dt 定义十个字节(压缩的bcd码)(10) 数据定义为操作 例: 操作数可以是常数,或者是表达式 data_byte db 10,4,10h data_word dw 100,100h,-5 data_dw dd 3*20,0fffdh data_string db ‘hello’ abc db 0,?,?,?,0 dff dw ?,52,? array1 db 2 dup (0,1,2,?) array2 db 100 dup (?) 数据定义为操作 数据定义为操作 DUP:重复的个数 可以用DW,DD把变量或标号的偏移地址或整个地址存入存储器. 使用DD时,第一个字位偏移地址,第二个字为段地址 例 4.6 paramter_table dw par1 dw par2 dw par3 interseg_data dd data1 dd data2 数据定义为操作 变量在伪操作中表示第一个数据项在当前段中的偏移地址, 同时它还具有隐含类型属性 例 4.7 opr1 db 1,2 opr2 dw 1234h,5678h mov opr1,0 (字节操作) mov opr2,0 (字操作) ?类型不符的情况: mov ax, oper1+1 mov al, oper2 数据定义为操作 使用ptr属性操作符改变变量的属性,它优先于隐含的类型属性 opr1 db 1,2 opr2 dw 1234h,5678h mov ax, word ptr oper1+1 执行后(ax)=3402h mov al, byte ptr oper2 执行后(al)=34h 数据定义为操作 使用label伪操作定义变量属性,可以使一个数据具有两种属性 byte_ary label byte word_ary dw 50 dup(?) mov word_ary+2, 0 (送0给3,4字节) mov byte_ary+2, 0 (送0给3字节) 数据定义小结 db,dw,dd dup:重复的个数 ptr label 表达式赋值伪操作EQU equ为一个表达式赋一个名字,以便在程序中引用 表达式名 equ 表达式 例如: constant equ 256 alpha equ 7 beta equ plpha-2 (表达式中有变量或标号,必须此前定义过) addr equ var+beta (地址符号+5) b equ [bp+8] p8 equ ds:[bp+8] 表达式赋值伪操作EQU hello equ ‘how are you!’ move equ mov flag1 equ byte ptr flag flag2 equ word ptr flag+1 ‘=’ 的作用与equ相同,但是’=’可以重复定义 例如: a equ 5 … b = 5 … b = b+1 段定义伪操作 每个汇编程序有若干个段,这些段分别为数据段,代码段,附加段和堆栈段 数据可以在代码段中定义 段名 segment … , … 段名 ends 一个段的功能不取决于名字,而是取决于指向它的段寄存器 assume 段寄存器:段名,段寄存器:段名 assume nothing 取消对段寄存器的指定 段定义伪操作 dseg1 segment varw dw 12 ?… dseg1 ends ; dseg2 segment xxx dw 0 … yyy dw 0 dseg2 ends ; 程序开始和结束伪操作 NAME module_name 或 TITLE text(取前六个字符为模块名称) 如果都

文档评论(0)

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

会计从业资格证持证人

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

领域认证该用户于2023年05月12日上传了会计从业资格证

1亿VIP精品文档

相关文档