欢迎来到天天文库
浏览记录
ID:59238206
大小:1.77 MB
页数:43页
时间:2020-09-22
《汇编语言程序设计第四章 汇编语言程序格式ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章汇编语言程序格式4.1汇编程序功能汇编语言程序的建立及汇编过程:编辑程序PROGR.ASM文件汇编程序连接程序PROGR.OBJ文件PROGR.EXE文件EDIT.exeNotepad.exeMASM.exeLINK.exeEXE程序还需经DEBUG的调试1在计算机上运行汇编语言程序的步骤是:用编辑程序建立源文件:ex_movs.asm1);例:把40个字母a的字符串从源缓冲区传送到目的缓冲区。;PROGRAMTITLEGOESHERE-ex-movs;****************************************************datasegment;def
2、inedatasegmentsource_bufferdb40dup('a')dataends;****************************************************extrasegment;defineextrasegmentdest_bufferdb40dup(?)extraends2codesegment;definecodesegment;----------------------------------------------------mainprocfar;mainpartofprogramassumecs:code,ds:data,es:e
3、xtrastart:;startingexecutionaddress;setupstackforreturnpushds;saveolddatasegmentsubax,ax;putzeroinAXpushax;saveitonstack;setDSregistertocurrentmovax,data;datasegmentaddrmovds,ax;intoDSregister;setESregistertocurrentextrasegmentmovax,extra;extrasegmentaddrmoves,ax;intoESregister3;MAINPARTOFPROGRAMGO
4、ESHEREleasi,source_buffer;putoffsetaddrofsourcebufferinSIleadi,dest_buffer;putoffsetaddrofdestbufferinDIcld;setDFflagtoforwardmovcx,40;putcountinCXrepmovsb;moveentirestringret;returntoDOSmainendp;endofmainpartofprogram;----------------------------------------------------codeends;endofcodesegment;**
5、**************************************************endstart;endofassembly4用MASM程序把ASM文件转换成OBJ文件;2)5用LINK程序把OBJ文件转换成EXE文件;3)64)经DEBUG的调试789伪操作又称伪指令:是在汇编期间由汇编程序处理的操作不是机器指令,不是程序运行时执行的主要完成数据定义、分配内存、程序框架定义、指示程序结束等功能相似于高级语言的指示性语句104.2.1数据定义及存储器分配伪操作助记符(Mnemonic)字段说明所用伪操作的数据类型,常用的有以下几种:双字(32位)字(16位)四个字(64位
6、),存放双精度浮点数。DB:字节(8位)DW:DD:DQ:十个字节,形成压缩的BCD码。DT:格式:[变量名]MnemonicOprand,…Oprand[;Comments]操作数(Oprand)把数据放入指定的单元11数据定义伪操作:把数据存入存储单元;分配空间;DW和DD可存储偏移地址或完整的地址。下面举例说明:0A041064000001FBFF3C00FDFF0000000010d10h4100d100h-560d0FFFDh例:操作数可以是常数,或者表达式(根据表达式可以求得一个常数),如DATA_BYTEDB10,4,10HDATA_WORDDW100,100H,-5DATA_
7、DWDD3*20,0FFFDH汇编程序在汇编期间在存储器中存入数据,如图所示12例:操作数也可以是字符串,如:MESSAGEDB‘HELLO’例:操作数?可以保留存储空间,但不存入数据。如:ABCDB0,?,?,?,0DFFDW?,52,?例:DATADW‘AB’,‘CD’注意:1、不能写为DW’ABCD‘2、用DB与DW来定义字符串的区别13操作数可以使用复制操作符来复制某个操作数。其格式为:repeat_
此文档下载收益归作者所有