CH汇编语言与其程序设计实用实用教案_第1页
CH汇编语言与其程序设计实用实用教案_第2页
CH汇编语言与其程序设计实用实用教案_第3页
CH汇编语言与其程序设计实用实用教案_第4页
CH汇编语言与其程序设计实用实用教案_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1几个概念(ginin)8086汇编语言的语句8086汇编中的伪指令8086汇编中的运算符汇编语言程序设计系统调用汇编语言的程序结构汇编语言的程序结构常用常用(chn yn)(chn yn)的伪指令的伪指令三种程序结构的设计三种程序结构的设计 顺序结构顺序结构 分支结构分支结构 循环结构循环结构 子程序结构子程序结构第第4 4章章 汇编语言程序设计汇编语言程序设计第1页/共85页第一页,共86页。2几个(j )概念汇编语言(hu bin y yn)、汇编语言(hu bin y yn)源程序、汇编、汇编程序源程序 .asm目标程序(m bio chn x) .obj结果debugDOS下执行可执

2、行程序 .exe第2页/共85页第二页,共86页。34.1 8086汇编语言(hu bin y yn)的语句 第3页/共85页第三页,共86页。4 指令和伪指令采用易于(yy)记忆的符合表达,这就是助记符 第4页/共85页第四页,共86页。5 汇编语言(hu bin y yn)大小写不敏感 第5页/共85页第五页,共86页。6第6页/共85页第六页,共86页。7第7页/共85页第七页,共86页。8第8页/共85页第八页,共86页。9第9页/共85页第九页,共86页。10第10页/共85页第十页,共86页。114.2 80864.2 8086汇编(hubin)(hubin)中的伪指令4.2.1

3、符号(fho)定义语句 等值语句格式: 符号(fho)名 EQU 表达式 PORT EQU 1234 BUFF EQU PORT58 MEM EQU DS:BP20H COUNT EQU CX ABC EQU AAA第11页/共85页第十一页,共86页。12第12页/共85页第十二页,共86页。13第13页/共85页第十三页,共86页。14第14页/共85页第十四页,共86页。15第15页/共85页第十五页,共86页。16第16页/共85页第十六页,共86页。17第17页/共85页第十七页,共86页。18第18页/共85页第十八页,共86页。19第19页/共85页第十九页,共86页。20wv2

4、dw ? ;wvar2是没有初值的字变量是没有初值的字变量第20页/共85页第二十页,共86页。21;第21页/共85页第二十一页,共86页。22第22页/共85页第二十二页,共86页。2348H65H6AH6AH6FHBLOCK$第23页/共85页第二十三页,共86页。24习题习题1:下列:下列(xili)语句在存储器中各分配多少语句在存储器中各分配多少字节?字节?(1) VR1DW9(2) VR2DW 4 DUP(?),2(3) CONT EQU 10(4) VR3 DD CONT DUP(?)(5) VR4 DB 2 DUP(?,CONT DUP(0)(6) VR5 DB How are

5、 you?第24页/共85页第二十四页,共86页。25第25页/共85页第二十五页,共86页。26第26页/共85页第二十六页,共86页。27LEA BX, BUFFER第27页/共85页第二十七页,共86页。28第28页/共85页第二十八页,共86页。29; (CL)=78H; (CH)=56H; (AX)=5678H; (DX)=1234H第29页/共85页第二十九页,共86页。30 SEGMENT ENDS(1) SEGMENT定义一个逻辑定义一个逻辑(lu j)段,并给段,并给逻辑逻辑(lu j)段赋予一个段名。段赋予一个段名。 (2) 常见的段名如常见的段名如:CODE, DATA,

6、 STACK第30页/共85页第三十页,共86页。312、段假设(jish)语句ASSUME 段寄存器名:段名,3、 ORG伪指令、地址计数器 $ORG伪指令格式: ORG 4、END 表示源代码结束 格式为: END 常数或表达式. 第31页/共85页第三十一页,共86页。32n四、过程定义(dngy)语句n 过程名 PROC NEAR/FARn n RETn 过程名 ENDP第32页/共85页第三十二页,共86页。33第33页/共85页第三十三页,共86页。344.4 汇编语言(hu bin y yn)程序设计 常用的汇编语言程序框架: DATA SEGMENT;定义数据段VAL1 DB

7、12H , 8EH ;定义变量(binling) DATA ENDS ;数据段结束 CODE SEGMENT;定义代码段 ASSUME DS:DATA , CS: CODE ;段属性说明 START: MOV AX , DATA;初始化DS MOV DS , AX MOV AX , 4C00H ;返回DOS INT 21H CODE ENDS ;代码段结束 END START ;源程序结束第34页/共85页第三十四页,共86页。35第35页/共85页第三十五页,共86页。36 END START;源程序结束第36页/共85页第三十六页,共86页。37nmov ds,ax;设置DS第37页/共8

8、5页第三十七页,共86页。38第38页/共85页第三十八页,共86页。39第39页/共85页第三十九页,共86页。40裸机 汇编语言程序 第40页/共85页第四十页,共86页。41第41页/共85页第四十一页,共86页。42第42页/共85页第四十二页,共86页。43;输入一个字符;输入一个字符 mov ah,01h;设置功能调用号;设置功能调用号 int 21h;功能调用;功能调用 mov dl,al;使用出口;使用出口(ch ku)参数参数 第43页/共85页第四十三页,共86页。44;显示一个问号;显示一个问号“ ?” mov ah,02h;设置功能调用;设置功能调用(dioyng)号号

9、 mov dl,?;设置入口参数;设置入口参数 int 21h;功能调用;功能调用(dioyng)第44页/共85页第四十四页,共86页。45第45页/共85页第四十五页,共86页。46第46页/共85页第四十六页,共86页。47Hello, Assembly !程序功能程序功能第47页/共85页第四十七页,共86页。48第48页/共85页第四十八页,共86页。494.4 程序设计基本(jbn)方法n4.4.1 程序设计概述(i sh)n4.4.2 顺序结构程序设计n4.4.3 分支结构程序设计n4.4.4 循环结构程序设计n4.4.5 子程序设计第49页/共85页第四十九页,共86页。50

10、4.4.1 程序设计(chn x sh j)概述1程序设计的步骤(1)分析问题 (2)建立数学模型 (3)确定算法 (4)绘制流程图 (5)分配内存空间 (6)编制程序与静态检查。 (7)上机调试(dio sh) (8)试运行和分析结果 (9)整理资料投入运行2返回DOS的方法 MOV AH,4CH ;功能号送AH INT 21H ;返回DOS3程序的基本结构 顺序结构,分支结构,循环结构 第50页/共85页第五十页,共86页。51第51页/共85页第五十一页,共86页。52例4-1:教材(jioci)P81页Data segmentBLOCK dw 0abcdHBUFF DD ?DATA E

11、NDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX第52页/共85页第五十二页,共86页。53MOV DX,BLOCKMOV AX,DXAND AX,0F0FHAND DX,0F0F0HMOV CL,4SHR DX,CLLEA BX,BUFFMOV BX+0,ALMOV BX+1,DLMOV BX+2,AHMOV BX+3,DH MOV AX,4C00HINT 21HCODE ENDSEND STARTBLOCK 2字节(z ji)送AXAX取1,2字节(z ji),DX取2,4字节(z ji)DX右移(yu y)

12、4BIT第53页/共85页第五十三页,共86页。54例4-4: 查表,在以TABLE为首地址的内存中顺序存有06的立方数表,现从键盘上输入一个数( =6),求其立方值,结果(ji gu)保存到RES单元中。算法为:取TABLE表的首地址,输入(1号调用)值即为表的偏移量,查表即可得到立方值第54页/共85页第五十四页,共86页。55DATA SEGMENTTABLEDB0,1,8,27,64,125,216RESDB?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV AH,1 ;1号调用 IN

13、T 21H AND AL,0FH ;屏蔽高4位,即把ASICII码转换为数据(shj) LEA BX,TABLE ;取表的首地址 XLAT ;查表指令 MOV RES,AL ;结果送RES单元 MOV AH,4CH INT 21HCODE ENDSEND START第55页/共85页第五十五页,共86页。56上机实验(shyn)一第56页/共85页第五十六页,共86页。57第57页/共85页第五十七页,共86页。58实例(shl):求绝对值第58页/共85页第五十八页,共86页。59第59页/共85页第五十九页,共86页。60实例(shl):显示BX的最高位第60页/共85页第六十页,共86页

14、。61可以(ky)用JNC替换JC第61页/共85页第六十一页,共86页。62转换(zhunhun)为单分支结构 第62页/共85页第六十二页,共86页。63 编写分支程序(chngx),需留心分支的开始和结束第63页/共85页第六十三页,共86页。64第64页/共85页第六十四页,共86页。65第65页/共85页第六十五页,共86页。66第66页/共85页第六十六页,共86页。67多分支结构是多个条件(tiojin)对应各自的分支语句体,哪个条件(tiojin)成立就转入相应分支体执行第67页/共85页第六十七页,共86页。68N例4.10统计学生成绩,将成绩在100分90分之间的定为“A”

15、,依此类推,小于60分,定为“E”。(默认(mrn)分数放在AL寄存器中,成绩等级放在DL寄存器中)AL80Y“B”AL90Y“A”AL70Y“C”AL60Y“D”AL60Y“E”NNN结束(jish)第68页/共85页第六十八页,共86页。69第69页/共85页第六十九页,共86页。70第70页/共85页第七十页,共86页。71第71页/共85页第七十一页,共86页。72第72页/共85页第七十二页,共86页。73 结束结束(jish) (jish) 初始化初始化 循环循环(xnhun)(xnhun)的初始状态的初始状态 循环体循环体 循环的工作部分循环的工作部分 及修改部分及修改部分 计数

16、控制循环计数控制循环 条件控制循环条件控制循环 修改部分修改部分控制条件控制条件 Y Y N N 第73页/共85页第七十三页,共86页。74第74页/共85页第七十四页,共86页。75计数控制循环(xnhun) 先循环(xnhun)后判断第75页/共85页第七十五页,共86页。76第76页/共85页第七十六页,共86页。77条件控制循环(xnhun) 先判断后循环(xnhun)第77页/共85页第七十七页,共86页。78jmp again条件控制循环(xnhun) 先判断后循环(xnhun)第78页/共85页第七十八页,共86页。79汇编语言程序(chngx)上机过程n(1) 建立汇编语言(

17、hu bin y yn)的工作环境n(2) 上机操作过程n(3) DEBUG的使用方法第79页/共85页第七十九页,共86页。80(1)建立汇编语言的工作(gngzu)环境n编辑程序,文件名 EDIT.COMn汇编程序,文件名 MASM.EXE n连接程序,文件名 LINK.EXE n调试程序,文件名 DEBUG.EXE nLIB.EXE,库管理程序 nCREF.EXE,符号索引(suyn)文件处理程序 nEXE2BIN.EXE,将EXE转换为COM的文件格式转换程序第80页/共85页第八十页,共86页。81(2)上机操作过程(guchng)n1编辑n1.对编辑完成的源程序在存盘时扩展名必须加

18、写.ASMn2.一定要严格遵守汇编语言书写格式及段结构的格式来编写程序n2汇编n汇编过程就是将汇编语言源程序转换成机器能够识别的目标代码程序,即OBJ的二进制文件。还可生成(shn chn)扩展名为.LST的列表文件,扩展名为.CRF的符号索引文件。n3连接n所谓连接是用连接程序LINK.EXE把若干个经汇编后产生的.OBJ文件及指定的库文件连接起来,产生可执行的.EXE文件。n4调试第81页/共85页第八十一页,共86页。82上机题1顺序(shnx)结构 1、将DX寄存器中的16位数分成(fn chn)4组,分别放在AL、BL、CL、DL中。第82页/共85页第八十二页,共86页。83上机题2分支(fnzh)结构n2、从键盘上输入二个字符存入A、B单元中,比较它们的大小,并在屏幕上显示AB或AB。n3、判断(pndun)MEMS单元数据,并显示结果:n若数据0,结果显示为1n若数据0,结果显示为0n若数据0,结果显示为第83页/共85页第八十三页,共86页。84小结(xioji) 1、汇编语言源程序的结构 2、汇编语言语句类型及格式 3、常用伪指令 4、常用DOS系统功能调用(dioyng) 5、顺序结构 6、分

温馨提示

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

评论

0/150

提交评论