- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4讲 变量定义及常用伪指令
统计一个字变量中包含数据元素的个数 .model small .stack .data v_word dw 3322h,6*4,3 dup (2),?, ab count equ ($-v_word)/2 .code .startup mov dl,count add dl,30h mov ah,02h int 21h .exit 0 end 定义双字单元伪指令DD DD伪指令用于分配一个或多个双字单元,并可以将它们初始化为指定值 初值表中每个数据是一个32位的双字量(Double Word): 可以是有符号或无符号的32位整数 也可以用来表达16位段地址(高位字)和16位的偏移地址(低位字)的远指针 vardd DD 0,? farpoint DD 定位伪指令 定位伪指令控制数据的偏移地址 ORG 参数 ORG伪指令是将当前偏移地址指针指向参数表达的偏移地址: ORG 100h ;从100h处安排数据或程序 ORG $+10 ;使偏移地址加10,即跳过10个字节空间 MASM中,符号“$”表示当前偏移地址值 array DB 12,34,56 len equ $-array ;记录变量array所占字节数 例题 .model small .stack .data X dw 5 Y dw 6 Z dw 7 W dw ? .code .startup mov ax,X add ax,Y add ax,Z mov W,ax .exit 0 end 设有3个字变量X,Y和Z,初值分别为5,6和7,试求出三者之和,并存入字变量W中。 3 变量和标号的属性 ① 地址属性 标号和名字对应存储单元的逻辑地址 逻辑地址包括:段地址和偏移地址 ② 类型属性 标号、子程序名的类型可以是NEAR(近)和FAR(远),分别表示段内或段间 变量名的类型可以是BYTE(字节)、WORD(字)和DWORD(双字)等 地址操作符 取得名字或标号的段地址和偏移地址两个属性 [ ] 将括起的表达式作为存储器地址 $ 当前偏移地址 : 采用指定的段地址寄存器 OFFSET 名字/标号 返回名字或标号的偏移地址 SEG 名字/标号 返回名字或标号的段地址 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] 地址操作符实例 加4个字节单元 类型名 PTR 名字/标号 PTR操作符使名字或标号具有指定的类型 类型名可以是 BYTE/WORD/DWORD/FWORD/QWORD/TBYTE 或者是NEAR/FAR mov al,byte ptr w_var ;w_var是一个字变量 使用PTR操作符,可以临时改变名字或标号的类型 4 字符串的输入输出方法 同字符的输入输出类似,字符串的输入输出也采用DOS提供给用户的用于调用系统功能的21H号中断来实现。 通常按照如下4个步骤进行: ⑴ 在AH寄存器中设置系统功能调用号 ⑵ 在指定寄存器中设置入口参数 ⑶ 执行指令INT 21H(或ROM-BIOS的中断向量号)实现中断服务程序的功能调用 ⑷ 根据出口参数分析功能调用执行情况 字符串输出的功能调用 DOS功能调用INT 21H 功能号:AH=09H 入口参数: DS:DX=欲显示字符串在主存中的首地址 字符串应以$(24H)结束 功能:在显示器输出指定的字符串 可以输出回车(0DH)和换行(0AH)字符产生回车和换行的作用 例:显示字符串 .model small .stack .data buf1 db Hello,,0dh,0ah, this is an example.$,0dh,0ah buf2 db --END--$ .code .startup mov dx, offset buf1 mov ah, 9 int 21h lea dx, buf2 mov ah, 9 int 21h .exit 0 end 如果去掉“$”显示的结果又会是什么? 字符串输入的功能调用 DOS功能调用INT 21H 功能号:AH=0AH 入口参数:DS:DX=缓冲区首地址 执行该功能调用时,用户按键,最后用回车确认 本调用可执行全部标准键盘编辑命令;用户按回车键结束输入,如按Ctrl+Break或Ctrl+C则中止 关键要定义好缓冲区 缓冲区的定义 第1字节事先填入最多欲接收的字符个数(
您可能关注的文档
- 第4章 电路探密第四张提高题.doc
- 第4章 趋势外推预测.ppt
- 第4章_最优税收理论.ppt
- 第4章_公共选择得到(高培勇《公共经济学》第二版PPT).ppt
- 第4章__用户与用户组管理.ppt
- 第4章 输电系统分析基础,重庆大学版电力系统(第2版)课件.ppt
- 第4章功率放大电路12.ppt
- 第4章_消费者的感知.ppt
- 第4章_渗流.ppt
- 第4章建筑通风系统.ppt
- 《农村民办幼儿园教师专业发展现状的研究》.docx
- 安阳钢铁集团有限责任公司2023-24年校园招聘62人【重点基础提升】模拟试题附带答案带答案.docx
- 北大附中分班数学试卷.docx
- 安阳钢铁集团有限责任公司2023-24年招聘1人历年高频考题难、易错点模拟试题附带答案通关秘籍题库(.docx
- 《二维锡基纳米材料的制备及电-光电催化性能研究》.docx
- 一级智慧工地施工方案.docx
- 安阳鑫龙煤业有限责任公司整理招考聘用6人(高频重点提升专题训练)附带答案真题题库附答案(黄金题型).docx
- 一级泵房保温施工方案.docx
- 一次支网施工方案.docx
- 2025年北京二手房买卖合同中合同履行与违约责任3篇.docx
文档评论(0)