微机原理与接口技术第2版第04章8086汇编语言程序设计资料课件_第1页
微机原理与接口技术第2版第04章8086汇编语言程序设计资料课件_第2页
微机原理与接口技术第2版第04章8086汇编语言程序设计资料课件_第3页
微机原理与接口技术第2版第04章8086汇编语言程序设计资料课件_第4页
微机原理与接口技术第2版第04章8086汇编语言程序设计资料课件_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

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

文档简介

第四章8086汇编语言程序设计几个概念8086汇编语言的语句8086汇编中的伪指令8086汇编中的运算符汇编语言程序设计宏定义与宏调用系统调用盘惕已食苫闻押企困彝掐监乖巫哲壮辩誓匣范辅颗豌堰朴肤图居钉慕唯骸微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计第四章8086汇编语言程序设计几个概念盘惕已食苫闻押企困彝几个概念汇编语言汇编语言源程序汇编汇编程序邮鞘雪毗召纷供疡洽熊惩缝爷蝉僳磋溺匪乖晶雇盛运威曝血疙先弘轻臂季微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计几个概念汇编语言邮鞘雪毗召纷供疡洽熊惩缝爷蝉僳磋溺匪乖晶雇盛4.18086汇编语言的语句汇编语言由指令性语句和指令性语句组成一、指令性语句格式

[标号:]操作码[操作数1,][操作数2];[注释]二、指示性语句格式

[标识符(名字)]指示符(伪指令)表达式三、有关属性

存储器操作数的属性有三种:段值、段内偏移量和类型。徽鲸炔抄虞何洒找泰扒联苗凯告误庐涯潮捐才力皑濒苑逮轻拆撇迟掏致俊微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计4.18086汇编语言的语句汇编语言由指令性语句和指4.28086汇编中的伪指令一、符号定义语句1、等值语句 格式:符号名EQU表达式 例: ⑴PORT EQU1234 ⑵BUFF EQUPORT+58 ⑶MEM EQUDS:[BP+20H] ⑷COUNTEQUCX ⑸ABC EQUAAA帆煞需耳臂帜雌涛更设魂昌婿宠沧扩塔曾灌览演适硬赤拥湖疼唐边瘤是邮微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计4.28086汇编中的伪指令一、符号定义语句帆煞需2、等号语句 格式: NUM=34 …… NUM=34+1阁太藐挂平暂弟篡腥绎既喀盒幼寡嗜蔚哈命番租燎栓呵彭撤痞措霓瑶愚护微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计阁太藐挂平暂弟篡腥绎既喀盒幼寡嗜蔚哈命番租燎栓呵彭撤痞措霓瑶二、变量定义语句

格式:符号名DB/DW/DD表达式尚遇揩叼规易作境刮鄙郎意呈蔑挡咕缕铣仿吧烁绊酚幸惠吻锐瘸沙宣冉甩微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计二、变量定义语句尚遇揩叼规易作境刮鄙郎意呈蔑挡咕缕铣仿吧烁1、定义一组数据 例1:BUFFDW1234H,0ABCDH,8EH DW–79DH,7B6AH2、定义一串字符

例2:STRDB‘Welcome!’3、定义保留存储单元

例3:SUMDW?, ?脑底钒绑觅伪力脑甥判令速献讫钮忻批驾婪江婶闸词沃嘶睫纬揉延馅牵缴微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计脑底钒绑觅伪力脑甥判令速献讫钮忻批驾婪江婶闸词沃嘶睫纬揉延馅4、复制操作

复制操作符DUP(Duplication)可预置重复的数值 例4:ALL_ZERODB0,0,0,0,0 用复制操作可改为: ALL_ZERODB5DUP(0)5、将已定义的地址存入内存单元

例5:LITDDCYC… CYC:MOVAX,BX夏韧婉蹬惹釉余美玄还贪嚷架畜铃刨畔逛屑扬爹甭绩习碧匈通疼虾冬哺瞩微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计4、复制操作夏韧婉蹬惹釉余美玄还贪嚷架畜铃刨畔逛屑扬爹甭绩习三、段定义语句1、段定义语句格式:段名SEGMENT[定位类型][组合类型][‘类别’] ……段名ENDS只需要掌握

段名SEGMENT ……段名ENDS硕稀锡短宰摆内娘雌级谅谩嫡烧昔窿拯奇段瞎戊娘帜岭伴淌虱袄完页劫刷微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计三、段定义语句硕稀锡短宰摆内娘雌级谅谩嫡烧昔窿拯奇段瞎戊娘帜2、段假设语句

ASSUME段寄存器名:段名[,…]3、

ORG伪指令、地址计数器$

ORG伪指令格式:ORG<表达式>4、END表示源代码结束格式为:END常数或表达式.液啄灵男锻撮捣狈衍腰赠彝馅赵点萧赚氓撑坦纸凉柱糜滚喝例佐酪蕊邀咎微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计液啄灵男锻撮捣狈衍腰赠彝馅赵点萧赚氓撑坦纸凉柱糜滚喝例佐酪蕊四、过程定义语句

过程名PROCNEAR/FAR …… RET 过程名ENDP盯室辫溯去密演辫雕毗俘届侄酌荣辕聪塌迢凸厂奄誓锚瞳参测寻黍祁渭雹微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计四、过程定义语句盯室辫溯去密演辫雕毗俘届侄酌荣辕聪塌迢凸厂奄4.38086汇编中的运算符一、常用运算符1、算术运算符+(加)、-(减)、*(乘)、/(除)、MOD(求余)。2、逻辑运算符

AND、OR、XOR、NOT

道帕吱驳春荧舵蹲汪尚派城裳火谨庙表每爷颠拆侩墟傍烃丑梢冕宫怂洗硬微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计4.38086汇编中的运算符一、常用运算符道帕吱驳春荧3、关系运算符 EQ(相等)、NE(不等、)LT(小于)、GT(大于)、 LE(小于等于)、GE(大于等于)。关系成立,全1 关系不成立,全0

例:MOVDL,10HLT16

MOVDL,0 例:ANDAX,555GT222

ANDAX,0FFFFH蒙蚕优趣舒口邪忧括姜息陪臻诽粥臂堵畔扛潮阻廖啦醛员胡淮奈恿努矾颤微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计3、关系运算符蒙蚕优趣舒口邪忧括姜息陪臻诽粥臂堵畔扛潮阻廖啦

二、常用的操作符4、分析操作符1)SEG操作符 例:MOVAX,SEGBUFF2)OFFSET操作符

例:MOVBX,OFFSETBUFF烯怖侯套妄菱不撒穆盗掩缎疥冲骡荫殖颁蔬属貉颠酬甥年帐灿景哉姿牺触微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计二、常用的操作符烯怖侯套妄菱不撒穆盗掩缎疥冲骡荫殖3)TYPE操作符对于变量有3种:1

字节型;2

字型;4

双字型;对于标号有2种:-1

NEAR(段内),-2

FAR(段间)。 例:BUFFDB20H MOVBX,TYPEBUFFMOVBX,01惕了膳隘桩待痞昏丢齐扩禁靴去他纂屯线童乱东之秤灶搽蜘呛期牢韶嘻拢微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计3)TYPE操作符惕了膳隘桩待痞昏丢齐扩禁靴去他纂屯线童乱东4)LENGTH操作符5)SIZE操作符 SIZE=TYPE×LENGTH

例:BUFFDB10DIP(?) MOVCX,LENGTHBUF

MOVCX,10 MOVCX,SIZEBUF

MOVCX,20簇婉呼癸朔晨眯琳东高稳先疡汐什岛咯盼遍誊弄惋拢巳凳捷纤烩锌捌抄堆微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计簇婉呼癸朔晨眯琳东高稳先疡汐什岛咯盼遍誊弄惋拢巳凳捷纤烩锌捌5、综合运算符(合成操作符)功能: 1、由已有的操作数建立新的操作数; 2、新操作数和已有的操作数类型不一样 1)PTR运算符 格式:类型PTR表达式

例:INCWORDPTR[BX] wx dw1234h moval,byteptrwx movah,byteptrwx+12)THIS操作符 格式:THIS类型(或属性)

例:FIRSTEQUTHISBYTE SECONDDW100DUP(?)挫掌柱哪雷缔所猪纺状蚁螟橡叔谓牌辗剔郴虏怔钩驾膀境搞儿售件全宏全微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计5、综合运算符(合成操作符)挫掌柱哪雷缔所猪纺状蚁螟橡叔谓牌4.4汇编语言程序设计常用的汇编语言程序框架:

DATA SEGMENT ;定义数据段 VAL1DB12H,8EH ;定义变量 …… DATA ENDS ;数据段结束 CODE SEGMENT ;定义代码段 ASSUMEDS:DATA,CS:CODE ;段属性说明 START:MOVAX,DATA ;初始化DS MOVDS,AX …… MOVAX,4C00H ;返回DOS INT21H CODEENDS ;代码段结束 ENDSTART ;源程序结束卞淌菇条针祸航犬央菊仇哈仟姜死辕浆敦兆搔每厦淑尽克煌困辈娩椰舟肛微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计4.4汇编语言程序设计常用的汇编语言程序框架:卞淌菇条针特点程序分段语句由指令性和指示性语句组成两种程序框架痘供慧啊桑杉党蛹惦遵尊雇园购朋纬戍朱活派消林珊枚壤慢滓焙遍番挎瞄微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计特点痘供慧啊桑杉党蛹惦遵尊雇园购朋纬戍朱活派消林珊枚壤慢滓焙框架一:

DATA SEGMENT ;定义数据段

VAL1DB12H,8EH ;定义变量 …… DATA ENDS ;数据段结束 CODE SEGMENT ;定义代码段 ASSUMEDS:DATA,CS:CODE ;段属性说明 START:MOVAX,DATA ;初始化DS MOVDS,AX …… ;填写代码 MOVAX,4C00H ;返回DOS INT21H CODEENDS ;代码段结束 ENDSTART ;源程序结束哲他淤搬远毛怪垢亲紧逝得宝讽足褐秒弥七绍炬行旋胃宿都轮吭木责莱摊微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计框架一:哲他淤搬远毛怪垢亲紧逝得宝讽足褐秒弥七绍炬行旋胃宿框架二:

DATA SEGMENT ;定义数据段

VAL1DB12H,8EH ;定义变量 ……

DATA ENDS ;数据段结束 CODE SEGMENT ;定义代码段 MAIN PROCFAR ASSUMEDS:DATA,CS:CODE ;段属性说明 START:PUSHDS MOVAX,0 PUSHAX MOVAX,DATA MOVDS,AX

…… ;填写代码 RET MAIN ENDP CODEENDS ;代码段结束 ENDSTART ;源程序结束著仁尺索珍坯芹痞机悼驱厨励卜挽拱鞭企究盯指捐碧煮悟扑才屈厌卑鞘翻微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计框架二:著仁尺索珍坯芹痞机悼驱厨励卜挽拱鞭企究盯指捐碧煮悟一、汇编语言程序设计基本步骤分析问题,确定模型

确定算法

绘制流程图

编写程序检查和调试二、汇编语言程序的基本结构迎飘耽父毒茬搀斤土潭彩秃除创萄瞅床靡兜幽梗吉缀蹿浚口札派拷伯浴跑微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计一、汇编语言程序设计基本步骤迎飘耽父毒茬搀斤土潭彩秃除创萄1、顺序结构复审宽恃吕祝摧红椅嗅滴窄师凋跺露冕雨史怪掘底靶兼备簧否腻盒缚孰惧微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计1、顺序结构复审宽恃吕祝摧红椅嗅滴窄师凋跺露冕雨史怪掘底靶兼举例把al内容除2,并四舍五入完成 x1*x2x3x1:bytex2:wordx334bit簧刹抚准涸丹吝眼刷食篱釜遭我汕堡绵淮山坝疆腿俐雅罩聊郴叫赣灰继孙微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计举例把al内容除2,并四舍五入簧刹抚准涸丹吝眼刷食篱釜遭我2、分支结构溢派蜗钝焊脊矫诞推痒拢草矾漠蚌幼那谈尊籽尺辐欧旷卡腔稚火条官帧壤微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计2、分支结构溢派蜗钝焊脊矫诞推痒拢草矾漠蚌幼那谈尊籽尺辐欧举例实现末盆聚茁碍一膘索颐千粥执疥蔼巴阁卖钥璃翱千菌力虑衣戍于翌盗霖若揭微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计举例实现末盆聚茁碍一膘索颐千粥执疥蔼巴阁卖钥璃翱千菌力虑衣戍用查表法确定分支 a、对8种产品进行编号0,1,……7b、每一个编号对应一个入口地址proc0,proc1,……proc7步骤:a、把入口地址放在Table开始的内存单元;b、根据key内容进行查表实现分支转移渣携勇蚂竟敏肌魏假哼谢嘴癌藩扇题田碧咕畔玉芹待沫漂虎舍誊贮店睹儿微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计用查表法确定分支渣携勇蚂竟敏肌魏假哼谢嘴癌藩扇题田碧咕畔玉芹3、循环结构惧硒鼠娥兰须椰躇污矽价权凋浓赡譬诧庆锰瓜枣疫认自暇崖惯板脆想僵袱微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计3、循环结构惧硒鼠娥兰须椰躇污矽价权凋浓赡譬诧庆锰瓜枣疫认湾廷偶戮竟弊嘻螺饮焕糯雅叙添侍俄蓬蒸锡毙已坐缮织腐阅畜醚永封禽肾微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计湾廷偶戮竟弊嘻螺饮焕糯雅叙添侍俄蓬蒸锡毙已坐缮织腐阅畜醚永封举例例1、计算y=0+2+4+……+1998ydxax查找数组中是否由关键字, 有:变量dd11;dd2关键字偏移量无:变量dd10方法一、用loop指令 方法二、用loopnz(loopne)指令澎锻志薄茬晰四亭痞盼碘菠辞煤风窖誊簿啸豆岛阵澡肇躬釜燕叙铜秸宴锌微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计举例例1、计算y=0+2+4+……+1998澎锻志薄茬晰四亭Callproc1ret吹铲爸郁躁拢蛤闻釉茄抨稗既叭狭缘咬尤浚递海拢劳唬庆肖杯揪非蓉铺粗微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计Callproc1ret吹铲爸郁躁拢蛤闻釉茄抨稗既叭狭缘咬实现方法主程序有调用指令call子程序有返回指令ret特点Call指令与ret缺一不可现场保护入口出口参数设置栏害既挂院津筒得敏报哦耍训青藤聊萝罗尿豁裔钢靳凑褒躇嚏铣贫龚颜薪微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计实现方法栏害既挂院津筒得敏报哦耍训青藤聊萝罗尿豁裔钢靳凑褒躇举例 编写AX*10AX子程序腰垃掏亿榷格鲍唆储输南抒压澈纱志阴兔琵延低轿坯短爬诸营狭笺禾孔峙微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计举例腰垃掏亿榷格鲍唆储输南抒压澈纱志阴兔琵延低轿坯短爬诸营狭子程序编写1、子程序组成使用说明a、子程序功能b、使用寄存器情况c、入口出口参数程序体入口出口参数传递现场保护功能程序段呼赚靠经翻扦恫恩篡徒巩凌茨差棠翟您篙栅炒诸社逆帆帕鹃堰但露剥涸漓微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计子程序编写呼赚靠经翻扦恫恩篡徒巩凌茨差棠翟您篙栅炒诸社逆帆帕

;这是一个乘10子程序 ;使用寄存器AX ;入口:AX,出口:AX mul10 procfar pushbx ;保护现场 pushf

addax,ax ;2ax movbx,ax ;2axbx addax,ax ;4ax addax,ax ;8ax addax,bx ;10ax popf ;恢复现场 popbx ret mul10 endp功能程序段祟浩捕决磕剔幢穷寡颖息崎秸揽肪卤择沟柞轮图柏嵌迁剩含葱班和蚕肖苔微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计 ;这是一个乘10子程序功能程序段祟浩捕决磕剔幢穷寡颖息2、现场保护和入口出口参数传递(1)、现场保护方案一:在子程序中保护灵活,不方便方案二:在主程序中保护方便,不灵活(2)、参数传递寄存器传递变量传递堆栈传递抓糯盅爪乓饺冕耗氟幻澳损蝎枫暴丈里嗡羹担炯咕戒乳舟芯亥馅踞狂郊吧微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计2、现场保护和入口出口参数传递抓糯盅爪乓饺冕耗氟幻澳损蝎枫暴举例1、数组元素求和酋斑造恫细颁的抹萌腿慧堵帛囱羌甩混褪铁寻论蘑抱曼肪决瀑尔娃乳宿切微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计举例酋斑造恫细颁的抹萌腿慧堵帛囱羌甩混褪铁寻论蘑抱曼肪决瀑尔2、计算N!(1)如果AL=0,则结果为1;(2)如果AL!=0,在堆栈中形成n,n-1,n-2,……1;(3)从堆栈中推出1,2,…n-1,n-2,计算n!妹喻侧他犀娇煽御植皿归摧匙贬箕酪捕哼匹些坟束备窖溪钙旨愉焊严绳遂微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计2、计算N!妹喻侧他犀娇煽御植皿归摧匙贬箕酪捕哼匹些坟束备4.4系统调用一、PCDOS执行流程搞珠巳尺谨提蒋岛怂诵窖娇冕首绿礼熙私锤身砒窍链晌过肪艘毅据弧涡肤微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计4.4系统调用一、PCDOS执行流程搞珠巳尺谨提蒋岛怂诵窖BIOSIBMBIOIBMDOS痒说壹最碟恃桥首盖厅耸英持哲嫌铆痪州险侍皑鲁搏谢钻合淄钠鞭导韭迟微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计BIOSIBMBIOIBMDOS痒说壹最碟恃桥首盖厅耸英持哲键盘命令命令处理程序文件管理基本输入/输出BIOS用户程序用户程序ROMIBMBIOIBMDOS酿允嘛妒恤智责踊舶疚憨贩饼胀周堡豌渍徊捌戌秒扑弦牺召朵惹蔬牢葬虏微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计键盘命令命令处理程序文件管理基本输入/输出BIOS用户程序用二、DOS系统子程序功能1、磁盘管理2、内存管理3、系统输入/输出共87个子程序卵够粒修透仲邹贮屋生湖蛾姓痊烂崔醉驮右邀佰湾捧缆贪配坍酵臼皿类古微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计二、DOS系统子程序功能卵够粒修透仲邹贮屋生湖蛾姓痊烂崔醉驮三、系统功能调用对87个子程序进行编号,根据编号进行相关处理格式 1、入口参数 2、编号ah 3、INT21H到拳智车相蛰股辊倒栏信震墓飞秉屏棵欠换考部豫羔给缸童糊歧鹃柔惯讹微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计三、系统功能调用到拳智车相蛰股辊倒栏信震墓飞秉屏棵欠换考部豫编号ahINT21ah=11号调用ah=22号调用醋呼瑶闰噎废敏娠狈固蛊城巷友抒财旦哲晾炒煮画惜和店数零卿酿楚椽矾微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计编号ahah=1ah=2醋呼瑶闰噎废敏娠狈固蛊城巷友抒财旦常用的系统调用1、1号调用-键盘输入2、8号调用-键盘输入3、6号调用-显示及输入4、9号调用-输出字符5、10号调用-输入字符串碴脚筑裤担寐代儒魄爵钵质么底躬瞅水病腆漠窥亚阜仍姑零途场婿澡翼楼微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计常用的系统调用碴脚筑裤担寐代儒魄爵钵质么底躬瞅水病腆漠窥亚阜4.5宏定义与宏调用一、宏定义和宏调用1、格式宏指令名 macro[参数表] … ;宏定义体 endm2、优点缩短源程序长度,但不减少代码长度;程序易读弃晾骚居普洲串烬谁胶针倪书甩建蚂阿篓犬棘枕浸上屹价持伎畦灵梭揪废微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计4.5宏定义与宏调用一、宏定义和宏调用弃晾骚居普洲串烬谁胶3、参数可以是多种形式二、宏定义取消伪操作格式 purge宏命令名1,宏命令名2,…三、重复伪操作格式 rept<表达式> ;重复块 endm嘲嫂烁居写浆列悲冤弯遵免骡绅率诬瑞酝诣乍涸维兹践鸵只仆牟所升妊趁微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计3、参数可以是多种形式嘲嫂烁居写浆列悲冤弯遵免骡绅率诬瑞酝诣四、条件汇编格式 if表达式 … else … endif骡馁日化哆律堵挞酷带猛伯戒削爹羚履始珍讲轨傣哀笨观区喇育陕后文钡微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计四、条件汇编骡馁日化哆律堵挞酷带猛伯戒削爹羚履始珍讲轨傣哀笨第四章8086汇编语言程序设计几个概念8086汇编语言的语句8086汇编中的伪指令8086汇编中的运算符汇编语言程序设计宏定义与宏调用系统调用盘惕已食苫闻押企困彝掐监乖巫哲壮辩誓匣范辅颗豌堰朴肤图居钉慕唯骸微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计第四章8086汇编语言程序设计几个概念盘惕已食苫闻押企困彝几个概念汇编语言汇编语言源程序汇编汇编程序邮鞘雪毗召纷供疡洽熊惩缝爷蝉僳磋溺匪乖晶雇盛运威曝血疙先弘轻臂季微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计几个概念汇编语言邮鞘雪毗召纷供疡洽熊惩缝爷蝉僳磋溺匪乖晶雇盛4.18086汇编语言的语句汇编语言由指令性语句和指令性语句组成一、指令性语句格式

[标号:]操作码[操作数1,][操作数2];[注释]二、指示性语句格式

[标识符(名字)]指示符(伪指令)表达式三、有关属性

存储器操作数的属性有三种:段值、段内偏移量和类型。徽鲸炔抄虞何洒找泰扒联苗凯告误庐涯潮捐才力皑濒苑逮轻拆撇迟掏致俊微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计4.18086汇编语言的语句汇编语言由指令性语句和指4.28086汇编中的伪指令一、符号定义语句1、等值语句 格式:符号名EQU表达式 例: ⑴PORT EQU1234 ⑵BUFF EQUPORT+58 ⑶MEM EQUDS:[BP+20H] ⑷COUNTEQUCX ⑸ABC EQUAAA帆煞需耳臂帜雌涛更设魂昌婿宠沧扩塔曾灌览演适硬赤拥湖疼唐边瘤是邮微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计4.28086汇编中的伪指令一、符号定义语句帆煞需2、等号语句 格式: NUM=34 …… NUM=34+1阁太藐挂平暂弟篡腥绎既喀盒幼寡嗜蔚哈命番租燎栓呵彭撤痞措霓瑶愚护微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计阁太藐挂平暂弟篡腥绎既喀盒幼寡嗜蔚哈命番租燎栓呵彭撤痞措霓瑶二、变量定义语句

格式:符号名DB/DW/DD表达式尚遇揩叼规易作境刮鄙郎意呈蔑挡咕缕铣仿吧烁绊酚幸惠吻锐瘸沙宣冉甩微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计二、变量定义语句尚遇揩叼规易作境刮鄙郎意呈蔑挡咕缕铣仿吧烁1、定义一组数据 例1:BUFFDW1234H,0ABCDH,8EH DW–79DH,7B6AH2、定义一串字符

例2:STRDB‘Welcome!’3、定义保留存储单元

例3:SUMDW?, ?脑底钒绑觅伪力脑甥判令速献讫钮忻批驾婪江婶闸词沃嘶睫纬揉延馅牵缴微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计脑底钒绑觅伪力脑甥判令速献讫钮忻批驾婪江婶闸词沃嘶睫纬揉延馅4、复制操作

复制操作符DUP(Duplication)可预置重复的数值 例4:ALL_ZERODB0,0,0,0,0 用复制操作可改为: ALL_ZERODB5DUP(0)5、将已定义的地址存入内存单元

例5:LITDDCYC… CYC:MOVAX,BX夏韧婉蹬惹釉余美玄还贪嚷架畜铃刨畔逛屑扬爹甭绩习碧匈通疼虾冬哺瞩微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计4、复制操作夏韧婉蹬惹釉余美玄还贪嚷架畜铃刨畔逛屑扬爹甭绩习三、段定义语句1、段定义语句格式:段名SEGMENT[定位类型][组合类型][‘类别’] ……段名ENDS只需要掌握

段名SEGMENT ……段名ENDS硕稀锡短宰摆内娘雌级谅谩嫡烧昔窿拯奇段瞎戊娘帜岭伴淌虱袄完页劫刷微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计三、段定义语句硕稀锡短宰摆内娘雌级谅谩嫡烧昔窿拯奇段瞎戊娘帜2、段假设语句

ASSUME段寄存器名:段名[,…]3、

ORG伪指令、地址计数器$

ORG伪指令格式:ORG<表达式>4、END表示源代码结束格式为:END常数或表达式.液啄灵男锻撮捣狈衍腰赠彝馅赵点萧赚氓撑坦纸凉柱糜滚喝例佐酪蕊邀咎微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计液啄灵男锻撮捣狈衍腰赠彝馅赵点萧赚氓撑坦纸凉柱糜滚喝例佐酪蕊四、过程定义语句

过程名PROCNEAR/FAR …… RET 过程名ENDP盯室辫溯去密演辫雕毗俘届侄酌荣辕聪塌迢凸厂奄誓锚瞳参测寻黍祁渭雹微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计四、过程定义语句盯室辫溯去密演辫雕毗俘届侄酌荣辕聪塌迢凸厂奄4.38086汇编中的运算符一、常用运算符1、算术运算符+(加)、-(减)、*(乘)、/(除)、MOD(求余)。2、逻辑运算符

AND、OR、XOR、NOT

道帕吱驳春荧舵蹲汪尚派城裳火谨庙表每爷颠拆侩墟傍烃丑梢冕宫怂洗硬微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计4.38086汇编中的运算符一、常用运算符道帕吱驳春荧3、关系运算符 EQ(相等)、NE(不等、)LT(小于)、GT(大于)、 LE(小于等于)、GE(大于等于)。关系成立,全1 关系不成立,全0

例:MOVDL,10HLT16

MOVDL,0 例:ANDAX,555GT222

ANDAX,0FFFFH蒙蚕优趣舒口邪忧括姜息陪臻诽粥臂堵畔扛潮阻廖啦醛员胡淮奈恿努矾颤微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计3、关系运算符蒙蚕优趣舒口邪忧括姜息陪臻诽粥臂堵畔扛潮阻廖啦

二、常用的操作符4、分析操作符1)SEG操作符 例:MOVAX,SEGBUFF2)OFFSET操作符

例:MOVBX,OFFSETBUFF烯怖侯套妄菱不撒穆盗掩缎疥冲骡荫殖颁蔬属貉颠酬甥年帐灿景哉姿牺触微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计二、常用的操作符烯怖侯套妄菱不撒穆盗掩缎疥冲骡荫殖3)TYPE操作符对于变量有3种:1

字节型;2

字型;4

双字型;对于标号有2种:-1

NEAR(段内),-2

FAR(段间)。 例:BUFFDB20H MOVBX,TYPEBUFFMOVBX,01惕了膳隘桩待痞昏丢齐扩禁靴去他纂屯线童乱东之秤灶搽蜘呛期牢韶嘻拢微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计3)TYPE操作符惕了膳隘桩待痞昏丢齐扩禁靴去他纂屯线童乱东4)LENGTH操作符5)SIZE操作符 SIZE=TYPE×LENGTH

例:BUFFDB10DIP(?) MOVCX,LENGTHBUF

MOVCX,10 MOVCX,SIZEBUF

MOVCX,20簇婉呼癸朔晨眯琳东高稳先疡汐什岛咯盼遍誊弄惋拢巳凳捷纤烩锌捌抄堆微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计簇婉呼癸朔晨眯琳东高稳先疡汐什岛咯盼遍誊弄惋拢巳凳捷纤烩锌捌5、综合运算符(合成操作符)功能: 1、由已有的操作数建立新的操作数; 2、新操作数和已有的操作数类型不一样 1)PTR运算符 格式:类型PTR表达式

例:INCWORDPTR[BX] wx dw1234h moval,byteptrwx movah,byteptrwx+12)THIS操作符 格式:THIS类型(或属性)

例:FIRSTEQUTHISBYTE SECONDDW100DUP(?)挫掌柱哪雷缔所猪纺状蚁螟橡叔谓牌辗剔郴虏怔钩驾膀境搞儿售件全宏全微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计5、综合运算符(合成操作符)挫掌柱哪雷缔所猪纺状蚁螟橡叔谓牌4.4汇编语言程序设计常用的汇编语言程序框架:

DATA SEGMENT ;定义数据段 VAL1DB12H,8EH ;定义变量 …… DATA ENDS ;数据段结束 CODE SEGMENT ;定义代码段 ASSUMEDS:DATA,CS:CODE ;段属性说明 START:MOVAX,DATA ;初始化DS MOVDS,AX …… MOVAX,4C00H ;返回DOS INT21H CODEENDS ;代码段结束 ENDSTART ;源程序结束卞淌菇条针祸航犬央菊仇哈仟姜死辕浆敦兆搔每厦淑尽克煌困辈娩椰舟肛微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计4.4汇编语言程序设计常用的汇编语言程序框架:卞淌菇条针特点程序分段语句由指令性和指示性语句组成两种程序框架痘供慧啊桑杉党蛹惦遵尊雇园购朋纬戍朱活派消林珊枚壤慢滓焙遍番挎瞄微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计特点痘供慧啊桑杉党蛹惦遵尊雇园购朋纬戍朱活派消林珊枚壤慢滓焙框架一:

DATA SEGMENT ;定义数据段

VAL1DB12H,8EH ;定义变量 …… DATA ENDS ;数据段结束 CODE SEGMENT ;定义代码段 ASSUMEDS:DATA,CS:CODE ;段属性说明 START:MOVAX,DATA ;初始化DS MOVDS,AX …… ;填写代码 MOVAX,4C00H ;返回DOS INT21H CODEENDS ;代码段结束 ENDSTART ;源程序结束哲他淤搬远毛怪垢亲紧逝得宝讽足褐秒弥七绍炬行旋胃宿都轮吭木责莱摊微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计框架一:哲他淤搬远毛怪垢亲紧逝得宝讽足褐秒弥七绍炬行旋胃宿框架二:

DATA SEGMENT ;定义数据段

VAL1DB12H,8EH ;定义变量 ……

DATA ENDS ;数据段结束 CODE SEGMENT ;定义代码段 MAIN PROCFAR ASSUMEDS:DATA,CS:CODE ;段属性说明 START:PUSHDS MOVAX,0 PUSHAX MOVAX,DATA MOVDS,AX

…… ;填写代码 RET MAIN ENDP CODEENDS ;代码段结束 ENDSTART ;源程序结束著仁尺索珍坯芹痞机悼驱厨励卜挽拱鞭企究盯指捐碧煮悟扑才屈厌卑鞘翻微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计框架二:著仁尺索珍坯芹痞机悼驱厨励卜挽拱鞭企究盯指捐碧煮悟一、汇编语言程序设计基本步骤分析问题,确定模型

确定算法

绘制流程图

编写程序检查和调试二、汇编语言程序的基本结构迎飘耽父毒茬搀斤土潭彩秃除创萄瞅床靡兜幽梗吉缀蹿浚口札派拷伯浴跑微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计一、汇编语言程序设计基本步骤迎飘耽父毒茬搀斤土潭彩秃除创萄1、顺序结构复审宽恃吕祝摧红椅嗅滴窄师凋跺露冕雨史怪掘底靶兼备簧否腻盒缚孰惧微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计1、顺序结构复审宽恃吕祝摧红椅嗅滴窄师凋跺露冕雨史怪掘底靶兼举例把al内容除2,并四舍五入完成 x1*x2x3x1:bytex2:wordx334bit簧刹抚准涸丹吝眼刷食篱釜遭我汕堡绵淮山坝疆腿俐雅罩聊郴叫赣灰继孙微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计举例把al内容除2,并四舍五入簧刹抚准涸丹吝眼刷食篱釜遭我2、分支结构溢派蜗钝焊脊矫诞推痒拢草矾漠蚌幼那谈尊籽尺辐欧旷卡腔稚火条官帧壤微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计2、分支结构溢派蜗钝焊脊矫诞推痒拢草矾漠蚌幼那谈尊籽尺辐欧举例实现末盆聚茁碍一膘索颐千粥执疥蔼巴阁卖钥璃翱千菌力虑衣戍于翌盗霖若揭微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计举例实现末盆聚茁碍一膘索颐千粥执疥蔼巴阁卖钥璃翱千菌力虑衣戍用查表法确定分支 a、对8种产品进行编号0,1,……7b、每一个编号对应一个入口地址proc0,proc1,……proc7步骤:a、把入口地址放在Table开始的内存单元;b、根据key内容进行查表实现分支转移渣携勇蚂竟敏肌魏假哼谢嘴癌藩扇题田碧咕畔玉芹待沫漂虎舍誊贮店睹儿微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计用查表法确定分支渣携勇蚂竟敏肌魏假哼谢嘴癌藩扇题田碧咕畔玉芹3、循环结构惧硒鼠娥兰须椰躇污矽价权凋浓赡譬诧庆锰瓜枣疫认自暇崖惯板脆想僵袱微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计3、循环结构惧硒鼠娥兰须椰躇污矽价权凋浓赡譬诧庆锰瓜枣疫认湾廷偶戮竟弊嘻螺饮焕糯雅叙添侍俄蓬蒸锡毙已坐缮织腐阅畜醚永封禽肾微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计湾廷偶戮竟弊嘻螺饮焕糯雅叙添侍俄蓬蒸锡毙已坐缮织腐阅畜醚永封举例例1、计算y=0+2+4+……+1998ydxax查找数组中是否由关键字, 有:变量dd11;dd2关键字偏移量无:变量dd10方法一、用loop指令 方法二、用loopnz(loopne)指令澎锻志薄茬晰四亭痞盼碘菠辞煤风窖誊簿啸豆岛阵澡肇躬釜燕叙铜秸宴锌微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计举例例1、计算y=0+2+4+……+1998澎锻志薄茬晰四亭Callproc1ret吹铲爸郁躁拢蛤闻釉茄抨稗既叭狭缘咬尤浚递海拢劳唬庆肖杯揪非蓉铺粗微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计Callproc1ret吹铲爸郁躁拢蛤闻釉茄抨稗既叭狭缘咬实现方法主程序有调用指令call子程序有返回指令ret特点Call指令与ret缺一不可现场保护入口出口参数设置栏害既挂院津筒得敏报哦耍训青藤聊萝罗尿豁裔钢靳凑褒躇嚏铣贫龚颜薪微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计实现方法栏害既挂院津筒得敏报哦耍训青藤聊萝罗尿豁裔钢靳凑褒躇举例 编写AX*10AX子程序腰垃掏亿榷格鲍唆储输南抒压澈纱志阴兔琵延低轿坯短爬诸营狭笺禾孔峙微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计举例腰垃掏亿榷格鲍唆储输南抒压澈纱志阴兔琵延低轿坯短爬诸营狭子程序编写1、子程序组成使用说明a、子程序功能b、使用寄存器情况c、入口出口参数程序体入口出口参数传递现场保护功能程序段呼赚靠经翻扦恫恩篡徒巩凌茨差棠翟您篙栅炒诸社逆帆帕鹃堰但露剥涸漓微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计子程序编写呼赚靠经翻扦恫恩篡徒巩凌茨差棠翟您篙栅炒诸社逆帆帕

;这是一个乘10子程序 ;使用寄存器AX ;入口:AX,出口:AX mul10 procfar pushbx ;保护现场 pushf

addax,ax ;2ax movbx,ax ;2axbx addax,ax ;4ax addax,ax ;8ax addax,bx ;10ax popf ;恢复现场 popbx ret mul10 endp功能程序段祟浩捕决磕剔幢穷寡颖息崎秸揽肪卤择沟柞轮图柏嵌迁剩含葱班和蚕肖苔微机原理与接口技术第2版第04章8086汇编语言程序设计微机原理与接口技术第2版第04章8086汇编语言程序设计 ;这是一个乘10子程序功能程序段祟浩捕决磕剔幢穷寡颖息2、现场保护和入口出口参数传递(1)、现场保护方案一:在子程序中保护灵活,不方便方案二:在主程序中保护方便,不灵活(2)、参数传递寄存器传

温馨提示

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

评论

0/150

提交评论