![微机原理及应用试验指导书201129要点_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/71a10cc6-9e66-4d0f-8a50-0476e0a2c106/71a10cc6-9e66-4d0f-8a50-0476e0a2c1061.gif)
![微机原理及应用试验指导书201129要点_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/71a10cc6-9e66-4d0f-8a50-0476e0a2c106/71a10cc6-9e66-4d0f-8a50-0476e0a2c1062.gif)
![微机原理及应用试验指导书201129要点_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/71a10cc6-9e66-4d0f-8a50-0476e0a2c106/71a10cc6-9e66-4d0f-8a50-0476e0a2c1063.gif)
![微机原理及应用试验指导书201129要点_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/71a10cc6-9e66-4d0f-8a50-0476e0a2c106/71a10cc6-9e66-4d0f-8a50-0476e0a2c1064.gif)
![微机原理及应用试验指导书201129要点_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-1/13/71a10cc6-9e66-4d0f-8a50-0476e0a2c106/71a10cc6-9e66-4d0f-8a50-0476e0a2c1065.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理与接口»实验指导书实验概述 1基于PC的8086汇编程序实验 22.1实验一调试程序 debug.exe的使用 22.2实验二汇编与宏汇编程序 122.3实验三汇编程序设计 1 142.4实验四汇编程序设计 2 152.5实验五汇编程序设计 3 16实验概述微机原理及应用的实验项目由两大部分组成:软件部分是基于 PC的8086汇编程序实验,这一部分的实验不需要使用实验箱,直接在PC机上进行。进行汇编程序实验,需要PC机安装相应的汇编程序软件包, 例如microsoft 的宏汇编或其它类似汇编软件。通过这一部分的实验使学生掌握汇编程序的编写、汇编、连接与调试过程,同时进行一些基
2、于 PC的汇编源程序的编写。在汇编源程序中,可以使用微机的BIOS功能调用与DOS功能调用。硬件部分(略)1常用MS-DOS命令功能1.1如何切换 Win与DOS环境(1) 开始”-所有程序”-附件”-命令提示符”;若要实现全屏显示可设置“命令提示符-属性”-选项”全屏”(2) 在DOS环境下退回 Win : EXIT1.2常用DOS命令(1) 盘切换C:>D:回车(2) DIR ( directory)( DIR /p/w ):列当前文件夹下文件与文件夹(3) MD ( make directory ):在当前文件夹下新建文件夹(4) CD ( change directory ):目
3、录切换 CD :回到根目录CD.:返回前级目录(5) RD ( remove directory ):可在前一级目录下删除某空目录(6) DEL( delete ):删除文件DEL SY1_1.ASM ;DEL *.*(7) COPY :拷贝文件 COPY SY1_1.ASM SY1_2.ASM(8) REN ( rename ):文件重命名REN MY1_1.ASM SY1_1.ASM3基于PC的8086汇编程序实验本章将介绍PC机上的debug.exe的使用,以及采用宏汇编软件的使用。在掌握这两个软件使用的基础上,进行汇编源程序的设计。宏汇编软件采用 microsoft的MASM 5.0或
4、MASM 6.0。这些软件在DOS环境运行,学生可以采用命令行的形式使用。当然,现在也 有运行在Windows系统的集成开发软件。学生在掌握汇编过程的基础上,可以选用该类 Windows环境的汇编集成开发软件。2.1实验一调试程序debug.exe的使用DEBUGS个DOS实用程序,是供程序员使用的程序调试工具,可以用它检查内存中任何地方的字节以及修改任何地方的字节。它可以用于逐指令执行某个程序以验证程序运行的正确性,也可以追踪执行过程、比较一个指令执行前后的值以及比较与移动内存中数 据的范围,读写文件与磁盘扇区。它的功能包括以下几个方面。1,直接输入,更改,跟踪,运行汇编语言源程序;2,观察
5、操作系统的内容;3,查看ROM BIOS的内容;4,观察更改 RAM内部的设置值;5,以扇区或文件的方式读写软盘数据DEBUG把所有数据都作为字节序列处理。因此它可以读任何类型的文件。DEBUG可以识别两种数据:十六进制数据和 ASCH码字符。它的显示格式是各个字节的十六进制值以 及值在32与126之间的字节的相应 ASCH码字符。在DEBUG中输入数据有两种方法:提示方法和非提示方法。在用提示方法时,用户可 以输入要求输入数据的命令,后跟数据所要输入的地址。然后用户就可以看到该地之中已 有内容及一个冒号提示符。此时用户可以在提示符下输入一个新的值或者按下回车键或 CTRL+C回到短横(-)提
6、示符。在运用非提示方法时,用户可以输入要输入数据的内存地 址以及要输入的字节。但与使用字处理程序或正文编辑程序时不一样,在使用DEBUGS,用户不能直接移动光标到一入口点输入或修改数据,而要一次输入一个或几个字节。在使用DEBUG寸可以只涉及内存中的数据,从而一般都要指定所要处理的内存地址, 地址的输入格式是:段地址:位移。如果没有输入地址, DEBU(将假定为当前内存段, 从位于地址100H的字节开始。前100H字节保留给程序段前缀使用,这一专用区域用于 建立DOS与程序之间的联系。DEBUG、是用四位十六进制数表示地址。用两位数表示十六进 制数据。调用了 DEBUG程序,就会出现一个短横提
7、示符,用户就可以在这一短横后输入DEBUG程序的命令。有些 DEBUGS令会显示一个内存地址并产生一个作为提示符的冒号。在这些 提示符后,用户可以输入一个新值以改变所显示位置原来的值。如果用户不输入一个新值 而是按下回车或CTRL+C那么原来的值不会改变。一般用不着把地址和命令名字分开。例如,用转储命令D察看100号地址的数据,那么这个命令可以用以下任一种形势输入:D100D 100如果输入的命令中出现了错误,DEBUG将在下一行对着错误的位置标记出来,例如:-S100d 12AErrorDEBU啲命令及功能如下:汇编命令 :A地址;ASSEMBLE功能:将指令直接汇编成机器码输入到内存中。说
8、明:用于小段程序的汇编及修改目标程序,所有输入的数字均采用十六进制,用户装入内存的汇编语句是连续存放的,若没有指定地址,并且前面没有使用汇编命令,改 语句被汇编到CS:0100区域。例 A: >DEBUG-a 010008F1: 0100 MOV AH 0908F1: 0102 MOV DX 10708F1: 0105 INT 21H08F1: 0107 db 'May I help you $'08F1: 0117-直接,回车,离开 a状态-g =100 107 运行May I help you;运行结果Program termi nated n ormally; 表示
9、运行正常(调试程序DEBUG如何表达标志状态?溢岀 OV (oveflow , OF = 1)无溢岀 NV ( no oveflow , OF = 0)减量DN(directi on dow n,DF =1)增量UP(directi onup ,DF = 0)允许中断EI (enable interrupt ,IF =1)进制中断DI (disable interrupt ,IF =0)负NG (negative ,SF =1)正 PL ( plus , SF =0)零 ZR (zero , ZF=1)非零NZ(no zero,ZF =0)辅助进位 AC ( auxiliary carry ,
10、 AF = 1)无辅助进位 NA (no auxiliary carry , AF = 0)偶校验 PE (even parity , PF = 1)奇校验 PO (odd parity , PF = 0)进位 CY (carry , CF = 1 )无进位 NC (no carry , CF = 0) )转储命令(数据显示):DisplayD地址或D起始地址截止地址 功能:以内存映象方式显示内存中的信息。-I口xd 100 L3CF010S L3GF洱丄10 L3CFI012B L3CF;0i30 L3CF30140 L3CF:0150 L3CF;Blfi| L3GF:0170a000 0
11、0-00 0 0 H- 0 0 _M 0 rtl0 0pi一 0R-yfi一 0 00 00 00 0 00000000 -M- 0 000 0 fl- 0 0 0000000 0 00 00 00 0 A- 00-0 0 0 0 30 0 H- 0 0 _M 0 0 0 0 00000 0 00 00 00 0 -w 0 0 R- 0 0 0000-0000-0090-0000-0090-0000-00 as-0000-00a-100000016说明:转储用左中右三部分显示内存映象内容,左面是内存地址(段地址:偏移,表 示后面的内存区16字节的首地址),中间以十六进制显示数据,右边以ASCI
12、I字符显示(所有不可打印字符用句号表示)。每行显示16个字节的内容,在第八和第九个字节之间有一个连字符-。此命令隐含的段地址为 DS的值。若未指定起始地址,则D命令从上次显示的最后一个单元的下一个单元开始显示,若以前没有使用给D命令, 则从初始化的段寄存器的内容,加上地址偏移量0100H开始显示。例:-d 10 4f 即为显示DS: 10 DS : 4f的内容。在 D命令中如不指出段地址,则 其默认为DS段。0 000 f 1 2 3 4 4 M 0 0 0 0 0 0 0 0 3F353FF01F103F000F003FB03f1'0EF000P001CFFCF丽04-01 01 H
13、l FF-FF FF FF 13-FF FF FFQ&-QQ 00 00UFF0M- FF0FIBSF000FEB0F400FD02800HB00如指明段地址,则从指明的段地址列出指定的范围如:-d fff : 00 0fFdfffT3S0FKFFF:0O3QS0 3E 3E 5? Q& 74 26 C6-05 04 Al 39 57 0B 0石 3B,»W. ,9W,.;我们也可以指定长度来列出所需要内存内容如:-d 100L20即为显示由 DS: 100-DS: 11F的内容,共 20H( 32)个字节:L00 12800 00 60 00 00 00 00 60
14、-00 00 00 00 00 60 00 00 *F:01i030 00 08 30 00 Q& 38 Q0-38 00 0034 00 BE 13;EDIT修改内存命令E地址字节串) 功能:从指定的地址开始修改内存值。 格式:E起始地址数据行(1)用给定内容代替指定范围的单元内容 -E地址内容表例:-E 100 41 42 43 44 48 47 46 45显示:08F1: 0100 41 42 43 44 48 47 46 45 ABCDHGFE,(2) 逐个内存内容例:-E 100 :08F1: 0100 76 42 ; 42是操作员键入此命令是将原100号内存内容76修改为4
15、2,用D命令可察看F地址范围字节或字节串填写命令FILL 功能:将要填写的字节或字节串填入由地址范围指定的存储器中。例:-f100 11f 61 62 63 64-d100 11f08F1:0100 61 62 63 64 61 62 63 64 -61 62 63 64 61 62 63 abed abed abed abed 08F1:0110 61 62 63 64 61 62 63 64 -61 62 63 64 61 62 63 abed abed abed abed如果数据行超出指定的范围,则填不下的数值会被忽略。例:-f 100 107 41 43 43 44 45 46 47
16、48 49 4A 4B 4C 4D-d 100 10f08F1: 0100 41 42 43 44 45 46 47 64 -61 62 63 64 ABCDEFGdabedabed 由上例可看出,超出范围的数据被忽略 另外,F和E命令都可填入字符串:如:-F 100 105 "MSDOS"-d 100 l0f08F1: 0100 4D 53 44 4F 53 46 47 64 -61 62 63 64 MS DOS FGabed abed执行命令:G=起始地址断点,功能:执行正在调试的程序,当达到断点时停止执行,并且显示寄存器标志和下一条要执行的命令。说明:如果没有指定起
17、始地址,那么当前指令地址由CS:IP寄存器的内容来决定,如果用户指定起始地址就从指定的起始地址开始执行。如果指定断点,当指令到达指令地址 时停止执行,并显示各寄存器标志位的内容和下一条要执行的命令,最多允许用户设定10个断点。进程命令:P=地址数据procedure功能:将一个子程序调用指令,循环指令,中断指令或一个重复字符串指令,停止在 下一条指令上。说明:在执行一条 子程序调用指令,循环指令,中断指令或一个重复字符串指令时, 发出P命令去执行有关指令, 并且返回到要执行的下一条指令。P命令和T一样选用来跟踪程序运行过程用的命令,我 们可以在P命令中指定程序运行的起始地址,指令个数,如 未指
18、定,则从 CS: IP所指定程序的地址开始,一次运行一条指令。P与T命令的差别在于 P命令把CALL/INT当成一条指令来执行。(调试INT 21时区别就出来了。)R寄存器寄存器命令register功能:一、显示单个寄存器的内容,并提供修改功能二、 显示所有寄存器内容,再加上标志位状态以及要执行的下一条指令三、显示例:-r bxbx 0050 :8个标志位状态,并提供修改功能。若不想改变则回车即可。51-rAX=0000 BX=0051 CX=OOOO SP=FFEE BP=OOOO SI=OOOO DI=OOOODS=0003 ES=0CD3 SS=0CD3 IP=0100 NV UP EI
19、 PL NZ NA OP NC 0CD3 0100 0F DB OF若想改变标志寄存器,用-RF回车,则DEBU(会将标志内容显示出来。若想改变任 标志,只要输入该标志的名称即可。溢出0V (溢出)NV (未溢出)零位ZR(等于零)NZ (不等于零)方向DN(减少)UP (增加)辅助进位AC NA (无进位)中断EI(许可)DI (禁止)奇偶标志PE (偶)PO倚)符号NG(负)PL (正)进位CY NC (清除进位)例:-RfNV UP EI PL NZ NA PO NC : - OV DI输入值T=地址指令条数跟踪命令trace功能:逐条跟踪程序的执行,每条指令执行后都将显示各寄存器的内容
20、。说明:通常采用跟踪一条指令,但用户也可以用指令条数设定一次跟踪多条指令,每执行一条指令之后,显示所有寄存器的内容和标志状态。逐条指令跟踪-T=起始地址从指定地址起执行一条指令后停下来,显示所有寄存器内容及标志位的值,如来指定 地址则从当前 CS: IP开始执行。A: >DEBUG-A08F1: 0100 MOV DL, 0308F1: 0102 MOV AH, 0208F1: 0104 INT 21H08F1: 0106 INT 20H;退出指令08F1: 0108-TAX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=
21、0000DS=08F1 ES=08F1 SS=08F1 CS=08F1 1P=0105 NV UP EI PL NZ PO CY09F1: 0102 B402 MOV AH, 02若指定起始地址,则 T命令会从指定的地址开始跟踪,我们还可以指定跟踪一次所运 行指令的个数,用 Ctrl+S暂停屏幕的显示,以便观察。-t=100 10 ;由CS: 100开始跟踪10条指令反汇编指令:U起始地址或者地址范围unassembled功能:将内存中的内容转换为汇编语句。说明:反汇编的字节数取决与用户的系统显示形式,以及在U命令中使用的可选项。(1)从指定地址开始编译,反汇编32个字节-U地址J从CS 10
22、0开始,其反汇编 32个字节如果地址被省略,则从一个U命令的最后一条指令的下一条单元开始汇编32个字节。(2 )对指定的存贮范围进行反汇编-u起始地址 终止地址(L长度)例:-U 100 10908F1: 0100 CD20 INT 2008F1: 0102 FF9F009A CALL FA12BX+9A0008F1: 0106 F0 LOCK08F1: 0107 FE1D CALL FAR DI08F1: 0109 F0 LOCK说明:如指定了范围则整个范围全都会被反编译一、实验目的掌握debug.exe功能,通过debug.exe练习并掌握汇编指令,可以调试简单的程序。二、实验内容DEBU
23、(启动运行一打开一debugDEBUG盘符:路径.扩展名参数1参数2其中参数1、参数2是指定文件所 带的参数。例如: DEBUG DISKCOPY.COM A: B: 中的A:和B:即为参数。进入DEBUG勺提示符是符号-'。用户可以通过 DEBUG勺名令输入汇编源程序,并 用相应命令将其汇编为机器语言;然后调试并运行该程序。DEBU(命令1.汇编命令 A (Assemble)格式:(1)A 段寄存器名 : 位移量(2)A 段地址 : 位移量(3)A 位移量A功能:键人该命令后,显示段地址和位移并等待用户从键盘逐条键入汇编命令,逐条 汇编成代码指令。用户最后直接键人回车键返回到提示符“
24、-”。其中(1)用指定段寄存器内容作段地址(2)以段地址内容作段地址(3)用CS内容作段地址(4)以CS: 100作地址。以后命令中提及的各种地址形式,均指(1)、(2)、( 3)中A后的地址形式。2 .比较命令 C ( compare)格式:C 源地址范围 , 目标地址其中 源地址范围 是由 起始地址 终止地址 指出的一片连续单元,或起始地址L长度。功能:从 源地址范围 的起始地址单元起逐个与目标起始地址以后的单元顺序比较 单元的内容,直至源终止地址为止。遇有不一致时,以源地址 源内容 目标内容 目标地址 的形式显示失配单元及内容c3. 显示内存命令 D (display )格式:(1) D
25、 地址(2) D 范围(3) D功能:以两种形式显示指定内存范围内容。一种形式为十六进制内容,一种形式为 相应字节的ASCII码字符,对不可见字符以代替。其中(1、2)以CS为段寄存器。(3)显示CS: 100起始的一片内容。4. 修改内存命令 E (edit )格式 (1) E 起始地址 单元内容(2) E 起始地址 单元内容表(3) E 起始地址其中 单元内容 是一个十六进制数,或用引号或"括起来的字符串;单元内容表是以空格分隔的十六进制数,或用或括起来的字符串,或者是二者的组合。功能:(1)将指定内容写人指定单元后显示下一地址,可连续键人修改内容,直 至新地址出现后键人回车 E
26、NTER止。(2)将单元内容表 逐一写人由 地址开始的一片 单元。5. 填充内存命令F (fill )格式:F 范围 单元内容表 功能:将单元内容表中的值逐个填入指定范围,单元内容表中内容用完后重复使用。例如:-F 100 L10 B2,' XYZ , 3C-d1006. 执行命令G (go) 格式:(1) G(2) G= 地址 (3) G= 地址 , 断点(yk后面的断点实际上是末位地址 功能:(1 )从CS: P开始执行(2)从指定地址开始执行(3)从指定地址开始执行,到断点自动停止7. 十六进制算术运算指令H (hexarimathmetic )格式:H 值1值2功能:求十六进制
27、数(值 1和值2的和与差并显示结果。8. 端口输入命令I (in )格式:I 口地址功能:将从指定端口输人的内容显示出来。9. 读盘命令L (load ) 格式:L 地址 盘号 起始逻辑扇区 所读扇区个数n其中地址缺省值为CS 10 Q逻辑扇区可由物理扇区号换算得到,以双面双密度盘为例:物理扇区是按0面0道1区,0面0道2区,”O面0道9区,0面1道1区,”0面39道9区,1面0道1区,1面39道9区排列。而逻辑扇区与物理扇区号的对应关系为物理扇区 0面0道1扇区至9扇区,逻辑扇区号为 0- 8;物理扇区1面0 道1扇区至9扇区,逻辑扇区号为911H;物理扇区0面1道1扇区至9扇区,逻辑扇区
28、号为121AH,这样每道先0面后1面一直排下去。其中盘号为 0、1或2, 0表示A盘,1表示B盘,2表示硬盘。功能:将盘号指定的盘上,从起始逻辑扇区)起,共n个逻辑扇区上的所有字节顺序读人指定内存地址的一片连续单元。当L后的参数缺省时,必须在 L之前由N命令指定(或进入 DEBUG寸一并指出)所读盘文件名。此时L执行后将该文件装人内存。例如:一N EXAMPLE一 L将当前盘上的EXAMPLES件装入CS lO0起始的一片内存单元。10. 内存搬家命令 M (move)格式:M 源地址范围 目标起始地址其中源及目标地址若仅输人偏移量,则隐含段为DS功能:把源地址范围中的内容顺序搬至目标起始地址
29、)起的一片连续单元。例如: M CS : 100 110 600把从CS: IOO起至CS: 110止17个字节搬至 DS 600至DS: 610的一片单元。11. 命名待读文件命令 N (nam®格式:N文件名说明功能:为L命令指定待装人文件注:其它形式参考 DOS手册12. 端口输出命令 0(output )格式:0 端口地址 字节功能:将该 字节 从指定 端口地址 输出。例如: 0 2F 4F将4FH从2FH 口输出13 .结束 debug 返回 DOS命令 Q (quit ) 格式:Q14.显示寄存器命令 R (register )格式:(1) R(2) R 寄存器名功能:(
30、1)显示当前所有寄存器内容、状态标志及将要执行的下一指令的地址、 代码及汇编语句形式。其中对状态标志FLAG以每位的形式显示,详见表状态标志显示形式标志位状态显示形式溢出标志OF有/无O/ NV方向标志DF减/增DN/ UP中断标志IF开/关EI / DI付号标志SF负/正NQ/ PL零标志ZF零/非ZR/ NZ辅助标志AF有/无AC/ NA奇偶标志PF偶/奇PE/ P0进位标志CF有/无CY/ NC(2)显示指定存储器内容例如:R AXR F15 .搜索指定内存命令 S (search )格式:S 地址范围 表功能:在指定范围搜索表中内容,找到后显示表中元素所在地址例如:S CS : 100
31、 110 41显示 04BA : 010404BA : 01OD表示在位移100H至110H间的上述两处有 41H。又如:S CS:100 L11 41“ AB' E表示在当前代码段位移 100H至111H处找 连续4个字节内容为 41H、41H 42H、0EH 的地址。16.执行并显示系统环境命令T ( trace )格式:T =地址)条数功能: 地址的缺省值是当前IP值,条数的缺省值是一条。执行由指定地址起始 的、由 条数指定的若干条命令。例如:T执行当前指令并显示状态T 10从当前指令始执行10H条指令17 .反汇编命令 U (unassemble )格式:(1) U 地址(2)
32、 U 地址范围功能:将指定范围内的代码以汇编语句形式显示,同时显示地址及代码。注意,反 汇编时一定确认指令的起始地址后再作,否则将得不到正确结果。地址及范围的缺省值是 上次U指令后下一地址的值。这样可以连续反汇编。18 .写盘命令 W (write )格式:W地址盘号起始逻辑扇区所写逻辑扇区数 n功能:与L命令不同的地方是将内存地址)起始的一片单元内容写人指定扇区。 只有W而没有参数时,与 N命令配合使用写盘文件。三、实验步骤1. 启动DEBUG用“ R”命令显示各寄存器值,记录并说明DEBUG勺初始工作环境。2认真学习"D"命令、“ E”命令、“ R'命令的功能、
33、应用、命令格式、各种显示信 息及含义,自行设计操作进行,掌握它们的用法,要求做到能对不同地址中的内容和寄存 器进行熟练的检查和修改。记录练习的操作和过程,解释结果;说明各个寄存器的初值以 及段地址、偏移地址的意义,确实掌握地址与其中存放的数据之间的关系。3阅读下列源程序指令,用铅笔填写运行结果。再用“A”命令输入这些源程序指令(运行结果部分不输入):地址目标代码源程序指令MOV AX, 1234H运行结果:AX:INC AX:AX:CF: ZF: SF:DEC AH:AHCF:ZF: SF:ADD AH,78H:AHCF:ZF: OF: SF:AND AH,0C8H:AH:PF:ZF:OR A
34、L,9FH:AL:PF:ZF:XOR AL,59H:AL:PF:ZF:MOV BX,000EH:BX:MOV BX1,AX:DS:000EHINT 20H:结果:说明:程序中的段地址 CS和DS由DEBUG!定,不另外设置。A. 用“U”命令反汇编这段程序,再与原输入指令对照检查,记录并解释两者差 别。B. 根据汇编结果,将各条指令的存放地址及目标代码分别填入上面的地址和目 标代码栏中,分析目标代码,体会操作码与操作数之间的关系。C. 用“T”命令单步执行这段程序,核对运行结果和各标志位的设置,熟悉它们 的表示形式。D. 设置IP到程序开始地址,用“ G'命令设置断点(任选),执行这段
35、程序, 检测运行结果。改变不同断点方式多次重复这一步,总结体会断点选择的目的性与应用技 巧。E. 将OR AL, 9FH指令修改为SUB AL,9FH,比较指令代码和运行结果的不同。F. 根据反汇编和程序运行过程IP的变化,详细分析指令地址、目标代码、程序指令、指令代码存放规律之间的关系,深入理解程序存储原理与控制器自动控制执行的机理。(2.修改ip寄存器;-r ipIP 0108:0103在冒号后面输入你想撤回的操作)4. 自编指令段,学习每一种寻址方式的传送指令,算术、逻辑运算指令及对标志位的 影响。记录指令的设计、目的及结果。5. 用“E”命令从cs:0100开始设置一段字符数据“ O1
36、23456789ABCDEFOOO0,再用 “ U'命令反汇编这一段数据,分析并体会计算机中程序与数据之间、数据与字符之间的关系。2.2实验二汇编与宏汇编程序一、实验目的通过实验,了解汇编就是把用汇编语言编写的源程序翻译(汇编)成机器语言的目标 程序。汇编程序可以使用小汇编程序( ASM也可以用宏汇编程序( MASM,由于宏汇编 程序不但可以代替 ASM而且可以汇编具有宏定义的汇编程序,因此我们在汇编程序时使 用宏汇编程序(MASM。二、实验内容执行宏汇编程序三、实验过程检查电脑上是否有汇编软件,采用的是微软的宏汇编程序包MASM如果电脑上没有,可以从下面地址下载 ftp:/202.1
37、96.53 程序设计/MASM下载其中的 MASM5.0文件夹, 存放到电脑C盘根目录下。1 .单击电脑"开始”菜单,单击"运行(R)”,键入"comma nd,出现一个DOS 窗口,键入“ CD MASM5.0 ”,然后进行下面操作。1输入汇编源程序打开“附件”里面的“记事本”,输入汇编源程序,代码如后所示。输入完毕,单击“文件”菜单的“保存”菜单项,出现“另存为”窗口,在“另存为”后面输入:“C:MASM5.0”。 在“文件名字”后输入自己拟定的文件名字(如 SAM1,在“保存类型”后选择“所有文 件”。2. 汇编在DOS状态下,键入 MASM则调入宏汇编程序
38、,假定汇编源文件为sam1.asm,则屏幕显示与操作如下:masm sam1.asm /Microsoft (R) Macro AssembLe Versio n 5.00Copyright (C) Microsoft Corp 1981-1985,1987.AII rights reserved.Source file name .ASM:/Object file name sam1.OBJ:/Source listi ng NUL.LST:/Cross- refere nee NUL.CRF:/50678+410090 Bytes symbol space free0 Warni ng E
39、rrors0 Severe Errors上述过程中,汇编源文件为sam1.asm,经过汇编过程,自动生产一个新文件 sam1.obj。2.连接在DOS犬态下,键入 LINK sam1.obj则系统调入LINK程序,屏幕显示操作如下:li nk sam1.obj /IBM Perso nal Computer Lin kerVersion 2.00(C) Copyright IBM Corp 1981,1982,1983Object Modules .OBJ:/Run File EX2.EXE:/List FileNUL.MAP:/Libraries.LIB:/在连接过程,将自动产生一个新文件s
40、am1.exe。连接过程可能产生警告之类的信息,可以忽略。3. 执行程序当用连接程序 LINK将目标程序(.OBJ)连接定位后,可产生可执行文件(.EXE),可 以在DOS犬态下执行该程序。sam1.exe /四、实验报告(写出上机结果及现象)汇编源程序:DATA SEGMENTMSG DB ' HOW ARE YOU $DATA ENDSCODE SEGMENTASSUME CS:CODE , DS:DATASTART MOV AX,DAtaMOV DS,AXMOV DX, OFFSET MSGMOV AH,09INT 21HMOV AH,4CHINT 21HCODE ENDSEND
41、 START 备注:用debug调试时,在INT21处,只能用p跟踪。珈 命寺提不荷-DEBUGKJ.EXEflX=18C7 BK=0000 USL8C7 ES-lflfl?Ppot=0020 Dx=aaaQ sp=fffaSS-1BC? CS=18Ce nouBP=0000£1=0000 DI-0000HU UP DJ PL HZ Nft PO NCfiX=09C7 BX =U006&)S=18C7 ES =18B7 18C8:0Q0A CD21 PpHOU ARERX >892ps=iac?CX=0020DX=000SS£=18C7CS=18C8INI21
42、SP=FFFfl IF=0n0ABP=0000 SI=0000 DI=0U0SNU UP DI PL NZ NA PO NCyouBK-nnefl EG=18B7 I18CS:000C B44C -d 18c7:0000SS-iec? CS-13C8SP-FFFflIP=000CBP 盹師 SI-0000 DI NUUP DI PL HZ18C7:00004F57 20 41 52 4520-59 4F 5520 24 00(JU 06HOU ARE YOU 专18C7:0010C718 8E D8 BA 0600-B4 09 CD21 B4 4CCD 21? ?18C7:00205353 S
43、3 53 53 5353-53 53 5353 S3 5353 53ssssssssssssssssI8C?:00305353 53 53 53 5353-53 53 53S3 S3 5353 53££SSSSSSSSSSS££E5353 53 53 53 53S3-53 53 5353 53 S353 53£££SSSSSSSSS££££53S3 S3 53 53 53£3 S3S3 BH 53口 53SSSSSSSSSSSSSSSSiiaCVzWWfnWS353 S3 53 S3 S353-53 53 C70? 00 00BC醐SS&ESSSSSSL8C7:00701802 32 00 00 0000-00 00 0000 00 000
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电器维修公司服务员工作总结
- 埃塞莱米项目安保方案
- 2025年全球及中国乘用车用液力变矩器行业头部企业市场占有率及排名调研报告
- 2025年全球及中国低速型立式加工中心(主轴转速6000-15000rpm)行业头部企业市场占有率及排名调研报告
- 2025年全球及中国屋面高分子防水卷材行业头部企业市场占有率及排名调研报告
- 2025年全球及中国三箱式冷热冲击试验箱行业头部企业市场占有率及排名调研报告
- 2025年全球及中国工业机器人减速马达行业头部企业市场占有率及排名调研报告
- 2025-2030全球智能体测仪行业调研及趋势分析报告
- 2025年全球及中国1P高功率电芯行业头部企业市场占有率及排名调研报告
- 2025-2030全球NRV铝合金微型蜗杆减速机行业调研及趋势分析报告
- 浙江省五校镇海中学2025届高考考前模拟数学试题含解析
- 公司2025年会暨员工团队颁奖盛典携手同行共创未来模板
- 数 学2024-2025学年人教版七年级数学上册有理数混合运算100题
- 人教版小学数学四年级下册第一单元测试卷附答案(共9套)
- 新沪科版八年级物理第三章光的世界各个章节测试试题(含答案)
- 人教版五年级上册四则混合运算300道及答案
- 非遗国粹川剧变脸的传统文化知识了解原创模板
- 中国智慧物流发展报告
- 焊接加工成本算表
- 2024年四川省成都市成华区中考二诊物理试题
- 2024年3月计算机等级考试三级数据库技术笔试真题及答案
评论
0/150
提交评论