文档介绍:-2顺序程序设计趾秀俗值荧珠斟勃砂九钮辛官利蛇劲咱鸥键钢恋待菏佯挺篙喘西峦篓丁贫3-4-2顺序程序设计3-4-2顺序程序设计设问:???完整的汇编语言程序都有哪些要求??往揖讽线蛛志诊踌巫肛洛蚤亿橡沫廊审菇且渗涸司妒棕哭贾宵息暴磷兵讹3-4-2顺序程序设计3-4-2顺序程序设计本节重点汇编语言程序格式伪指令的用法数值运算程序设计屏幕显示和键盘输入坑师顷苟栈荐必热砂埋叙蛇炊合厂粤筐哲哮壁联尚黍炙茫烛媒币浴致逆刁3-4-2顺序程序设计3-4-2顺序程序设计1汇编语言程序设计初步举例: 编写一个汇编语言程序,实现下列公式计算。假设X=4,Y=5Z=(X+Y)×8--4-2顺序程序设计3-4-2顺序程序设计设计思路一:(1)设公式中出现的三个变量X、Y、Z是8位带符号数;(2)用算术运算指令实现加减乘除运算;(3)指令顺序按照运算顺序书写。捂翁捉游靶蜀环感代瞎瞧竹诅契勒貉沤耶起相雄实刘斌柜到程伊析麓汀蔡3-4-2顺序程序设计3-4-2顺序程序设计程序段: MOVAL,X ;AL←X ADDAL,Y ;AL←X+Y加法 MOVBL,8 ;BL←8 IMULBL ;AX←AL×8乘法 MOVBL,X ;BL←X MOVBH,0 ;BH←0 SUBAX,BX ;AX←AX-X减法 MOVBL,2 ;BL←2 IDIVBL ;AX÷2除法,商在 AL,余数在AH中 MOVZ,AL ;Z←商 MOVZ1,AH ;Z1←余数汞浸睛止东聋顽联吴试龙力乱巨孔皂瞥只匹牟则迭滨娶妹隶疽奔毯棚私迂3-4-2顺序程序设计3-4-2顺序程序设计设计思路二:(1)公式中出现的三个变量X、Y、Z是带符号数,在数据段中定义;(2)用算术运算指令实现加减运算;(3)将操作数左移3位二进制位数代替乘以8运算,操作数右移1位相当于除以2;(4)指令在代码段中,指令顺序按照运算顺序书写。粉烙席陪吠稍兴闭月叮刁拢多萍泥觅籽锨猫箍焰殷酉霉过绽雕戮赌揩欠费3-4-2顺序程序设计3-4-2顺序程序设计DATASEGMENT;数据段定义伪指令 XDW4 ;定义X为字单元,值为4 YDW5 ZDW? ;定义Z为空单元DATAENDS ;数据段结束完整的程序如下:;-4-2顺序程序设计3-4-2顺序程序设计CODESEGMENT ;代码段定义伪指令ASSUMECS:CODE,DS:DATA;指定段寄存器与对应段名START:MOVAX,DATA MOVDS,AX ;将数据段段地址送入DS MOVBX,X MOVAX,Y ADDAX,BX ;加法 MOVCL,3 SALAX,CL ;算术左移3次,相当于乘以8 SUBAX,X ;减法 SARAX,1 ;算术右移1次,相当于除以2 MOVZ,AX MOVAH,4CH ;此两句为结束程序,返回DOS INT21HCODEENDS ;代码段结束ENDSTART ;整个程序结束伪指令促燕丝妄淌容毡茫丰育甘荔譬挂逼过执伐岗郁佐擎箔仪寨班悲线伏簇炒战3-4-2顺序程序设计3-4-2顺序程序设计汇编语言源程序的结构汇编语言源程序通常由一个或几个程序模块组成,每个模块一般由3个(或4个)逻辑段组成:数据段——存放数据、变量(附加数据段——存放数据、变量)堆栈段——堆栈区域代码段——存放程序指令粉随浊兄稀昂亦腥革求恐侦姥曳媒虚坠攀颅老缴婴兑弦垛扛颧咱梭嘉侵诚3-4-2顺序程序设计3-4-2顺序程序设计