网站大量收购闲置独家精品文档,联系QQ:2885784924

第4章+伪指令、汇编语言程序结构及上机过程.ppt

第4章+伪指令、汇编语言程序结构及上机过程.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
注:连接时有3个需要用户回答的问题,用户可据需要回答。 连接完成后,连接程序给出的无堆栈段的警告性错误并不影响程序的执行,如果还有其他错误提示,说明源程序可能有错,需要修改源程序后再进行汇编和连接。 (4)运行程序 形成EXE文件后,就可在DOS提示符下运行了。 那么如何检查运行结果是否正确? 若结果不正确,如何调试程序,纠正程序中的错误,从而得到正确的结果? 这里要使用DEBUG程序。 (5)程序的调试:DEBUG 下面介绍几个最常用的DEBUG命令: ①先进入DEBUG 并装入要调试的程序(例:SSD.EXE) DEBUG SSD.EXE ②用反汇编命令U来确定所要设定的断点地址. -U ③从U命令的显示情况可确定要设置的断点的位置.在确定断点后,就可以用G命令使程序启动运行,同时设置断点. 例:-G=0 001D ;执行程序(从0到001D单元) 程序将停在断点处,并显示出所有寄存器发及各标志位的当前值,最后一行给出下一条将要执行指令的地址、机器语言及汇编语言.我们可以从寄存器的内容来了解程序运行是否正确. ④D命令(显示指定内存单元的内容) 输入显示的起始地址(只键入一具相对偏移量,段地址在DS中) 例:-D100 若要显示指定范围的内容,则输入显示的起始地址和结束地址. 例:-D 0100 011F Q命令(退出DEBUG) -Q 退出DEBUG,返回DOS 例:在以BUF为首地址的内存中存放有0-9的平方值,查表求X单元中数的平方值,并送回X单元。 DATA SEGMENT BUF DB 0,1,4,9,16,25,36,49,64,81 X DB 5 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV BX,OFFSET BUF MOV AL,X XLAT MOV X,AL MOV AH,4CH INT 21H CODE ENDS END START 附:数据的存储与访问 1、整数数据的存储 不论其采用的什么进制,都以二进制存储,在用DEBUG调试时,以十六进制显示。对于DB定义的数据,在内存占1个字节单元,对于DW定义的数据,在内存占2个字节单元,且数据的高8位存储在高地址单元,低8位存储在低地址单元。 第4章 伪指令、汇编语言源程序结构及上机过程 赵艳红 汇编语言程序设计 第4章 伪指令、汇编语言源程序结构及上机过程 4.1 汇编语言中的语句 4.2 伪指令 4.3 源程序结构 4.4 汇编语言的上机过程 4.1 汇编语言中的语句 1、语句种类 (1)指令语句:完成一定的操作,能够翻译成机器代码的语句,第三章介绍的指令所形成的语句. (2)伪指令语句:只是为程序在翻译语言程序时提供有关信息,并不翻译成机器代码的语句. 注:汇编语言中还可以出现宏指令语句(12章)。 2、语句格式 指令语句的一般格式如下: [标号:] 指令 [;注释] 标号:标号是机器指令语句在内存中地址的符号表示,后面必须紧跟冒号“:” 注:如果一条指令作为程序转移的目标,前面应该加标号.例:JMP AGAIN 伪指令格式 具体的伪指令对应具体的格式。 3、其它语言要素 指令或伪指令中的操作数可以是: 常量(数值、字符、符号常量),数值常量可以是二、八、十、十六进制,但需注意书写规则。 表达式 表达式有算术表达式、关系表达式、逻辑表达式,其对应的运算符见课本37页。 4.2 伪指令 伪指令是向汇编程序提供诸如:哪个段是数据段。哪个段是代码段,程序何时结束、数据据段中的内存变量等相关信息。 (1)数据定义伪指令 (2)段定义伪指令 (3)假定伪指令ASSUME (4)程序结束伪指令 (5)过程定义伪指令 (6)其它 (1) 数据定义伪指令 常用的数据定义伪指令有DB,DW。 格式:[变量名] 数据定义伪指令 表达式 [,…] 功能:在存储区定义内存变量,变量类型由数据定义伪指令确定,变量初值由表达式给定。 DB:表示为字节型变量 DW:表示为字型变量(16位) 例:SUM DB 12,8 A1 DW 1234H STR DB ‘AB’ 该定义在内存的结果示意如下: 0C 08 34 12 41 42 SUM A1 STR 说明: (1)这里的SUM,A1,STR其实质为符号地址,不同于高级语言的内存变量,也就是说不能按内存变量一样去访问对应的数

文档评论(0)

xiaohuer + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档