数字电子与微型计算机原理.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
机器语言——二进制数形式的指令和数据。 B0 64 是什么意思?这就是机器语言。既不直观,又不易理解和记忆. MOV AL,64H ;很容易记忆理解,这就是助记符。 助记符——用便于记忆的英语单词表示的指令操作码。它反映了指令的功能和主要特征,便于人们理解和记忆。 指令除了操作码以外,还有一个操作数问题。 汇编程序 一个基本的汇编语言程序框架如下: stack SEGMENT PARA ‘stack‘ DB 100 DUP(?) stack ENDS data SEGMENT 数据、变量在此定义 data ENDS code SEGMENT ASSUME CS:code, DS:data , ES:data ,SS:stack start: MOV AX, data MOV DS, AX MOV ES, AX MOV AX, stack MOV SS, AX 此处加入你自己的程序段 MOV AL, 4CH INT 21H code ENDS END start 汇编语言的语句有两种: 指令性语句——由8086指令助记符构成的语句 指示性语句——由伪指令构成的语句 每条语句由4个字段构成。以回车符结束 指令性语句的格式为: [标号:] [前缀] 指令助记符 [目的操作数,源操作数] [;注释] 指示性语句的格式为: [名字] 伪指令定义符 [操作数1,操作数2,…,操作数n] [;注释] 注:各部分之间至少要用一个空格作为分隔符。 ●指令性语句由CPU执行,每一条指令性语句都有一条机器码指令与其对应; ●指示性语句由汇编程序执行。它指出汇编程序应如何对源程序进行汇编,如何定义变量、分配存储单元以及指示程序开始和结束等。指示性语句无机器码指令与其相对应。 指令性语句汇编时生成机器码; 指示性语句汇编时不生成机器码。 ?注意注解的写法。要写指令(段)在程序中的作用,而不要写指令的操作。 例如:以下为同一条指令写的注释 1)MOV CX,100 ;传送100到CX 2)MOV CX,100 ;循环计数器置初值 显然,第二种写法要比第一种写法要好。 (三) 数据项 变量——即内存中的存储单元或数据区。 变量名——是存储单元(数据区)的符号地址或名字 变量在程序中作为存储器操作数被引用。 标号和变量名的使用规则 组成:A-Z(不分大小写), 0-9, ?@ . _ $ 不能以数字开头 长度小于31个字符 不能与保留字(指令助记符、伪指令、预定义符号等)重名 不能重复定义 例如: 正确的:LP1, AGAIN, NEXT, _GO, OK_1 错误的:4M, LOOP, AAA, #HELP, +ONE 三类段:代码(程序)、数据、堆栈 段定义伪指令:SEGMENT、ENDS、ASSUME、ORG ③类别名(续) 如:在模块1中有段定义: seg1 SEGMENT PARA STACK ‘stack’ … seg1 ENDS 在模块2中有段定义: seg2 SEGMENT PARA STACK ‘stack’ … seg2 ENDS 则连接时这两个段被安排在一起。 2 . 段寄存器说明伪指令ASSUME 在代码段中,还必须明确段和段寄存器的关系,这由ASSUME语句来指定。如 ASSUME CS:code, DS:data, ES:data, SS:stack 语句中的code、data、stack为段名。 这个语句说明: * CS将指向名字为code的代码段 * DS和ES将指向名字为data的数据段 * SS将指向名字为stack的堆栈段 但要注意,ASSUME伪指令只是告知汇编程序有关段寄存器与段的关系,并没有给段寄存器赋予实际的初值。故下面的语句 MOV AX,DATA MOV DS,AX MOV E

文档评论(0)

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

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

1亿VIP精品文档

相关文档