例1.编写程序,求 (X+Y)(X-Y)/Z,设X,Y均为一个8位无符号数,运算不考虑溢出

时间:2021-09-08 12:52:04

1.编写程序,求 (X+Y)(X-Y)/Z ,设XY均为一个8位无符号数,运算不考虑溢出。

 

DSEG SEGMENT
DATX DB 10   ;假定X为80
DATY DB 5   ;定义主Y的值
DATZ DB 5   ;定义Z的值
DATW DB ?   ;定义保存计算结果的存储单元
DSEG ENDS

STEG SEGMENT PAPA 'STACK'
DW 20H DUP(0)
STEG ENDS

CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG,SS:STEG
BEGIN:MOV AX,DSEG
     MOV DS,AX
     MOV AL,DATX ;取X
     ADD AL,DATY ;计算(X+Y)→(AL)
     MOV BL,DATX ;取X
     SUB BL,DATY ;计算(X-Y)→(BL)
          MUL BL  ;计算(X+Y)(X-Y)→(AX)
     MOV CL,DATZ ;取Z
     DIV CL   ;计算(X+Y)(X-Y)/Z
     MOV DATW,AL ;保存结果
     MOV AH,4CH  ;返回DOS
     INT 21H
CSEG ENDS
   END BEGIN