对于大学生来说,基本都需要学习高级编程语言,相信大多数理工类大学生都知道c++、c语言、Java语言等高级语言,也知道机器语言这个最低级的语言,但是却有很多都不知道汇编语言,或许听过这个名字,却不知道用途等。现在我就来给大家讲解一下汇编语言以及入门。我也是刚学习汇编语言,大家可以跟着我一起学习。汇编语言与高级语言不同,它是面向机器的语言,最接近于机器语言。学习汇编语言,必须要了解计算机中机器指令、数据、符合的表示形式和存储格式以及机器指令程序的运行方式等。汇编语言的实践性很强,必须要边学习边动手才可能掌握,需要耐心和细心。初学者一般需要用到debug小工具进行程序调试,现在我就来给大家演示一下debug调试工具的使用以及debug命令符。
工具/原料
- 电脑
- 安装有debug小工具的系统(一般32位的windows系统自带有,64位的需要自己安装)
方法/步骤
- debug调试程序是以DOS外部命令程序形式提供的,它的文件名为Debug.com 。如果你使用的是windows系统,那么如果是32位的电脑,一般都自带有debug调试工具,而64位的一般没有自带这个工具,需要自己进行安装。XP系统暂时不作介绍,读者可以参照我介绍的方法进行尝试。首先,点开windows开始图标。在收索框里输入cmd,注意是cmd,不是debug,虽然输入debug也可以,但是在后续的程序调试中会出现一些问题。输入cmd并按回车后即可打开调试工具了。
- 若直接输入debug打开,工作界面与输入cmd打开有所不同,建议还是通过cmd打开debug。
- 打开cmd程序后,输入debug,大小写均一样,习惯用大写,为方便操作,后续的操作我一律使用小写。输入之后按回车,会出现下图所示的工作框。
- 在debug窗口就可以进行汇编语句的编写和调试了。先在窗口输入A,然后回车,系统自动分配到内存,如本图所示,其中13F1是寄存器的段基址,冒号后面的0100是偏移地址,对应的物理地址是13F1100,即程序在此地址下开始存储。然后输入汇编语句,举一个简单的例子,将数据2341H送入寄存器ax和cx中。记住输入的数据在汇编是已经默认是十六进制,不需要在加h,否则会显示错误。
- 再举另一个例子,将21h和23h两个数相加,结果存放到al中。并通过命令符t一步一步执行,看结果。每输入一个t,按回车后即完成一条指令,第一条指令是将21h送入到ax寄存器的低位al中,看到ax的值变成了0021;第二步执行的是将21h与23h相加,并将结果存放到al中,所执行之后看到ax的值由0021变成了0044 。注意到两条指令执行后,IP的值发生了改变,即地址指针发生了改变。NV、UP、EI、PL、NZ、NA、PO、NC代表的是标志寄存器的状态位,在此不做进一步介绍,查阅相关书籍都会有详细的介绍。
- 现在来给大家介绍一下常用的几个命令符。a:逐行汇编;u:反汇编;t:逐行执行命令;d:显示一定内存单元内容,再次输入将在原显示内容上继续显示下面内存的内容;q:退出debug回到dos状态;r:改变或显示一个或多个寄存器的内容;n:命名文件;w:将已命名文件写入磁盘;l:将程序装载进内存。
暂时介绍这些常用的几个。有需要的读者可以去网上收索更详细的命令符。
下面给大家演示一个简单的例子,并使用这些命令符。
存盘后要想查看已存内容,可以先用q退出,然后输入dir回车,即可看到文件下的所以目录。可以看到自己命名的文件
时间: 2024-11-05 19:33:47