<address id="fvtrr"><form id="fvtrr"></form></address>

        <address id="fvtrr"></address>

        汇编语言第三章.ppt

        1. 1、本文档共117页,可阅读全部内容。
        2. 2、本文档付费后,不意味着付费购买了版权,只能用于单位或个人使用,不得用于商业用途(如:【转卖】进行直接盈利和【编辑后售卖】进行间接盈利)。
        3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
        4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:18428362892(电话支持时间:9:00-19:00)。
        定位伪指令 定位伪指令控制数据的偏移地址 ORG 参数 ORG伪指令是将当前偏移地址指针指向参数表达的偏移地址: ORG 100h ;从100h处安排数据或程序 ORG $+10 ;使偏移地址加10,即跳过10个字节空间 MASM中,符号“$”表示当前偏移地址值 EVEN ;从偶地址开始 ALIGN n ;从n的整数倍地址开始 第62页,共117页,编辑于2022年,星期四 3.2.3 变量和标号的属性 标号和名字一经定义便具有以下两类三种属性: ① 段值 标号和名字对应存储单元的段地址 ② 偏移值 标号和名字对应存储单元的偏移地址 ③ 类型 标号、子程序名的类型可以是NEAR(近)和FAR(远),分别表示段内或段间 变量名的类型可以是BYTE(字节)、WORD(字)和DWORD(双字)等 地址属性 类型属性 第63页,共117页,编辑于2022年,星期四 地址操作符 取得名字或标号的段地址和偏移地址两个属性 [ ] 将括起的表达式作为存储器地址 $ 当前偏移地址 : 采用指定的段地址寄存器 OFFSET 名字/标号 返回名字或标号的偏移地址 SEG 名字/标号 返回名字或标号的段地址 实例 第64页,共117页,编辑于2022年,星期四 org $+10 array db 45,45h .code mov ax,seg array mov ds,ax mov bx,offset array ;等价于 lea bx,array mov cl,array+4 ;等效于 mov cl,array[4] mov ax,es:[2000h] 地址操作符实例 加4个字节单元 第65页,共117页,编辑于2022年,星期四 类型操作符 类型操作符对名字或标号的类型属性进行有关设置 类型名 PTR 名字/标号 THIS 类型名 SHORT 标号 TYPE 名字/标号 SIZEOF 变量名 LENGTHOF 变量名 第66页,共117页,编辑于2022年,星期四 PTR操作符 类型名 PTR 名字/标号 PTR操作符使名字或标号具有指定的类型 类型名可以是 BYTE/WORD/DWORD/FWORD/QWORD/TBYTE 或者是NEAR/FAR,还可以是由STRUCT、RECORD、UNION以及TYPEDEF定义的类型 mov al,byte ptr w_var ;w_var是一个字变量 jmp far ptr n_label ;n_label是一个标号 使用PTR操作符,可以临时改变名字或标号的类型 第67页,共117页,编辑于2022年,星期四 THIS操作符 THIS 类型名 利用THIS说明的操作数具有汇编时的当前逻辑地址,但具有指定的类型 b_var equ THIS byte ;按字节访问变量b_var,但与w_var的地址相同 w_var dw 10 dup(0) ;按字访问变量w_var f_jump equ THIS far ;用f_jump为段间转移(f_jump label far) n_jump: mov ax,w_var ;用n_jump为段内近转移,但两者指向同一条指令 LABEL伪指令的功能等同于“EQU THIS” 第68页,共117页,编辑于2022年,星期四 SHORT操作符 SHORT 标名 指定标号作为-128~+127字节范围内的短转移 jmp short n_jump 当然,如果标号实际上超出了这个范围,则出错。 对高版本MASM已无意义 第69页,共117页,编辑于2022年,星期四 TYPE操作符 TYPE 名字/标名 返回表明名字或标号类型的一个字量数值 对字节、字和双字变量依次返回1、2和4; 对短、近和远转移依次返回ff01h、ff02h和ff05h mov ax,TYPE w_var ;汇编结果为mov ax,2 mov ax,TYPE n_jump ;汇编结果为 mov ax,0ff02h(near标号) 操作符SIZEOF返回整个变量占用的字节数 LENGTHOF返回整个变量的数据项数(即元素数) SIZEOF = LENGTHOF × TYPE 第70页,共117页,编辑于2022年,星期四 .model small .stack .data v_byte equ this byte ;v_byte是字节类型,与变量v_word的地址相同 v_word dw 3332h,3735h ;v_word是字类型的变量 target dw 5 dup(20h) ;分配数据空间2×5=10字节 crlf db 0dh,0ah,'$' flag db 0 n_point dw offset s_label ;取得标号s_label

        您可能关注的文档

        文档评论(0)

        xiaolan118

        相关文档

        相关课程推荐

        亚洲精品福利成年人jinvtv