用debug写汇编程序

用debug写汇编程序

ID:37547664

大小:345.31 KB

页数:31页

时间:2019-05-12

用debug写汇编程序_第1页
用debug写汇编程序_第2页
用debug写汇编程序_第3页
用debug写汇编程序_第4页
用debug写汇编程序_第5页
资源描述:

《用debug写汇编程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机数据采集系统第4章用debug编写汇编程序4.1机器语言与汇编语言一、机器语言机器语言是机器指令的集合。机器指令展开来讲就是一台机器可以正确执行的命令。电子计算机的机器指令是一列二进制数字。计算机将之转变为一列高低电平,以使计算机的电子器件受到驱动,进行运算。用机器语言编写的程序是计算机唯一能够直接识别并执行的程序,而用其他语言编写的程序必须经过翻译才能变换成机器语言程序,所以,机器语言程序被称为目标程序。二、机器语言的缺点早期的程序设计均使用机器语言。程序员们将用0、1数字编成的程序代码打在纸

2、带或卡片上,1打孔,0不打孔,再将程序通过纸带机或卡片机输入计算机,进行运算。应用8086CPU完成运算s=768+12288-1280,机器码如下:101100000000000000000011000001010000000000110000001011010000000000000101假如将程序错写成以下这样,请读者找出错误。101100000000000000000011000001010000000000110000000101101000000000000101要书写和阅读机器码程序不是

3、一件简单的工作,要记住所有抽象的二进制码。上面只是一个非常简单的小程序,就暴露了机器码的晦涩难懂和不易查错。写如此小的一个程序尚且如此,实际上一个有用的程序至少要有几十行机器码。试想:如果程序里有一个“1”被误写为“0”,又如何去查找呢?三、汇编语言为了克服机器语言的缺点,人们采用助记符表示机器指令的操作码,用变量代替操作数的存放地址等,这样就形成了汇编语言。汇编语言的主体是汇编指令。汇编指令和机器指令的差别在于指令的表示方法上。汇编指令是机器指令便于记忆的书写格式。例如:机器指令1000100111

4、011000表示把寄存器BX的内容送到AX中。汇编指令则写成movax,bx。这样的写法与人类语言接近,便于阅读和记忆。操作:寄存器BX的内容送到AX中机器指令:1000100111011000汇编指令:movax,bx用汇编语言编写的程序称为汇编源程序。汇编语言是一种符号语言,比机器语言容易理解和掌握,也容易调试和维护。但是,汇编语言源程序要翻译成机器语言程序才可以由计算机执行。这个翻译的过程称为“汇编”,这种把汇编源程序翻译成目标程序的语言加工程序称为汇编程序。4.2第一个汇编程序4.2.1相关的

5、debug命令一、用E输入机器语言程序,用G运行-D100-F10017F00-D100-E100B201B402CD21CD20-D100-G=100注:G[=运行起始地址]。若省略起始地址,则从CS:IP处开始运行。二、用A输入汇编语言程序,用U反汇编-D100-F10017F00-A100MOVDL,01MOVAH,02INT21INT20-U100-G=1004.2.2汇编与反汇编一、汇编:汇编语言→机器语言工具:手工做;DEBUG的A命令;MASM、TASM等汇编软件。二、反汇编:机器语言→

6、汇编语言工具:DEBUG的U命令;TRW等工具软件。三、A命令-A[地址]该命令从指定地址开始允许输入汇编语句,把它们汇编成机器代码相继存放在从指定地址开始的存储器中。四、U命令1)-U[地址]该命令从指定地址开始,反汇编32个字节。若地址省略,则从上一个U命令的最后一条指令的下一单元开始显示32个字节。2)-U范围该命令对指定范围内存单元进行反汇编。4.2.3第一个程序的含义一、DOS系统功能调用(课本P471)对8086系列机来说,MS-DOS操作系统是最主要的操作系统。MS-DOS操作系统除了具

7、有较为完整的文件管理功能之外,同时还为各种应用程序、外围设备等提供软件接口。DOS系统功能调用是DOS为用户提供的常用子程序,可在汇编语言中直接调用。DOS系统功能调用的方法一般可分为以下几步:①设置所要调用功能的入口参数。②在AH寄存器中存入所要调用功能的功能号。③INT21H指令自动转入中断子程序入口。④相应中断子程序运行完毕,可按规定取得出口参数。二、常用的DOS系统功能调用单字符输入(1号调用)单字符显示(2号调用)打印输出(5号调用)结束调用(4CH号调用)显示字符串(9号调用)字符串输入(

8、0AH号调用)例如:单字符显示(2号调用)格式:MOVDL,待显示字符的ASCII码MOVAH,2INT21功能:将DL寄存器中的字符送显示器显示,如果DL中为〈CTRL〉+〈BREAK〉的ASCII码,则退出。三、第一个程序MOVDL,01MOVAH,02INT21INT20思考:如何显示其他的ASCII字符?(能说出两种修改方法吗?)4.3扩展第一个汇编程序例如:下面的程序可显示满屏的☺(笑脸)(无限循环)。MOVDL,01MOVAH,02INT21

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。