DATA SEGMENT
SUM DW 0
DATA ENDS
STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME DS:DATA,SS:STACK,CS:CODE
START: MOV AX,DATA
MOV DS,AX
MOV CX,50
MOV AX,0
MOV BX,1
NEXT: ADD AX,BX
INC BX
INC BX
DEC CX
JNE NEXT
MOV SUM,AX
MOV AH,4CH
INT 21H
CODE ENDS
END START
编译 链接生成了obj和exe文件,但执行后没有结果
------解决方案--------------------------------------------------------
;-------------------------------------------------------;
;Show the AX value by Hex. ;
;Input : AX = Value to show ;
;Output : none ;
;-------------------------------------------------------;
ShowAXHex PROC NEAR
push ax
mov al, ah
call ShowALHex ;Show High Byte
pop ax ;Show Low Byte
ShowALHex::
push ax
shr al, 4
call ShowNibbleHex
pop ax
ShowNibbleHex::
and al, 0Fh
add al, 30h
cmp al, 3Ah
jc short @f ;0~9 (30h~39h)
add al, 7 ;A~F (41h~46h)
@@:
call BIOS_Display_Char
ret
ShowAXHex ENDP
;-------------------------------------------------------;
;Display a character to screen ;
;Input : ;
; AL = Character Code ;
;Output : ;
; none ;
;-------------------------------------------------------;
BIOS_Display_Char PROC NEAR PUBLIC
push ax
push bx
mov ah, 0Eh
mov bx, 000Fh
int 10h ;VBIOS write TTY
pop bx
pop ax
ret
BIOS_Display_Char ENDP
把上面的代码加到End start前面;然后在MOV SUM,AX 后面加一句代码 call ShowAXHex就会有结果显示出来了
------解决方案--------------------------------------------------------
能看到啊!--只不向屏幕输出罢了...
-u
0B70:0000 B8620B MOV AX,0B62
0B70:0003 8ED8 MOV DS,AX
0B70:0005 B93200 MOV CX,0032
0B70:0008 B80000 MOV AX,0000
0B70:000B BB0100 MOV BX,0001
0B70:000E 03C3 ADD AX,BX
0B70:0010 43 INC BX
0B70:0011 43 INC BX
0B70:0012 49 DEC CX
0B70:0013 75F9 JNZ 000E
0B70:0015 A30000 MOV [0000],AX
0B70:0018 B44C MOV AH,4C
0B70:001A CD21 INT 21
0B70:001C 91 XCHG CX,AX
0B70:001D 2E CS:
0B70:001E A14A91 MOV AX,[914A]
-g cs:18
AX=09C4 BX=0065 CX=0000 DX=0000 SP=00C8 BP=0000 SI=0000 DI=0000
DS=0B62 ES=0B52 SS=0B63 CS=0B70 IP=0018 NV UP EI PL ZR NA PE NC
0B70:0018 B44C MOV AH,4C
-d ds:0 3
0B62:0000 C4 09 00 00 ....
-
09C4H=2500D 啊
------解决方案--------------------------------------------------------
DATA SEGMENT
SUM DW 0,'$'
DATA ENDS
STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME DS:DATA,SS:STACK,CS:CODE
START: MOV AX,DATA
MOV DS,AX
MOV CX,50
MOV AX,0
MOV BX,1
NEXT: ADD AX,BX
INC BX
INC BX
DEC CX
JNE NEXT
MOV SUM,AX
MOV AH, 09H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
------解决方案--------------------------------------------------------
;求奇数和,这样就完整了。
DATA SEGMENT
SUM DW 0
DATA ENDS
STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME DS:DATA,SS:STACK,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
MOV CX,50
MOV AX,0
MOV BX,1
NEXT:
ADD AX,BX
INC BX
INC BX
DEC CX
JNE NEXT
MOV SUM,AX