您的位置:首页 > 编程语言

汇编编程问题:X + Y + Z => 显示

2016-01-25 11:49 267 查看
汇编编程问题,具体是这样:
1 输入 X,Y,Z 三个数;
2 使三个数相加;
3 显示相加结果。
悬赏分:50 | 解决时间:2011-6-26 00:20
;==============================================
最佳答案:
;X + Y + Z = 显示
;----------------------------------------------
DATA  SEGMENT          ;数据段
  MSG DB  13, 10, 'Please Input : $'
    x DW  0
    y DW  0
    z DW  0
DATA  ENDS
;----------------------------------------------
CODE   SEGMENT         ;代码段
    ASSUME   CS: CODE, DS: DATA
START:
    MOV  AX, DATA
    MOV  DS, AX
    MOV  DX, OFFSET MSG
    MOV  AH, 9
    INT  21H
_INX:
    MOV  AH, 1         ;输入字符.
    INT  21H
    CMP  AL, 30H
    JB   _INX
    CMP  AL, 3AH
    JNB  _INX
    SUB  AL, 30H
    MOV  AH, 0
    MOV  x,  AX
    CALL OUT_0D0A
    MOV  DX, OFFSET MSG
    MOV  AH, 9
    INT  21H
_INY:
    MOV  AH, 1         ;输入字符.
    INT  21H
    CMP  AL, 30H
    JB   _INY
    CMP  AL, 3AH
    JNB  _INY
    SUB  AL, 30H
    MOV  AH, 0
    MOV  y,  AX
    CALL OUT_0D0A
    MOV  DX, OFFSET MSG
    MOV  AH, 9
    INT  21H
_INZ:
    MOV  AH, 1         ;输入字符.
    INT  21H
    CMP  AL, 30H
    JB   _INZ
    CMP  AL, 3AH
    JNB  _INZ
    SUB  AL, 30H
    MOV  AH, 0
    MOV  z,  AX
    ADD  AX, x
    ADD  AX, y
    PUSH AX
    CALL OUT_0D0A
    POP  AX
    CALL PRINTAX
EXIT:   
    MOV  AH, 4CH
    INT  21H
;------------------------------
PRINTAX PROC  
    MOV  BX, 10
    OR   AX, AX
    JZ   _0_
LOOP_P:
    XOR  DX, DX
    DIV  BX
    MOV  CX, AX     ;商
    OR   CX, DX
    JZ   _E_       
    PUSH DX  
    CALL LOOP_P
    POP  DX        
    ADD  DL, '0'   
    JMP  _1_
_0_:MOV  DL, '0' 
_1_:CALL PUTC
_E_:RET
PRINTAX ENDP
;------------------------------
PUTC  PROC 
    MOV  AH, 2
    INT  21H
    RET
PUTC  ENDP
;------------------------------
OUT_0D0A  PROC      ;回车换行.
    MOV  DL, 13
    CALL PUTC
    MOV  DL, 10
    CALL PUTC
    RET
OUT_0D0A ENDP
;------------------------------
CODE  ENDS
    END  START
;==============================================
原题网址:http://zhidao.baidu.com/question/283260814.html
回答时间:2011-6-25 23:15
回答者: 做而论道 | 十五级采纳率:43%
提问者对于答案的评价:万分感谢!
;==============================================
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: