- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.1汇编语言程序格式f\汇编语 言 的程序格式 伪指令汇编语言程序上机过程 程序设计基本方法? 4.1? 4.2? 4.3? 4.4丿4.1汇编语言的程序格式f\? 4.1.1汇编语言程序的结构? 4.1.2汇编语言语句类型及格式? 4.1.3汇编语言的数据与表达式返回?源程序的一般格式f\例4?1编写一个两字相加的程序。?STACKSEGMENT1? DSEGSEGMENT:定义数据段11e DATA1DW 1234H;定义被加数.STACKENDS? DATA2? DSEGDW 5678HENDS:定义加数;数据段结朿.DATASEGMENT? ESEGSEGMENT:定义附加段I? SUMDW 2DUP (*?):定义存放结果区11? ESEGENDS:附加段结朿.DATAENDSCSEGSEGMENT;定义代码段;下而的语句说明程序中定义的各段分别用哪个段寄存器寻址?CODESEGMENT?ASSUME CS: CSEG. DS: DSEG. ES: ESEG.ASSUME CS: CODE, DS:? START: MOV AX, DSEGe: START为科!序开始执行的启动标号DATA,SS: STACKMOV DS,AX;衣始化DS.START:MOV AX,ESEG [jl? ? ?MOV ES,AX:南始化ES11LEA SI, SUM :存放结果的偏移地址送SICODE\MOV AX,DATA1;取被加汲?ENDSADD AX,DATA2:两数相加END STARTMOV ES:[SI], AX :白SUM*,兀叶.HLTCSEG ENDS丿END START(1)汇编语言程序通常由若干段组成,段由伪指令SEGMENT与 ENDS定义,各段顺序任意,段的数目按需要确定,原则上不受限制。(2) 段由若干语句组成,语句以指令为主体而构成。一条语句写在一 行上,书写时语句的各部分应尽量对齐(3) 汇编语言程序中至少要有一个启动标号,作为程序开始执行时目 标代码的入口地址。启动标号常用START、BEGIN、MAIN等命名。(4)为增加程序的可读性,可在汇编语言语句“;后加上注释。412汇编语言语句类型及格式T\? 1.汇编语言语句的类型? (1)指令语句是可执行语句,在汇编屮要产生对应的目标代码, CPU根据这些代码才能执行相应的操作。? (2)伪指令语句是不可执行语句,在汇编中不产生冃标代码,用于指 示汇编程序如何汇编源程序,利用它定义和说明常量和变量的属性及 存储器单元的分配等。? (3)宏指令语句是以一个宏名定义的一段指令序列,在汇编中凡是出 现宏指令语句的地方,都会有相应的指令语句序列的目标代码插入。? 2.语句的格式?[标号:]V指令助记符A [操作数][;注释]?[符号名]V伪指令助记符 [操作数][;注释]J客返回jC4.1.3汇编语言的数据与表达式f\常量数值常量、字符串常量、符号常量变量?例4?2用数据定义伪指令DB、DW、DD定义变量? 1.? 2.SEGMENT? DATA? DA1? DA2? DA3. DATA标号DBDDDW;定义一个字节数据12H;定义一个双字数据;定义一个字数据0FEDCBA90H5678HENDS? 3.表达式和运算符?算术运算符、逻辑运算符、关系运算符、数值返回运算符、修改属 J性运算符丿? 4.例题例4?3逻辑运算符的应用NOANDQRMOV AL,MOV AL,MOV AL,(AL) ;(AL) (AL) 例4.4关系运算符的应用? MOV AX, 5 EQ 101B(AX) —OFFFFH? MOV BH, 10H GT 16 ; (BH) —0?例4.5数值返回运算符的应用K1 DB 30H, 31H, 32HK2K3K4MOVMOVMOVMOVMOVMOVDW DW DDAL,AH,AL,CL,BL,DL,4041H, 4043H20H DUP (0TYPE K1TYPE K2:等效于MOV AL, 1;等效于MOV AH, 2;(AL) -20H,返回DUP前面的数值;(CL) —01H;(BL) -40H;(DL) —04HLENGTHLENGTHK3K4丿SIZEK3SIZE K4例题?例4?6段属性运算符的应用? MOV AX, ES: [BX]:用附加段ES取代默认的数据段DS? MOV BL, DS: [BP];用数据段DS取代默认的堆栈段SS?例4?7 PTR运算符的应用? N1 DB 3, 6, 9MOV AX, WORD PTR N1 ;临时指定N
原创力文档


文档评论(0)