- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言常见错误分析
汇编语言常见错误分析
施志刚
(南通航运职业技术学院 信息系,江苏 南通 226010)
摘 要:本文通过具体实例分析了汇编语言程序设计过程中的若干常见错误,包括语法错误
和程序设计上的逻辑错误,旨在帮助读者在程序设计时能够避免本文提出的错误。
关键词:分析;汇编语言;语法错误;逻辑错误
Conmmon ErrorsAnalysis InAssembly Language
Shizhigang
(IT Department, Nantong Vocational Technical Shipping College, Nantong Jiangsu
226010)
Abstract:This article analysised conmmon errors in assembly language programming
process through the concrete examples,including grammer errors and logic errors
inprogramming,aimedathelpingreaderstopreventfromtheerrorsthatthisarticle
refered to in programming.
Key words: analysis; assembly language; grammer errors; logic errors
0 引言
汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机
所有硬件特性并能直接控制硬件的惟一语言。因而对程序的空间和时间要求很高的场合,汇
编语言的应用是必不可少的。至于很多需要直接控制硬件的应用场合,则更是非用汇编语言
不可了。作为计算机专业及相关学科一门重要的基础课程,其重要性不言而喻。但是对于众
多初学汇编语言的人来说,都普遍感到较难且不易理解和掌握,难以入门,看着有错的程序,
更是不知从何改起,本人在汇编语言的教学过程中积累并总结了一些这方面的经验,以供各
位读者借鉴和参考。
1 汇编语言常见错误
1.1语法错误
1.1.1 数据类型不一致
在汇编语言中,对于双操作数指令(比如mov,add等),规定两操作数的数据类型必须一
致,所谓数据类型的一致是指两操作数必须同为字节或者同为字类型的数据。例如:
Data segment
s1 db 11h,22h
s2 dw 3344h,7788h
Data ends
:
Mov ax,s1+1
Mov al,s2
汇编程序在汇编这一段程序时,能发现两条mov指令的两个操作数的类型属性是不同
的:s1+1为字节型属性,而ax为字类型属性;s2为字类型属性,而al为字节类型属性。
因此,汇编程序将指示出错:两条mov指令中的两个操作数的类型不匹配。这时可以指定操
作数的类型属性,即使用PTR属性操作符,它赋予变量一个新的临时类型属性,类型可以是
byte,word等,其本身并不分配存储单元。因此,第一条mov指令可以改成:movax,word
ptr s1+1,这样就把s1+1的类型属性指定为字,两个操作数的属性也就一致了,汇编时不
作者简介:施志刚 (1980.12— ),男,江苏南通人,南通航运职业技术学院信息系助教。
会出错。同理,第二条mov指令可以写成mov al,byte ptr s2。
1.1.2双操作数指令中两操作数同为存储器单元
在汇编语言中,规定双操作数指令中两操作数不能同为存储器单元,必须有一个是寄存
器。例如:
Data segment
s1 dw 1,2,3
s2 dw 10 dup(?)
Data ends
:
Mov s2+6,s1+2
汇编语言在汇编这段程序时,能发现mov指令中的两操作数同为存储器单元。s1和s2
是在数据段定义的两个变量,类型均为字。dw伪指令为其后跟着的数据存入指定的存储单
您可能关注的文档
最近下载
- 志愿者招募方案.docx VIP
- 迅达电梯7000中文电路图.pdf
- 消防工程施工合同范本XFHT001.doc VIP
- ISO-IEC 27701.2-2024(DIS) 信息安全、网络安全和隐私保护— 隐私信息信息管理体系 - 要求和指南(雷泽佳译2024).pdf VIP
- 信息安全-网络安全和隐私保护-信息安全管理体系-要求和使用指南(整合版-2024雷泽佳).docx VIP
- QYX 06.68-2015 塑料件热铆、热熔焊接技术规范.pdf VIP
- 信息安全、网络安全和隐私保护——信息安全控制风险清单(雷泽佳编制2024A0).docx VIP
- 信息安全典型风险(威胁)清单【类别、描述、后果及控制措施示例】(雷泽佳编制2024A0).docx VIP
- 信息安全风险清单之2:信息安全典型脆弱性清单——脆弱性示例、涵义、事件类别、后果和安全控制措施(雷泽佳编制2024A0).docx VIP
- 5G-R承载CTCS-3级列控数据传输研究.pdf VIP
文档评论(0)