如何在内存中编辑和执行汇编程序

上传人:陈** 文档编号:182501091 上传时间:2023-01-24 格式:PPTX 页数:29 大小:330.35KB
收藏 版权申诉 举报 下载
如何在内存中编辑和执行汇编程序_第1页
第1页 / 共29页
如何在内存中编辑和执行汇编程序_第2页
第2页 / 共29页
如何在内存中编辑和执行汇编程序_第3页
第3页 / 共29页
资源描述:

《如何在内存中编辑和执行汇编程序》由会员分享,可在线阅读,更多相关《如何在内存中编辑和执行汇编程序(29页珍藏版)》请在装配图网上搜索。

1、如何在内存中编辑和执行汇编程序Using The DEBUG Program Using The DEBUG Program 1 1Starting DEBUGStarting DEBUG .Some examples CDEBUG CCCC.EXE -CDEBUG B:CCCCEXE -CDEBUG -N CCCCEXE -L -The Initial Value After Starting DEBUG DEBUG程序起动后,把各寄存器和标志位置成以下状态:Segment Register(CS、DS、ES和SS)=自由存贮空间的底部,即DEBUG 程序结束以后的第一个段。IP=0100H

2、。SP=段尾或装载程序临时区底部(两者中取较低的一个)AX、BX、CX、DX、BP、SI、DI=0 若调入DEBUG时指定了文件名,则BX(高位)+CX=文件长度的字节数。标志位置都为清除状态。D De eb bu ug gC CS S、D DS S、E ES S、S SS SI IP P内内存存高高端端内内存存低低端端.C CS S:1 10 00 0段段尾尾S SP P段段首首6 64 4K KB B自自由由空空间间中中的的一一个个段段 2.An Assembly language Example 2.An Assembly language Example Displaying a Ch

3、aracter 3 on Screen:Keying in Program Instructions and Data Keying in Program Instructions and Data:C:DEBUG (进入DEBUG)-A 100 (进入汇编状态)XXXX:0100 MOV DL,33 (数字3的ASCII码)XXXX:0102 MOV AH,2 XXXX:0104 INT 21(调用2号功能在屏上显示DL中字符)XXXX:0106 INT 20 (正常结束中断)XXXX:0108 (回车,结束汇编状态)-G (运行当前汇编程序)3 (Display)Program termi

4、nated normally UnAssemble UnAssemble -U 100,108 XXXX:0100 B233 MOV DL,33 XXXX:0102 B402 MOV AH,2 XXXX:0104 CD21 INT 21 XXXX:0106 CD20 INT 20 XXXX:0108 Saving a Program from within DEBUG Saving a Program from within DEBUG -RBX BX 0000 :-RCX CX 0000 :8 (程序大小)-N W3.COM (命名)-W (存盘)Exit DEBUG Exit DEBUG

5、-Q C _DEBUG CommandsDEBUG Commands 所有命令均为一单字母,其后跟一个或多个参数。命令和参数可大写、小写或大、小写混合方式输入。命令与参数间可用空格或逗号隔开。修改软件时注意,DEBUG不能改写EXE类型的文件。所以,如果需要改写,就必须事先将EXE文件的后缀改名,待修 改后再恢复原来名字。命令参数中都以16进制数表示。参数中字符的引号可用双引号,也可用单引号。1Assemble Function:Assemble symbolic instructions into machine code.Format:A Address The parameter“Add

6、ress”:用字母表示的段寄存器标志加上偏移值,例如“A CS:100”一个段地址,加上一个偏移值,例如“A 4AB:100”。仅有一个偏移值,例如“A 100”。在屏上显示“梅花”C DEBUG -A 08FE0100 MOV AH,02 08FE0102 MOV DL,05 08FE0104 INT 21 (调用2号功能显示DL中字符)08FE0106 INT 20 08FE0108 -RCX CX 0000 :8 -N A.COM -W -Q Execution:Execution:C A.COM 2Unassemble Function:Unassemble machine code

7、into symbolic code.Format:U 地址 Unassemble begins at specific address.U 范围 Unassemble within specific area.CDEBUG KEYEXE -U (隐含从当前指针开始)0C1C0000 50 PUSH AX .-U 0000 L13 (从0000开始13个单元)-U 0000 DF3 (从0000DF3)CDEBUG WS.COM 11.TXT (反汇编存盘)-U 100 FFFF .-Q (红框内的字符不可见)C_ 3Dump FunctionFunction:Display the cont

8、ents of area of memory.FormatFormat:D 地址 -D 范围 -D 0000 L1F(显示从0000开始的1F字节内容)-D 40:13 (显示基本内存大小)-D FFFF:5 (Checking ROM BIOS Date)FFFF:0000 CD 19 E0 00 F0 30 36 2F-31 36 2F 39 38 00 FC BD .06/16/98.4Enter Function:Enter data into memory,beginning at a specific location.Format:E 地址 内容表 E 地址 -E DS:100

9、F2,“XYZ”,8D (代替指定地址开始单元内容)-E DS100 09BC0100 00.30 00.31 00.32 00.(回车结束)For Example 2 格式有三种操作方式:格式有三种操作方式:按空格键 上一个替换完成,并显示下一个单元的内容。如要修改,则键入新的字节,如不修改,则只按空格键。输入一个减号(“”)显示前一单元的内容,可进行修改。连续使用“”号、可不断地反方向修改。按回车键 结束E命令。5Register Function:Display and modification the contents of one or more registers.Format:R

10、命令有三种功能格式:-R 显示所有寄存器及标志位内容。-R 寄存器名寄存器名 显示和修改一个指定的寄存器的内容。-RAX AX F1F4 :3B 此时,可选择以下操作之一:a若不改变其内容,则直接按回车键。b若要改变内容,可用14个16进制值代替原值,再回车。-RF 显示和修改标志位态。-RF NV UP EI PL NZ NA PO NC -此时,可采用以下两种操作之一:a若不需要修改,直接按回车键。b若有一个或多个标志要修改,则可输入此标志的相反值。输入标志的次序是无关的,输入各标志之间可以没有空格,输入完毕,按回车键。即 -PONZDINV PWS中的标志符号表示中的标志符号表示 置置

11、1:置置 0:状态状态:-RF-RF NV UP EI PL ZR NA PE NC NV UP EI PL ZR NA PE NC-OF 溢出 DF 方向 IF 中断 SF 符号 ZF 零 AF 辅助 PF 奇偶 CF 进位 OV NV 有无 DP UP减增 EI DI开关 NG PL负正 ZR NZ零非 AC NA有无 PE PO 奇偶 CY NC有无 6Go Function:Run the executable program In memory.Format:G 始地址断点 CDEBUG B:KGY.EXE G=0 23 (在地址CS:0023中断)7Trace Function:T

12、race the execution of one instruction.Format:T 地址 执行CS:IP或指定地址处的指令。T 地址n 执行指定地址后n条指令。-T 03 (执行CS:IP后3条指令)-T=CS:0F3B(执行地址CS:0F3B处指令)8Search Function:Search a address of specify content.Format:S 地址范围 内容表 -S 100 120 6 (在DS 100120的范围内查找06H地址)08FF 0101 (查得08FF 0101内存单元的内容为06H)-S CS 000 100 41“XYZ”28-17 9

13、Compare Function:Compare the content between two memory area.Format:-C 源地址范围 目的地址 Display Format:源地址源内容目标内容目标地址 -C CS 100 L20 200 08FF 0105 00 06 08FF 0205 以CS 100为内存首地址的32个(20H)字节与以CS 200为首地址的32个字节进行比较。其中的CS 105内容“00”与CS 205内容“06”不同。28-18 10Fill Function:Fill the content to specify memory unit.Form

14、at:F 地址范围 内容表 -F 04BA100 L5 F3“XYZ”8D (用指定的5个字节填入04BA:100开始的5个内存单元)若内容表中的字节数少于地址范围,则内容表被重复使用,直到指定范围被填满为止;若内容表的字节数大于地 址范围,则多余的内容被忽略。28-19 11Move Function:Move the content from specify memory area to another.Format:M 源地址范围 目的地址 -M CS 100 110 500 (将CS 100110共17个字节内容搬到DS 500开始的内存区)-M CS 100 110 CS 105 -

15、M CS 100 110 CS 0F5 目的地址与源地址可以重迭,但重迭部分原来内容被覆盖。例,在程序中插入一段指令:插插入入结结束束插插入入点点插插入入移移动动后后再再移移回回 12.Hex arithmetic Function:计算两个16进制数的和与差。Format:H 值 值 -H 0F 8 0017 0007 (表示0FH+8H=0017H,0FH-08H=0007H)13Name Function:Name a program.Format:N 文件标识符 文件标识符 ADEBUG -N b:myprog -L 28-21 14Load Function:Load a progr

16、am to memory.Format:L 起址 驱动器号扇区号 扇区数 L 地址 (装入文件到指定地址,省地址则为CS:0100)-L CS:1200 0 5 3 (“0”为A盘)-N B:XEARCH.EXE ;设置文件标识符 -L ;读入文件 -R BX ;检查文件长度 BX 0000 :-R CX CX 014A ;原文件长度为014AH字节 :012E ;修改文件长度为012EH字节 -W ;写盘命令(Write)28-22 15.Write Function:Write a program onto disk.Format:W 起址驱动器号扇区号扇区数 把数据写到指定的区段 W地址

17、 把指定的内存中数据写入文件中 -N B:PROG ;设置文件标识符 -L -R BX ;修改BX、CX的内容 BX 0000 :0 ;文件长度的高位字节数 -RCX CX 001F ;文件长度的低位字节数 :22 -W ;写入磁盘。28-23 Write program files only with a .com extenstion,because W does not support the.exe format.to modify a.exe program,you may change the extension temporarily.16Input Function:Get d

18、ata from a port(某端口).Format:I 端口地址 -I 2F8 6B (表示从端口02F8取得的数据为6BH)17Output Function:Output data to a special port(指定端口).Format:O 端口地址 字节 -O 2F8 4F (把字节值4FH送到端口2F8去)28-25 18Proceed Function:execute a set of related instructions.(Executes a subroutine call(call),loop(LOOP),interrupt(INT),or repeat stri

19、ng instruction(REP)through to the next instruction)For Example:Editing and executing a program.编辑并执行一个程序:编辑并执行一个程序:-A 100 xxxx:0100 MOV DL,1 (“1”为笑脸的AscII码)xxxx:0102 MOV AH,2 xxxx:0104 INT 21 xxxx:0106 INT 20 xxxx:0108 -T -T -P (用“P”命令执行INT 21h)28-26 19Quit Function:Quit the DEBUG session For Exampl

20、e:Editing and executing a program.编辑并执行一个程序:编辑并执行一个程序:-A 100 xxxx:0100 MOV DL,1 (“1”为笑脸的AscII码)xxxx:0102 MOV AH,2 xxxx:0104 INT 21 xxxx:0106 INT 20 xxxx:0108 -G=100 Program teminated normally -Q 28-27 Page 49 3-2 3-4 3-7 3-8 3-10 3-12(参考P.46 显示字符!)9、静夜四无邻,荒居旧业贫。23.1.2423.1.24Tuesday,January 24,20231

21、0、雨中黄叶树,灯下白头人。15:08:1515:08:1515:081/24/2023 3:08:15 PM11、以我独沈久,愧君相见频。23.1.2415:08:1515:08Jan-2324-Jan-2312、故人江海别,几度隔山川。15:08:1515:08:1515:08Tuesday,January 24,202313、乍见翻疑梦,相悲各问年。23.1.2423.1.2415:08:1515:08:15January 24,202314、他乡生白发,旧国见青山。2023年1月24日星期二下午3时8分15秒15:08:1523.1.2415、比不了得就不比,得不到的就不要。2023年

22、1月下午3时8分23.1.2415:08January 24,202316、行动出成果,工作出财富。2023年1月24日星期二15时08分15秒15:08:1524 January 202317、做前,能够环视四周;做时,你只能或者最好沿着以脚为起点的射线向前。下午3时8分15秒下午3时8分15:08:1523.1.249、没有失败,只有暂时停止成功!。23.1.2423.1.24Tuesday,January 24,202310、很多事情努力了未必有结果,但是不努力却什么改变也没有。15:08:1515:08:1515:081/24/2023 3:08:15 PM11、成功就是日复一日那一点

23、点小小努力的积累。23.1.2415:08:1515:08Jan-2324-Jan-2312、世间成事,不求其绝对圆满,留一份不足,可得无限完美。15:08:1515:08:1515:08Tuesday,January 24,202313、不知香积寺,数里入云峰。23.1.2423.1.2415:08:1515:08:15January 24,202314、意志坚强的人能把世界放在手中像泥块一样任意揉捏。2023年1月24日星期二下午3时8分15秒15:08:1523.1.2415、楚塞三湘接,荆门九派通。2023年1月下午3时8分23.1.2415:08January 24,202316、少

24、年十五二十时,步行夺得胡马骑。2023年1月24日星期二15时08分15秒15:08:1524 January 202317、空山新雨后,天气晚来秋。下午3时8分15秒下午3时8分15:08:1523.1.249、杨柳散和风,青山澹吾虑。23.1.2423.1.24Tuesday,January 24,202310、阅读一切好书如同和过去最杰出的人谈话。15:08:1515:08:1515:081/24/2023 3:08:15 PM11、越是没有本领的就越加自命不凡。23.1.2415:08:1515:08Jan-2324-Jan-2312、越是无能的人,越喜欢挑剔别人的错儿。15:08:1

25、515:08:1515:08Tuesday,January 24,202313、知人者智,自知者明。胜人者有力,自胜者强。23.1.2423.1.2415:08:1515:08:15January 24,202314、意志坚强的人能把世界放在手中像泥块一样任意揉捏。2023年1月24日星期二下午3时8分15秒15:08:1523.1.2415、最具挑战性的挑战莫过于提升自我。2023年1月下午3时8分23.1.2415:08January 24,202316、业余生活要有意义,不要越轨。2023年1月24日星期二15时08分15秒15:08:1524 January 202317、一个人即使已登上顶峰,也仍要自强不息。下午3时8分15秒下午3时8分15:08:1523.1.24MOMODA POWERPOINTLorem ipsum dolor sit,eleifend nulla ac,fringilla purus.Nulla iaculis tempor felis amet,consectetur adipiscing elit.Fusce id urna blanditut cursus.感 谢 您 的 下 载 观 看感 谢 您 的 下 载 观 看专家告诉

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!