用debug写汇编程序教学文案_第1页
用debug写汇编程序教学文案_第2页
用debug写汇编程序教学文案_第3页
用debug写汇编程序教学文案_第4页
用debug写汇编程序教学文案_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机数据采集(cij)系统第4章 用debug编写(binxi)汇编程序第一页,共31页。4.1 机器语言机器语言(j q y yn)与汇编语言与汇编语言 一、机器语言一、机器语言 机器语言是机器指令的集合。机器语言是机器指令的集合。 机器指令展开来讲就是一台机器可以正确机器指令展开来讲就是一台机器可以正确(zhngqu)执行的命令。电子计算机的机器指执行的命令。电子计算机的机器指令是一列二进制数字。计算机将之转变为一列令是一列二进制数字。计算机将之转变为一列高低电平,以使计算机的电子器件受到驱动,高低电平,以使计算机的电子器件受到驱动,进行运算。进行运算。 用机器语言编写的程序是计算机唯一

2、能够直用机器语言编写的程序是计算机唯一能够直接识别并执行的程序,而用其他语言编写的程接识别并执行的程序,而用其他语言编写的程序必须经过翻译才能变换成机器语言程序,所序必须经过翻译才能变换成机器语言程序,所以,机器语言程序被称为目标程序。以,机器语言程序被称为目标程序。第二页,共31页。二、机器语言二、机器语言(j q y yn)的缺点的缺点 早期的程序设计均使用机器语言。程序员们将用0、1数字编成的程序代码打在纸带或卡片上,1打孔,0不打孔,再将程序通过纸带机或卡片机输入计算机,进行运算。应用8086CPU完成运算s=768+12288-1280,机器码如下(rxi): 10110000000

3、0000000000011 000001010000000000110000 001011010000000000000101假如将程序错写成以下这样,请读者找出错误。 101100000000000000000011 000001010000000000110000 000101101000000000000101 第三页,共31页。要书写和阅读机器码程序不是一件简单的工作,要记住所有抽象的二进制码。上面只是一个非常简单的小程序,就暴露了机器码的晦涩难懂(nn dn)和不易查错。写如此小的一个程序尚且如此,实际上一个有用的程序至少要有几十行机器码。试想:如果程序里有一个“1”被误写为“0”,

4、又如何去查找呢? 第四页,共31页。三、汇编语言三、汇编语言(hu bin y yn)为了克服机器语言的缺点,人们采用助记符表示机器指令的操作码,用变量代替操作数的存放地址等,这样(zhyng)就形成了汇编语言。汇编语言的主体是汇编指令。汇编指令和机器指令的差别在于指令的表示方法上。汇编指令是机器指令便于记忆的书写格式。 例如:机器指令1000100111011000表示把寄存器BX的内容送到AX中。汇编指令则写成mov ax,bx。这样(zhyng)的写法与人类语言接近,便于阅读和记忆。 操作:寄存器BX的内容送到AX中 机器指令:1000100111011000 汇编指令:mov ax,b

5、x 第五页,共31页。用汇编语言编写的程序称为汇编源程序。汇编语言是一种符号语言,比机器语言容易理解和掌握,也容易调试和维护。但是,汇编语言源程序要翻译成机器语言程序才可以(ky)由计算机执行。这个翻译的过程称为“汇编”,这种把汇编源程序翻译成目标程序的语言加工程序称为汇编程序。第六页,共31页。4.2 第一个汇编程序第一个汇编程序(hu bin chn x)4.2.1 相关的相关的debug命令命令一、用一、用E输入机器语言输入机器语言(j q y yn)程序,用程序,用G运行运行 -D 100 -F 100 17F 00 -D 100 -E 100 B2 01 B4 02 CD 21 CD

6、 20 -D 100 -G=100注:注:G =运行起始地址运行起始地址。若省略起始地址,则从。若省略起始地址,则从CS:IP处开始运行。处开始运行。第七页,共31页。二、用二、用A输入输入(shr)汇编语言程序,用汇编语言程序,用U反汇编反汇编 -D 100 - F 100 17F 00 - A 100 MOV DL, 01 MOV AH, 02 INT 21 INT 20 - U 100 -G=100第八页,共31页。4.2.2 汇编汇编(hubin)与反汇编与反汇编(hubin)一、汇编一、汇编(hubin):汇编:汇编(hubin)语言语言机器语言机器语言 工具:手工做;工具:手工做;

7、 DEBUG的的A命令;命令; MASM、TASM等汇编等汇编(hubin)软件。软件。二、反汇编二、反汇编(hubin):机器语言:机器语言汇编汇编(hubin)语言语言 工具:工具:DEBUG的的U命令;命令; TRW等工具软件。等工具软件。三、三、A命令命令 -A 地址地址第九页,共31页。 该命令从指定地址开始允许输入汇编语句,把它们汇编成该命令从指定地址开始允许输入汇编语句,把它们汇编成机器代码相继存放在从指定地址开始的存储器中。机器代码相继存放在从指定地址开始的存储器中。四、四、U U命令命令 1 1)-U -U 地址地址 该命令从指定地址开始,反汇编该命令从指定地址开始,反汇编3

8、232个字节。若地址省略,个字节。若地址省略,则从上一个则从上一个U U命令的最后一条指令的下一单元开始显示命令的最后一条指令的下一单元开始显示(xinsh)32(xinsh)32个字节。个字节。2 2)-U -U 范围范围 该命令对指定范围内存单元进行反汇编。该命令对指定范围内存单元进行反汇编。第十页,共31页。4.2.3 第一个程序第一个程序(chngx)的含义的含义 一、一、 DOS系统功能调用(课本系统功能调用(课本P471) 对对8086系列机来说,系列机来说,MS-DOS操作系统是最主要的操作系操作系统是最主要的操作系统。统。MS-DOS操作系统除了具有较为完整的文件管理功能操作系

9、统除了具有较为完整的文件管理功能之外,同时还为各种应用程序、外围设备等提供软件接口。之外,同时还为各种应用程序、外围设备等提供软件接口。 DOS系统功能调用是系统功能调用是DOS为用户提供的常用为用户提供的常用(chn yn)子程序,可在汇编语言中直接调用。子程序,可在汇编语言中直接调用。 DOS系统功能调用的方法一般可分为以下几步:系统功能调用的方法一般可分为以下几步: 设置所要调用功能的入口参数。设置所要调用功能的入口参数。 在在AH寄存器中存入所要调用功能的功能号。寄存器中存入所要调用功能的功能号。 INT 21H指令自动转入中断子程序入口。指令自动转入中断子程序入口。 相应中断子程序运

10、行完毕,可按规定取得出口参数。相应中断子程序运行完毕,可按规定取得出口参数。第十一页,共31页。二、常用二、常用(chn yn)的的DOS系统功能调用系统功能调用 单字符输入(1号调用) 单字符显示(2号调用) 打印输出 (5号调用) 结束调用 (4CH号调用) 显示字符串(9号调用) 字符串输入(0AH号调用)例如:单字符显示(2号调用)格式: MOV DL,待显示字符的ASCII码 MOV AH,2 INT 21功能:将DL寄存器中的字符送显示器显示,如果(rgu)DL中为CTRL+BREAK的ASCII码,则退出。第十二页,共31页。三、三、 第一个程序第一个程序(chngx) MOV

11、DL, 01 MOV DL, 01 MOV AH, 02 MOV AH, 02 INT 21 INT 21 INT 20 INT 20 思考:如何显示其他思考:如何显示其他(qt)(qt)的的ASCIIASCII字符?字符? (能说出两种修改方法吗?)(能说出两种修改方法吗?)第十三页,共31页。4.3 扩展扩展(kuzhn)第一个汇编程序第一个汇编程序例如:下面的程序可显示例如:下面的程序可显示(xinsh)满屏的满屏的 (笑脸笑脸) (无限循环)。(无限循环)。 MOV DL, 01 MOV AH, 02 INT 21 JMP 0100第十四页,共31页。4.4 全部全部(qunb)ASC

12、II字符显示程序字符显示程序要求:要求: 编写一程序,在屏幕编写一程序,在屏幕(pngm)上显示所有的上显示所有的ASCII字符。当程序编写好以后,可以把它保存在磁盘中,字符。当程序编写好以后,可以把它保存在磁盘中,以便直接从以便直接从DOS执行程序而不必进入执行程序而不必进入DEBUG才能执才能执行。行。第十五页,共31页。4.4.1 几个几个(j )新的新的DEBUG命令命令一、一、N命令(命令(NAME)用法:用法:N 文件名文件名作用:设定好作用:设定好L和和W命令所要用到的文件名。命令所要用到的文件名。 此命令设置好一个此命令设置好一个(y )文件名。然后就可以用文件名。然后就可以用

13、L命令把此文命令把此文件装入内存中,或者用件装入内存中,或者用W命令把内存中的程序保存到此文件命令把内存中的程序保存到此文件中。中。二、二、L命令(命令(LOAD)用法:用法:L 地址地址作用:作用: 把由把由N命令所设置好的一个命令所设置好的一个(y )文件,装入到由地址文件,装入到由地址 开始的内存中。开始的内存中。 第十六页,共31页。 装入完成后,装入完成后,BXBX和和CXCX中保存了所读文件的字节数。中保存了所读文件的字节数。三、三、W W命令(命令(WRITEWRITE)用法:用法:W W 地址地址 作用:把指定作用:把指定(zhdng)(zhdng)内存区域中的数据写入由内存区

14、域中的数据写入由N N命令命令所设置好所设置好 的一个文件中。在用此命令前,的一个文件中。在用此命令前,BXBX和和CXCX中应包含中应包含 要写入文件的字节数。要写入文件的字节数。第十七页,共31页。4.4.2 把内存中的程序保存到磁盘把内存中的程序保存到磁盘(c pn)文件中文件中 文件名; 要设置好三要素 程序在内存中的起始(q sh)地址; 程序的大小用N命令设置好文件名用R命令设置好BX和CX的值(程序的大小)用W命令保存程序(在保存时要指定起始(q sh)地址)第十八页,共31页。例:保存例:保存(bocn)第一个程序第一个程序 C:debug -F 100 17F 00 -A 1

15、00 0B3E:0100 MOV DL,01 0B3E:0102 MOV AH,02 0B3E:0104 INT 21 0B3E:0106 INT 20 0B3E:0108 -N C:1ST.COM -R BX第十九页,共31页。 BX 0000 : -R CX CX 0000 :8 -W 100 Writing 00008 bytes -Q C:第二十页,共31页。例:在例:在DOS下执行下执行(zhxng)第一个程序第一个程序 C:dir 1st*.* Volume in drive C is NTFSCCCC Volume Serial Number is FC03-2958 Direc

16、tory of C: 2003-09-07 18:51 8 1ST.COM 1 File(s) 8 bytes 0 Dir(s) 1,080,619,008 bytes free C:1st C:第二十一页,共31页。例:在例:在DEBUG下执行下执行(zhxng)第一个程序第一个程序方法方法(fngf)一:一: C:DEBUG 1ST.COM -G=100 Program terminated normally -第二十二页,共31页。方法方法(fngf)二:二: C:DEBUG -N C:1ST.COM -L 100 -G=100 Program terminated normally -

17、第二十三页,共31页。4.4.3 显示全部显示全部ASCII字符字符(z f)的程序的程序一、输入一、输入ASCII程序程序(chngx),并将其保存在磁盘上,文,并将其保存在磁盘上,文件名:件名:ALLASC.com C:DEBUG -A 100 0B3E:0100 MOV DL, 00 0B3E:0102 MOV AH, 02 0B3E:0104 INT 21 0B3E:0106 INC DL 0B3E:0108 JMP 102 0B3E:010A第二十四页,共31页。 -U 100 109 0B3E:0100 B200 MOV DL,00 0B3E:0102 B402 MOV AH,02

18、 0B3E:0104 CD21 INT 21 0B3E:0106 FEC2 INC DL 0B3E:0108 EBF8 JMP 0102 -N ALLASC.COM -R BX BX 0000 : -第二十五页,共31页。 -R CX CX 0000 :0A -W 100 Writing 0000A bytes -Q C:第二十六页,共31页。二、在二、在MS-DOS命令行状态下执行命令行状态下执行ALLASC.com 在在DOS下用下用DIR命令查看,发现命令查看,发现ALLASC.com只有只有10个字个字节。节。 直接敲入文件名直接敲入文件名ALLASC可执行此程序。屏幕上一遍又一可执行此程序。屏幕上一遍又一遍地显示所有的遍地显示所有的ASCII字符,并且字符,并且(bngqi)伴随着伴随着“叮叮”“”“叮叮”的声音。(需要用的声音。(需要用CTRL-BREAK中断)中断) 三、用三、用DEBUG重新装入重新装入ALLASC.com,并在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论