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

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

        汇编语言程序格式.ppt

        1. 1、本文档共43页,可阅读全部内容。
        2. 2、本文档付费后,不意味着付费购买了版权,只能用于单位或个人使用,不得用于商业用途(如:【转卖】进行直接盈利和【编辑后售卖】进行间接盈利)。
        3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
        4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:18428362892(电话支持时间:9:00-19:00)。
        举例 DATA SEGMENT A DB ‘1234’ B DW A C DD A D DW 123H, 0F5H DATA ENDS ……… MOV AX, SEG A ;DATA→AX MOV DS, AX MOV AL, LENGTH A ;1 →AL MOV AH, SIZE A ;1 →AH MOV BH, TYPE C ;4 →BH MOV BP, OFFSET C ;6 →BP 第30页,共43页,编辑于2022年,星期四 变量可以通过它的名字访问,要特别注意操作类型与定义时的类型一致。 DATA SEGMENT A DB 52 B DW ‘AB’ DATA ENDS CODE SEGMENT ASSUME DS:DATA, CS:CODE START: MOV AX, DATA MOV DS, AX MOV AH, A MOV BX, B MOV CX, A ;出错 MOV CL, B ;出错 …… 为了提高访问变量的灵活性,可以使用属性操作符,修改变量类型 第31页,共43页,编辑于2022年,星期四 汇编语言程序格式 第1页,共43页,编辑于2022年,星期四 4.1 源程序书写格式 完整的段定义 一般格式如下: <段名> SEGMENT …… <段名> ENDS 简化段定义 .MODEL, .STACK, .DATA, .CODE 一般格式书写结构: <堆栈段名> SEGMENT STACK …… <堆栈段名> ENDS <数据段名> SEGMENT …… <数据段名> ENDS <代码段名> SEGMENT ASSUME定义 过程名或起始标号: …… <代码段名> ENDS END 过程名或起始标号 第2页,共43页,编辑于2022年,星期四 几点说明 源程序中的堆栈段、数据段和代码段是逻辑段。源程序在汇编、连接后生成的段是物理段。逻辑段和物理段的关系取决于伪指令ASSUME。 一个源程序至少有一个逻辑代码段和END伪指令。 一个源程序文件可以含有多个逻辑数据段、多个逻辑代码段、多个逻辑堆栈段。 第3页,共43页,编辑于2022年,星期四 ;完整段定义 data segment HMessage DB 'Hello, World',13,10,'$' data ends code segment Assume cs:code,ds:data Start:mov ax,data mov ds,ax mov ah,9 mov dx,OFFSET HMessage int 21h mov ah,4ch int 21h code ends END Start 书写格式举例 第4页,共43页,编辑于2022年,星期四 ;简化段定义1 .Model Small .DATA HMessage DB 'Hello, World!',13,10,'$' .CODE Start:mov ax,@data mov ds,ax mov ah,9 mov dx,OFFSET HMessage int 21h mov ah,4ch int 21h END Start 书写格式举例 第5页,共43页,编辑于2022年,星期四 ;简化段定义2 .Model Small .DATA HMessage DB 'Hello, World',13,10,'$' .CODE Start: .STARTUP mov ah,9 mov dx,OFFSET HMessage int 21h .EXIT 0 END Start 书写格式举例 第6页,共43页,编辑于2022年,星期四 书写格式中涉及的伪指令 SEGMENT / ENDS 相当于一个逻辑段的前后括号,必须成对出现。 <段名>由用户给出,前后必须一致。 END 格式:END [过程名|标号] 功能:源程序文件结束。 ASSUME 格式:ASSUME 段寄存器名:逻辑段名 功能:用于指定某逻辑段应通过哪个段寄存器寻址,但并不把具体值装入相应的段寄存器。 第7页,共43页,编辑于2022年,星期四 段寄存器的装填 CS的装填 系统完成,无需用户干预。 DS,ES,SS(对于386后继机型,FS,GS) 装填有用户程序完成。 以DS为例,一般方法: MOV AX,<逻辑段名> MOV DS,AX 程序开始伪指令:.STARTUP(只能在简化段

        您可能关注的文档

        文档评论(0)

        努力奋斗的小玲

        相关文档

        相关课程推荐

        亚洲精品福利成年人jinvtv