欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

汇编串操作程序设计 计算X+(Y-Z)=W

程序员文章站 2024-02-01 18:40:04
...

串操作程序设计
本文由黑龙江大学2017级提供

(有用记得点赞呦)

设X、Y、Z均为双精度数,它们分别存放在X、X+2、Y、Y+2、Z、Z+2存储单元中,存放时高位存高地址,低位存低地址,编写程序实现下面表达式的计算:X+(Y-Z)=W

 DATA      SEGMENT
               STRING1 DB 'The 1th string:','$'
               STRING2 DB 'The 1th string:','$'
               OLDS DB 10 DUP(?)
               NEWS DB 10 DUP(?)
               LEN DW 5 ;
               STR1 DB 'YES','$'
               STR2 DB 'NO','$'
DATA ENDS

CODE      SEGMENT
               ASSUME CS:CODE,DS:DATA
START:
               MOV  AX,DATA
               MOV  DS,AX
               MOV  ES,AX
               LEA     DX,STRING1
               MOV  AH,9
               INT    21H

               MOV  CX,LEN
               MOV  SI,0

AGAIN1:  MOV  AH,01H
               INT     21H
               MOV  OLDS[SI],AL
               INC     SI
               LOOP  AGAIN1
               MOV   AH,2
               MOV   DL,0AH
               INT      21H
               MOV   AH,2
               MOV   DL,0AH
               INT      21H
               LEA     DX,STRING2
               MOV  AH,9
               INT     21H

               MOV  CX,LEN
               MOV  DI,0

AGAIN2:  MOV   AH,01H
               INT     21H
               MOV   NEWS[DI],AL
               INC     DI
               LOOP  AGAIN2
               MOV   AH,2
               MOV   DL,0AH
               INT      21H
               MOV   AH,2
               MOV   DL,0DH
               INT      21H
               MOV   CX,LEN
               LEA      SI,OLDS
               LEA      DI,NEWS
               CLD
               REPZ    CMPSB
               JNE      NO

YES:         LEA      DX,STR1
               MOV    AH,09H
               int        21H
               JMP     FINAL

NO:         LEA      DX,STR2
               MOV    AH,09H
               INT      21H
               JMP      FINAL

FINAL:
               MOV AH,4CH
               INT 21H
CODE    ENDS
END      START