·第4章程序设计方法 (5)指向线 (6)连接框
•第4章 程序设计方法 (5)指向线 (6)连接框 返回本节
·第4章程序设计方法 4,2顺序程序设计 下面举例说明顺序程序的设计。 【例41】试编写一程序计算以下表达式的值。 W=(v-(x*y+z-540))/x 式中x、y、z、v均为有符号字数据。 设x、y、z、的值存放在字变量Ⅹ、Y、z、V中, 结果存放在双字变量W之中,程序的流程图如图41 所示。 页
•第4章 程序设计方法 4.2 顺序程序设计 下面举例说明顺序程序的设计。 【例4.1】试编写一程序计算以下表达式的值。 w=(v-(x*y+z-540))/x 式中x、y、z、v均为有符号字数据。 设x、y、z、v的值存放在字变量X、Y、Z、V中, 结果存放在双字变量W之中,程序的流程图如图4.1 所示。 返回本章首页
·第4章程序设计方法 开始 图 z*Y-→〔B:Q2) 将z扩展为双字→(DX:AX)4 〔:Q2)+酸:A)→〔B: ( BX: CX)-540-( BX: CX)+ 将V扩展成双字→〔Dx:AX) 〔BX:AX)(BX:级)→〔DX:AX) (Dx:Ax)区,其商→W,余数→W+2 顺序运算程序流程图 结
• 第 4 章 程序设计方法 • 图.41顺序运算程序流程图
·第4章程序设计方法 源程序如下: DATA SEGMENT X DW 200 Y DW 100 Z DW 3000 vDW10000 W DW 2 DUP(?) DATA ENDS STACK SEGMENT STACK DB 200 DUP (0) STACK ENDS CODE SEGMENT ASSUME DS: DATA, CS: CODE, SS: STACK
•第4章 程序设计方法 源程序如下: DATA SEGMENT X DW 200 Y DW 100 Z DW 3000 V DW 10000 W DW 2 DUP(?) DATA ENDS STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE,SS:STACK
·第4章程序设计方法 START MOV AX, DATA MOV DS,AX;DATA→AX MOV AX,Ⅹ IMULY ;(X)*(Y)→DX:AX MOV CX, AX MOV BX, DX: (DX: AX)-(BX: CX) MOVAX, Z cWD;(Z)符号扩展 ADD CX, AX ADC BX, DX: (BX: CX)+(DX: AX)-(BX: CX SUB CX, 540 SBB BX,0:(BX: CX)-540-(BX: CX) MOVAX, V
•第4章 程序设计方法 START: MOV AX,DATA MOV DS,AX ;DATA→AX MOV AX,X IMULY ;(X)*(Y)→DX:AX MOV CX,AX MOV BX,DX ;(DX:AX)→(BX:CX) MOV AX,Z CWD;(Z)符号扩展 ADD CX,AX ADC BX,DX ;(BX:CX)+(DX:AX)→(BX:CX) SUB CX,540 SBB BX,0 ;(BX:CX)-540→(BX:CX) MOV AX,V