- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
华东理工大学 汇编第8讲
汇编语言程序设计Assembly Language Programming 回顾已学习过的指令 MOV LEA LDS, LES, LFS, LGS MOVZX, MOVSX, CBW,CWD, CWDE, CDQ XCHG, BSWAP XLAT PUSH, POP, PUSHF, POPF ADD,ADC,INC,SUB,SBB,DEC,NEG,MUL,IMUL,DIV,IDIV LOOP AND, OR, XOR, NOT SHL, SHR, SAL, SAR, ROL, ROR, RCL, RCR CLC, STC, CMC, CLD, STD, CLI, STI NOT, HLT 第3章 数据运算与输入/输出 3.4 控制台输入/输出 汇编语言没有输入/输出指令。而是通过操作系统提供的系统服务程序或者通过基本输入/输出系统(BIOS)进行输入和输出。 只能输入/输出字符或字符串,而不能直接输入/输出一个整数。如要输入/输出一个整数,只能每次输入/输出该整数的一位数字。 3.4.1 输出 1. 输出单个字符 DL ← 待输出字符的ASCII码值 MOV AH, 02H INT 21H 2.输出字符串 3.十进制格式输出无符号字数据 只能直接输出字符或字符串,而不能直接输出一个整数。如要输出一个整数,只能每次输出该整数的一位数字. 方法:从高位到低位分别依次取出相应位上的数字并转换成数字字符,再调用操作系统的2号系统功能输出该数字。 关键问题:如何取得各位上的数字。 设X的值为12345 4.十六进制格式输出无符号字数据 方法1:除16保存余数(重复4次), 取出余数并转换为对应字符输出(重复4次) 方法2:通过移位指令,每次取出字数据的高4位(即一位16进制数字), 并将其转换为对应的字符ASCII,然后输出.重复上述过程4次. 关键问题:如何将16进制数字转换为对应字符的ASCII码? 设X的值为12500 DATA SEGMENT X DW 12500 C16 DW 16 HEX DB 0123456789ABCDEF DATA ENDS CODE SEGMENT ASSUME DS: DATA, CS: CODE START:MOV AX, DATA MOV DS, AX MOV CX, 4 MOV AX, X ONE: MOV DX, 0 DIV C16 PUSH DX LOOP ONE MOV CX, 4 LEA BX, HEX TWO: POP AX XLAT MOV DL, AL MOV AH, 2 INT 21H LOOP TWO MOV AX, 4C00H INT 21H CODE ENDS END START 设X的值为12500, 即 0011 0000 1101 0100 DATA SEGMENT X DW 12500 HEX DB 0123456789ABCDEF DATA ENDS CODE SEGMENT ASSUME DS: DATA, CS: CODE START:MOV AX, DATA MOV DS, AX MOV CX, 4 LEA BX, HEX ONE: PUSH CX MOV CL, 4 ROL X, CL MOV AX, X AND AX, 000FH XLAT MOV DL, AL MOV AH, 2 INT 21H POP CX LOOP ONE MOV AX, 4C00H INT 21H CODE ENDS END START 5. 二进制格式输出无符号字数据 方法1:除2保存余数(重复16次), 取出余数并转换为对应字符输出(重复16次)。 ——程序繁琐, 请同学们自行编程实现. 方法2:通过移位指令,每次取出字数据最高位送CF, 采用带进位的加法指令实现将二进制数字0或1转换为对应的字符ASCII,然后输出.重复上述过程16次. DATA SEGMENT X DW 12500 DATA ENDS CODE SEGMENT ASSUME DS: DATA, CS: CODE START:MOV AX, DATA MOV DS, AX MOV CX, 16 ;循环次数?(CX) ONE: MOV DL, 0 ;(DL)
您可能关注的文档
最近下载
- 数字城市CIM管理平台设计方案.docx VIP
- 山东省2016版安装工程消耗量定额.pdf VIP
- 工学一体化课程《小型网络管理与维护》任务4单元3教学单元活动方案.docx VIP
- 葡萄酒工厂设计说明书.doc VIP
- 某高速公路隧道工程施工安全总体风险评估报告.pdf VIP
- 基于地理集成机器学习的海洋中深层流速数据重构方法.pdf VIP
- DB62T 2992-2019 黄土地区高速公路路基施工技术规范.pdf VIP
- 细胞生物学(第五版)-第15章细胞死亡与细胞衰老.ppt VIP
- 工学一体化课程《小型网络管理与维护》任务4单元6教学单元活动方案.docx VIP
- 中职新生主题班会-开学第一课-:新的起点-课件-(30张PPT).pptx VIP
文档评论(0)