- 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 机器语言与汇编语言;二、机器语言的缺点;要书写和阅读机器码程序不是一件简单的工作,要记住所有抽象的二进制码。
上面只是一个非常简单的小程序,就暴露了机器码的晦涩难懂和不易查错。写如此小的一个程序尚且如此,实际上一个有用的程序至少要有几十行机器码。
试想:如果程序里有一个“1”被误写为“0”,又如何去查找呢? ;三、汇编语言;用汇编语言编写的程序称为汇编源程序。
汇编语言是一种符号语言,比机器语言容易理解和掌握,也容易调试和维护。但是,汇编语言源程序要翻译成机器语言程序才可以由计算机执行。这个翻译的过程称为“汇编”,这种把汇编源程序翻译成目标程序的语言加工程序称为汇编程序。
;4.2 第一个汇编程序;二、用A输入汇编语言程序,用U反汇编;4.2.2 汇编与反汇编; 该命令从指定地址开始允许输入汇编语句,把它们汇编成机器代码相继存放在从指定地址开始的存储器中。
四、U命令
1)-U [地址]
该命令从指定地址开始,反汇编32个字节。若地址省略,则从上一个U命令的最后一条指令的下一单元开始显示32个字节。
2)-U 范围
该命令对指定范围内存单元进行反汇编。;4.2.3 第一个程序的含义;二、常用的DOS系统功能调用;三、 第一个程序;4.3 扩展第一个汇编程序;4.4 全部ASCII字符显示程序;4.4.1 几个新的DEBUG命令; 装入完成后,BX和CX中保存了所读文件的字节数。
三、W命令(WRITE)
◆用法:W [地址]
◆作用:把指定内存区域中的数据写入由N命令所设置好
的一个文件中。在用此命令前,BX和CX中应包含
要写入文件的字节数。;4.4.2 把内存中的程序保存到磁盘文件中;例:保存第一个程序; BX 0000
:
-R CX
CX 0000
:8
-W 100
Writing 00008 bytes
-Q
C:\;例:在DOS下执行第一个程序;例:在DEBUG下执行第一个程序;方法二:
C:\DEBUG
-N C:\1ST.COM
-L 100
-G=100
?
Program terminated normally
-
;4.4.3 显示全部ASCII字符的程序; -U 100 109
0B3E:0100 B200 MOV DL,00
0B3E:0102 B402 MOV AH,02
0B3E:0104 CD21 INT 21
0B3E:0106 FEC2 INC DL
0B3E:0108 EBF8 JMP 0102
-N ALLASC.COM
-R BX
BX 0000
:
-
; -R CX
CX 0000
:0A
-W 100
Writing 0000A bytes
-Q
C:\
;二、在MS-DOS命令行状态下执行ALLASC.com
在DOS下用DIR命令查看,发现ALLASC.com只有10个字节。
直接敲入文件名ALLASC可执行此程序。屏幕上一遍又一遍地显示所有的ASCII字符,并且伴随着“叮”“叮”的声音。(需要用CTRL-BREAK中断)
三、用DEBUG重新装入ALLASC.com,并在DEBUG下运行
;四、进一步改善ALLASC.com
只显示一遍所有ASCII字符,然后自动回到DOS(若从DEBUG运行就回到DEBUG)而不必用CTRL+C中断。; C:\DEBUG
-A 100
0B3E:0100 MOV CX, 100
0B3E:0103 MOV DL, 00
0B3E:0105 MOV AH, 02
0B3E:0107 INT 21
0B3E:0109 INC DL
0B3E:010B LOOP 105
0B3E:010D INT 20
0B3E:010F
-
; -U 100 10D
0B3E:0100 B90001 MOV
文档评论(0)