回 帖 发 新 帖 刷新版面

主题:我照书上抄的,咋通不过呢??

实现:C=A+B,设A,B,C均为字变量.
教材中的原代码:
DATA    SEGMENT
A    DW    2453H
B    DW    4336H     
C    DW    ?
DATA    ENDS

CODE    SEGMENT
    ASSUME    CS:CODE,DS:DATA
START:    MOV    AX,DATA
    MOV    DS,AX
    MOV    AX,A
    ADD    AX,B
    MOV    C,AX
    MOV    AH,4CH
    INT    21
CODE    ENDS
    END    START       


我用的是MASM6.11
错误提示是:
第4,13行错误.syntax error: c
谢了.

回复列表 (共3个回复)

沙发

最后的返回程序

MOV    AH,4CH
INT    21


请试着改成:

MOV AX,4C00H
INT 21H

板凳

用的是MASM6.11的话,不能这样写。这种格式是MASM5.0的!
应该这样写:
.386
.MODEL FLAT

ExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD

INCLUDE io.h            ; header file for input/output

cr      EQU     0dh     ; carriage return character
Lf      EQU     0ah     ; line feed

.STACK  4096            ; reserve 4096-byte stack

.DATA                   ; reserve storage for data
A       WORD    2453H
B       WORD    4336H

.CODE                           ; start of main program code
_start:
        MOV AX,A
        ADD AX,B
        INVOKE  ExitProcess, 0  ; exit with return code 0

PUBLIC _start                   ; make entry point public

END                             ; end of source code

3 楼

多谢两位回答,一楼的不行.

我来回复

您尚未登录,请登录后再回复。点此登录或注册