欢迎来到天天文库
浏览记录
ID:50454996
大小:342.50 KB
页数:61页
时间:2020-03-09
《微型计算机原理与汇编语言程序设计 曲凤娟 第6章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章汇编语言程序设计本章内容提示讲述汇编语言程序设计的基本步骤、基本结构及各种结构程序的设计方法6.1汇编语言程序设计基本方法和基本步骤6.2算术运算类指令6.3逻辑运算与移位类指令6.4顺序程序的结构形式和程序设计6.1汇编语言程序设计基本方法和基本步骤6.1.1汇编语言程序设计基本步骤6.1.2结构化程序的概念6.1.3流程图画法规定返回本章首页6.1.1汇编语言程序设计的一般步骤1.分析问题2.确定算法或解题思想3.绘制流程图和结构图4.分配存储空间和工作单元5.编制程序6.程序静态检查7.上机调试返回本节6.1.2
2、结构化程序的概念程序的设计、编写和测试采用规定的组织形式,使程序结构清晰,易读,易调试和修改基本结构:顺序、分支(选择)和循环每一个结构只有一个入口和一个出口3种结构任意组合和嵌套就构成结构化程序1)顺序结构按照语句的先后次序执行一系列操作2)选择结构(条件选择结构)根据条件判断选择执行不同的程序段双分支结构和多分支结构3)循环结构重复执行操作,直到条件出现为止循环的继续由条件判断决定,选择结构的扩展6.1.3流程图画法规定1.流程图由特定的几何图形、指向线、文字说明来表示数据处理的步骤,形象描述逻辑控制结构以及数据流程的示
3、意图。2.流程图符号表示(1)起止框(2)判断框(3)处理框(4)调用框(5)指向线(6)连接框6.2算术运算类指令6.2.1加法类指令6.2.2减运算指令6.2.3乘运算指令6.2.4除运算指令6.2.5BCD码调整指令6.2.1加法指令1、不带进位加法指令ADD2、带进位加指令ADC3、加1指令INC1、不带进位加指令ADD语句格式:ADDDST,SRC(DST)+(SRC)→DST。2、带进位加法指令ADC格式:ADCDST,SRC(DST)+(SRC)+CF→DST。【例】无符号双字加法运算。MOVAX,4652H;
4、(AX)=4652HADDAX,0F0F0H;(AX)=3742H,CF=1MOVDX,0234H;(DX)=0234HADCDX,0F0F0H;(DX)=0F325H,CF=03、加1指令INC语句格式:INCDST(DST)+1→DST。单操作数——寄存器或存储器单元可用于对计数器和地址指针进行调整。如:INCBX;即(BX)+1→BX。6.2.2减运算指令1、不带借位减法指令SUB2、带借位减指令SBB3、减1指令DEC4、求补指令NEG5、比较指令CMP1、不带借位减法指令SUB格式:SUBDST,SRC(DST)-
5、(SRC)→DST【例】减法运算。MOVAX,5678H;(AX)=5678HSUBAX,1234H;(AX)=4444HMOVBX,3354H;(BX)=3354HSUBBX,3340H;(BX)=0014H2、带借位减指令SBB格式:SBBDST,SRC(DST)―(SRC)―CF→DST主要用于多精度数据运算3、减1指令DEC格式:DECDST(DST)-1→DST。单操作数——寄存器或存储器单元一般用于对计数器和地址指针的调整。如:DECCXDEC[SI]4、求补指令NEG格式:NEGDST将DST的逐位求反后加1,
6、结果仍在DST中。即0-(DST)→DST。【例】求补运算。MOVAX,0FF64HNEGAL;(AL)=9CHNEGAX;(AX)=009CH5、比较指令CMP格式:CMPOPD,OPS目的操作数减源操作数,根据结果设置标志位。【例】比较AL的内容与50的大小。CMPAL,50;(AL)-50JBBELOW;(AL)<50,转到BELOW处执行SUBAL,50;(AL)>=50,(AL)-50→ALINCAH;(AH)+1→AHBELOW:…6.2.3乘法运算指令1、无符号数乘法指令MUL2、有符号乘指令IMUL1、无符号
7、数乘法指令MUL格式:MULSRC字节乘法:(AL)*(SRC)→AX字乘法:(AX)*(SRC)→DX,AX【例】无符号数0A3H与11H相乘。MOVAL,0A3H;(AL)=0A3HMOVBL,11H;(BL)=11HMULBL;(AX)=0AD3H2、有符号乘指令IMUL格式:IMULSRC字节乘法:(AL)*(SRC)→AX字乘法:(AX)*(SRC)→DX、AX。除计算对象是带符号数外,其他约定同MUL,但计算结果不同。【例】有符号数0B4H与11H相乘。MOVAL,0B4H;(AL)=B4HMOVBL,11H;(
8、BL)=11HIMULBL;(AX)=0FAF4H6.2.4除运算指令1、无符号除指令DIV2、有符号除指令IDIV3、符号扩展指令1、无符号除指令DIV语句格式:DIVSRC字节除:(AX)/(SRC)→AL(商)、AH(余数)字除:(DX、AX)/(SRC)→AX(商)、DX(余数)【
此文档下载收益归作者所有