- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE START: MOV AX,DATA MOV DS,AX LEA DI,STR MOV AL,NUM MOV CL,4 SHR AL,CL OR AL,30H MOV [DI],AL INC DI MOV AL,NUM AND AL,0FH OR AL,30H MOV [DI],AL INC DI MOV BYTE PTR [DI],‘H’ INC DI MOV BYTE PTR [DI],‘$’ LEA DX,BUF MOV AH,9 INT 21H MOV AH,4CH INT 21H CODE ENDS END START DATA SEGMENT INFO1 DB 0DH,0AH,‘INPUT STRING:$’ INFO2 DB 0DH,0AH,‘OUTPUT STRING:$’ BUFA DB 81 DB ? DB 80 DUP(0) BUFB DB 81 DUP(0) DATA ENDS STACK SEGMENT DB 200 DUP(?) STACK ENDS 【例3.17】从键盘上输入一串字符到输入缓冲区,然后将输入的字符串在显示器上以相反的顺序显示。 CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE START: MOV AX,DATA MOV DS,AX LEA DX,INFO1 MOV AH,9 ; 9号调用,显示输入提示信息 INT 21H LEA DX,BUFA MOV AH,10 ; 10号调用,键盘输入字符串到缓冲区BUFA INT 21H LEA SI,BUFA+1 MOV CH,0 ; 取字符长度→CX MOV CL,[SI] ADD SI,CX ; SI 指向字符串尾部 LEA DI,BUFB ; DI指向字符串变量BUFB NEXT:MOV AL,[SI] MOV [DI],AL DEC SI INC DI LOOP NEXT MOV BYTE PTR [DI],‘$’ LEA DX,INFO2 MOV AH,9 ;9号调用,显示输出提示信息 INT 21H LEA DX,BUFB MOV AH,9 ;反向显示字符串 INT 21H MOV AH,4CH INT 21H CODE ENDS END START 返回本节 Thank you very much ! 作业:P57 5,7,10,11 本讲到此结束,谢谢您的光临! 返回本章首页 结 束 * (1)PTR运算符 格式: 类型 PTR 地址表达式 PTR与EQU连用,可定义与PTR右边地址表达式类型不同的新变量名或新标号,但不另分配存储单元。 例: MOV [BX],5 ;会出现类型不明确错误 MOV BYTE PTR [BX],5 ;给一个字节内存赋值05H MOV WORD PTR [BX],5 ;给两个字节内存赋值05H和00H 5.属性运算符 P49 用来表示一个标量,变量或地址表达式的段属性。 例: MOV AX, [BX+SI] ;从默认段DS取数据 MOV AX,ES:[BX+SI] ;从指明段ES取数据, 属于跨段问题 (2):段操作符 3.2.5 运算符的优先级 表3.4 运算符的优先级 返回本节 P53 3.3 伪指令 3.3.1 数据定义伪指令 3.3.2 符号定义伪指令 3.3.3 段定义伪指令SEGMENT/ENDS 3.3.4 假定伪指令ASSUME 3.3.5 置汇编地址计数器伪指令ORG 3.3.6 源程序结束伪指令 返回本章首页 3.3.1 数据定义伪指令 常用的数据定义伪指令有DB,DW,DD,DQ,DT。 格式:[变量名] 数据定义伪指令 表达式 [,…] 功能:定义数据存储区,类型由数据定义伪指令确定,初值由表达式给定。 a db 12h ;C语言 char a=0x12; i dw 1234h ;C语言 int a=0x1234; j dd ;C语言 long a=0 返回本节 P40 3.3.2 符号定义伪指令 1.等价伪指令 2.等号伪指令 3.定义符号名伪指令 1.等价(值)伪指令 格式:符号名 EQU
文档评论(0)