注册 登录
编程论坛 汇编论坛

汇编显示字符求助。

TaNgKii 发布于 2011-11-04 10:26, 609 次点击
计算Z=5X+3Y+10
代码如下:
DATA SEGMENT
X DB 15
Y DB 20
Z DW ?
DATA ENDS
CODE SEGMENT
     ASSUME CS:CODE,DS:DATA
 MAIN PROC FAR
 START:
       PUSH DS
       MOV AX,0
       PUSH AX
       MOV AX,DATA
       MOV DS,AX
       MOV AL,5
       MUL X
       MOV BX,AX
       MOV AL,3
       MUL Y
       ADD AX,BX
       ADD AX,10
       MOV Z,AX   ;    结果保存在Z里
       RET
 MAIN ENDP
 CODE ENDS
      END START
想通过
MOV AH,09H
INT 21H
想显示计算结果Z,可是用        AH=09H  DOS    功能那个'$'字符怎么加到计算结果Z后呢??
2 回复
#2
李尸尸2011-11-10 00:43
应该是这样
DATA SEGMENT
X DB 15 DUP(0),'$'
Y DB 20 DUP(0),'$'
Z DW DUP(?),'$'
DATA ENDS
CODE SEGMENT
     ASSUME CS:CODE,DS:DATA
START: PUSH DS
       MOV AX,0
       PUSH AX
       MOV AX,DATA
       MOV DS,AX
       MOV AL,5
       MUL X
       MOV BX,AX
       MOV AL,3
       MUL Y
       ADD AX,BX
       ADD AX,10
       MOV Z,AX
       MOV DX,OFFSET Z
       MOV AH,09H
       INT 21H
       MOV AH,4CH
       INT 21H
       RET
CODE ENDS
      END START


就是这样用的,但是你确定你写的源代码是正确的么?反正我用dos是没运行成功..........
改改你的源代码吧,我也是初学者,只是会用调用而已.........要是明天有时间,我重写源代码


[ 本帖最后由 李尸尸 于 2011-11-10 13:05 编辑 ]
#3
chenwei4352011-11-10 10:28
程序代码:

DATA SEGMENT
X DB 15
Y DB 20
Z Dw 3 dup (?)
DATA ENDS
CODE SEGMENT
     ASSUME CS:CODE,DS:DATA
MAIN PROC FAR
START:
       PUSH DS
       MOV AX,0
       PUSH AX
       MOV AX,DATA
       MOV DS,AX
       MOV AL,5
       MUL X
       MOV BX,AX
       MOV AL,3
       MUL Y
       ADD AX,BX
       ADD AX,10
       MOV Z,AX   ;    结果保存在Z里
       mov ax,'$'
       mov [z+2],ax
        mov ax,30h
       add [z],ax
       mov dx,z
       mov ah,09h
       int 21h
       mov ah,04h
       int 21h
MAIN ENDP
CODE ENDS
      END STARt


[ 本帖最后由 chenwei435 于 2011-11-10 10:29 编辑 ]
1