- 1、本文档共150页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 汇编语言程序设计 3.1 汇编语言概述 1、机器语言——二进制数形式的指令和数据。 B0 64 是什么意思?这就是机器语言。既不直观,又不易理解和记忆. 2、汇编语言 MOV AL,64H ;很容易记忆理解,这就是助记符。 助记符——用便于记忆的英语单词表示的指令操作码。它反映了指令的功能和主要特征,便于人们理解和记忆。 指令除了操作码以外,还有一个操作数问题。 操作数可能放在存储器中,这就涉及操作数的地址。程序中遇到转移指令或调用指令,也需要知道转移地址,若采用具体地址就很不方便,一旦有错,改动也很麻烦。于是人们采用标号或符号来代替地址。 汇编语言程序设计与执行过程 输入汇编语言源程序 源文件 .ASM 汇编(编译) 目标文件 .OBJ 链接 可执行文件 .EXE 调试 最终程序 小汇编:ASM 宏汇编:MASM 3、高级语言:通用性强。例:MATLAB、C、Pascal 3.2 汇编语言源程序的格式 一个基本的汇编语言程序框架如下: stack SEGMENT PARA ‘stack‘ DB 100 DUP(‘stack’) stack ENDS data SEGMENT 数据、变量在此定义 data ENDS code SEGMENT ASSUME CS:code, DS:data, ES:data start: MOV AX, data MOV DS, AX MOV ES, AX 此处加入你自己的程序段 MOV AH, 4CH INT 21H code ENDS END start 例:将两个五字节的16进制数相加 DATA SEGMENT ;定义数据段 DATA1 DB 0F8H,60H,0ACH,74H,3BH ;变量一,字节 DATA2 DB 0C1H,36H,93H,0D5H,20H ;变量二,字节 DATA ENDS ;数据段结束 CODE SEGMENT ;定义代码段 ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX ;初始化DS MOV CX,5 ;置循环次数送CX MOV SI,0 ;(SI)=0 CLC ;(CF)=0 LOOPER: MOV AL,DATA2[SI] ;取一个字节加数 ADC DATA1[SI],AL ;与被加数相加,带进位加法 INC SI ;SI加1 DEC CX ;CX减1 JNZ LOOPER ;若(CX)不等于0,转LOOPER MOV AH,4CH INT 21H ;返回DOS CODE ENDS ;代码段结束 END START ;源程序结束 注:MOV AH,4CH INT 21H ;DOS功能调用,结束正在运行的程序,返回DOS 3.2.2 汇编语言语句的类型和组成 汇编语言的语句有
文档评论(0)