·第6章汇编语言程序设计 (5)指向线 (6)连接框
•第6章 汇编语言程序设计 (5)指向线 (6)连接框 返回本节
·第6章汇编语言程序设计 62顺序程序设计 下面举例说明顺序程序的设计。 【例61】试编写一程序计算以下表达式的值。 W=(v-(x*y+z-540))/x 式中x、y、z、v均为有符号字数据 设x、y、z、ⅴ的值存放在字变量Ⅹ、Y、Z、V中, 结果存放在双字变量W之中,程序的流程图如图61 所示。 返 页
•第6章 汇编语言程序设计 6.2 顺序程序设计 下面举例说明顺序程序的设计。 【例6.1】试编写一程序计算以下表达式的值。 w=(v-(x*y+z-540))/x 式中x、y、z、v均为有符号字数据。 设x、y、z、v的值存放在字变量X、Y、Z、V中, 结果存放在双字变量W之中,程序的流程图如图6.1 所示。 返回本章首页
·第6章汇编语言程序设计 开始 图 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 顺序运算程序流程图 结
• 第 6 章 汇编语言程序设计 • 图.61顺序运算程序流程图
·第6章汇编语言程序设计 源程序如下: 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
•第6章 汇编语言程序设计 源程序如下: 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
·第6章汇编语言程序设计 START MOV AX, DATA MOV DS,AX;DATA→→AX MOVAX, X 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) MOV AX, V
•第6章 汇编语言程序设计 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