| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1010 人关注过本帖
标题:8088汇编出错
只看楼主 加入收藏
bdrdc
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-2-8
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
8088汇编出错
我在编译SCB-1单板计算机与PC机通讯的程序时出现问题(见程序)程序来源于SCB-1说明书的附录。使用masm for windows 2009.7集成实验共享版。烦请各位老师给予指正。问题出在哪。谢谢
;TRANSLATE FLLES
STACK       SEGMENT PARA STACK 'STACK'
            DB 256 DUP (0)
STACK        ENDS
DATA         SEGMENT PARA PUBLIC 'DATA'
PCB          DB 37 DUP (0)
DTA          DB 256 DUP (0)
COUNT        DB 0
INMSG        DB 'INPUT FILENAME;',10,13,'$'
ERRMSG       DB 'PILE ACESS ERROR !',10,13,'$'
ERR          DB 'INPUT ERROR ! $'
COMERR       DB 'TRANSMITTING ERROR!',10,13,'$'
DATA         ENDS
CODE       SEGMENT PARA PUBLIC 'CODE'
START      PROC FAR
           ASSUME CS: CODE, DS: DATA
           ASSUME ES: DATA, SS: STACK
           PUSH DS
           MOV AX, 0
           PUSH AX
           MOV AX,DATA
     MOV ES,AX
    MOV DS,AX
    MOV DX,3FBH
    MOV AL,80H
    OUT DX,AL
    MOV DX,3F8H
    MOV AL,0CH
    OUT DX,AL
    MOV DX,3F9H
    MOV AL,0
    OUT DX,AL
    MOV DX,3FBH
    MOV AL,1BH
    OUT DX,AL
    MOV DX,3F9H
    MOV AL,0
    OUT DX,AL
    MOV DX,OFFSET DTA
    MOV AH,1AH
    INT 21H
;RECEIVER FILENAME PUT IT IN FCB
PLE:   CALL SETFCB
    MOV DX,OFFSET FCB     编译OBJ文件时提示FCB:符号没有定义
    MOV AH,0FH
    INT 21H
               CMP AL,0
    JNZ PLE
    MOV WORd PTr FCB+OCH,0;  编译OBJ文件时提示FCB:符号没有定义
    MOV WORd PTr FCB+OCH,1 ;编译OBJ文件时提示FCB:符号没有定义
    MOV FCB+20H,0
AGAIN2:  MOV CH,2
         MOV BH,0
AGAIN:   MOV DX,OFFSET FCB   编译OBJ文件时提示FCB:符号没有定义
    MOV AH,14H
    INT 21H
    CMP AL,0
    JNZ ERROR
    MOV AL,DTA
    CMP AL,1AH
    JZ EOF
    CALL DISPCHAR
    CMP AL,40H
    JC SMALL
    SUB AL,55
    JMP ROT
SMALL: SUB AL,48
ROT:    DEC CH
    JZ ATOB
    MOV BH,AL
    JMP AGAIN
ATOB:   CALL BCD
;    CALL DISPCHAR
SEND:   MOV DX,3FDH
    IN AL,DX
    TEST AL,20H
    JZ SEND
    MOV DX,3F8H
    MOV AL,BH
    OUT DX,AL
;CALL DISPCHAR
    JMP AGAIN2
CERR:    MOV DX,OFFSET COMERR
    MOV AH,10H
    INT 21H
    RET
ERROR:  MOV DX,OFFSET ERRMSG
    MOV AH,9
    INT 21H
    RET
EOF:    MOV DX,OFFSET FCB      ;编译OBJ文件时提示FCB:符号没有定义
    MOV AH,10H
    INT 21H
GOBACK: RET
START ENDP
SETFCB  PROC NEAR
STA:         MOV DX,OFFSET INMSG
                MOV AH,9
                INT 21H
    MOV AH,1
    INT 21H
    CMP AL,'A'
    JZ X1
    CMP AL,'B'
    JZ X1
    CMP AL,'C'
    JZ X1
    CMP AL,'D'
    JZ X1
    JMP TEST1
X1:          SUB AL,40H
    MOV FCB+00H,AL     ;编译OBJ文件时提示FCB:符号没有定义
    JMP IN          ;编译OBJ文件时提示 IN:语法错误
TEST1:  CMP AL,'a'
    JZ X2
    CMP AL,'b'
    JZ X2
    CMP AL,'c'
    JZ X2
    CMP AL,'d'
    JZ X2
    JMP USED
ERROR1: MOV DX,OFFSET ERR
                MOV AH,9
    INT 21H
    JMP STA
X2:     SUB AL,60H
    MOV FCB+00H,AL      ;编译OBJ文件时提示FCB:符号没有定义
IN:     MOV AH,1     ;编译OBJ文件时提示MOV: 语法错误
    INT 21H
    CMP AL,':'
    JZ NAME          ;编译OBJ文件时提示NAME: 语法错误
USED:  MOV FCB+00H,00H   ;编译OBJ文件时提示FCB:符号没有定义
    JMP FIRST
NAME:   MOV COUNT,1
    MOV DI,OFFSET FCB+1    ;编译OBJ文件时提示FCB:符号没有定义
LOP:    MOV AH,1
    INT 21H
FIRST:  CMP AL, ','
    JNZ GOON
FC9:    CMP COUNT,9
    JNZ BLANK
    JMP SET1
BLANK:  MOV AL,' '
    STOSB
    INC COUNT
    JMP FC9
GOON:  CMP COUNT,9
    JZ ERROR1
    STOSB
    INC COUNT
    JMP LOP
SET1:  MOV AH,1
    INT 21H
    MOV FCB+9,AL          ;编译OBJ文件时提示FCB:符号没有定义
    MOV AH,1
    INT 21H
    MOV FCB+10,AL         ;编译OBJ文件时提示FCB:符号没有定义
    MOV AH,1
    INT 21H
    MOV FCB+11,AL          ;编译OBJ文件时提示FCB:符号没有定义
    MOV AL,0DH
    CALL DISPCHAR
    MOV AL,0AH
    CALL DISPCHAR
    RET
SETFCB ENDP   
;DISPLAY A WORD
 DISPCHAR         PROC NEAR
    PUSH BX
    MOV BX,0
    MOV AH,14
    INT 10H
    POP BX
    RET
DISPCHAR     ENDP
;CHANG ASCII TO BCD
BCD    PROC NEAR
    PUSH CX
    MOV CL,4
    XCHG AL,BH
    SAL AL,CL
    OR AL,BH
    MOV BH,AL
    POP CX
    RET
BCD        ENDP
CODE      ENDS
    END START
搜索更多相关主题的帖子: 汇编 
2010-02-08 15:51
bdrdc
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-2-8
收藏
得分:0 
在等待
2010-02-08 16:07
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:14 
有单片机版~
2010-02-08 21:44
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
PCB          DB 37 DUP (0)

FCB是什么啊~
2010-02-08 21:46
bdrdc
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-2-8
收藏
得分:0 
对china 说,对不起:本程序来自于SCB-1单板计算机与PC机的通讯程序,我只是照抄,FCB我也不知道,但编译时老是说FCB程序程序没有符号定义。
2010-02-12 15:41
bdrdc
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-2-8
收藏
得分:0 
哪位高手给看看,问题在哪
2010-02-13 08:27
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
以下是引用bdrdc在2010-2-13 08:27:25的发言:

哪位高手给看看,问题在哪

自己都说不明白 我们怎么知道啊

两种可能:

1 PCB          DB 37 DUP (0)  错了 是 FCB

2 你缺某个头文件~
2010-02-13 15:38
bdrdc
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-2-8
收藏
得分:0 
非常感谢,<china>非常感谢
但JMP IN          ;编译OBJ文件时提示 IN:语法错误我怎么也看不出来。
2010-02-21 15:29
快速回复:8088汇编出错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017242 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved