我有这个代码来获得我想要的结果,但我无法显示它。我是TASM的新手,所以我不知道如何使用。我查看了一些教程来显示结果但没有找到。请帮忙。
.model small .286 .stack 100h .data vector db 8,9,5,4,5,6,7 n db 7 ; dimensiunea vectorului scadere db ' ','$' ; suma elementelor .code mov AX,@data mov DS,AX xor SI,SI xor CX,CX ; ne asiguram ca CX are valoarea 0 mov CL,n ; copiem in CL dimensiunea vectorului repeat: ; definim eticheta mov AL,vector[SI] sub scadere,AL inc SI ; marim valoarea din SI cu 1 pentru a trece la elementul urmator loop repeat ; salt la eticheta cat timp CX diferit de 0 mov AX,4c00h int 21h end
答案 0 :(得分:0)
您没有输出结果。
尝试
.model small
.286
.stack 100h
.data
vector db 8,9,5,4,5,6,7
n db 7 ; dimensiunea vectorului
scadere db 'z',13,10,'$' ; suma elementelor+CR+LF
.code
mov AX,@data
mov DS,AX
xor SI,SI
xor CX,CX ; ne asiguram ca CX are valoarea 0
mov CL,n ; copiem in CL dimensiunea vectorului
repeat: ; definim eticheta
mov AL,vector[SI]
sub scadere,AL
inc SI ; marim valoarea din SI cu 1 pentru a trece la elementul urmator
MOV DX,OFFSET SCADERE ;^message
MOV AH,9 ;Dos function 9 = output until '$'
INT 21H ;execute DOS function
loop repeat ; salt la eticheta cat timp CX diferit de 0
MOV DX,OFFSET SCADERE ;^message
MOV AH,9 ;Dos function 9 = output until '$'
INT 21H ;execute DOS function
mov AX,4c00h
int 21h
end
这应该会告诉你。
有一个有用的DOS functions here.
列表我已将scadere
更改为'z'
,因为您正在减去因此应显示
'z'(7A) - 8 = 'r'
(72)
'r'(72) - 9 = 'i'
(69)
'i'(69) - 5 = 'd'
(64)
'd'(64) - 4 = ''
(60)......
将13,10添加到scadere
应生成换行符。