wufadeshou 发表于 2012-9-17 15:01:15

计算机三级PC技术上机问题

EXTRN      LOAD:FAR,SAVE:FAR
N      EQU         20
STAC   SEGMENT   STACK
         DB          128 DUP (?)
STAC   ENDS
DATA   SEGMENT
SOURCE   DB          N DUP(?)
RESULT   DB          N DUP(0)
NAME0    DB          'INPUT1.DAT',0
NAME1    DB          'OUTPUT1.DAT',0
DATA   ENDS
CODE   SEGMENT
         ASSUME   CS:CODE, DS:DATA, SS:STAC
START    PROC      FAR
         PUSH      DS
         XOR         AX,AX
         PUSH      AX
         MOV         AX,DATA
         MOV         DS,AX
         LEA         DX,SOURCE         ; 数据区起始地址
         LEA         SI,NAME0          ; 原始数据文件名
         MOV         CX,N            ; 字节数
         CALL      LOAD            ; 从 'INPUT.DAT'中读取数据
;**** BEGIN ****
         LEA         SI,SOURCE
         _____________________          ; ①
         __________________             ; ②
NEXT:      MOV      AL,
         CMP      AL,'0'
         JB         _______             ; ③
         __________________             ; ④
         JBE      ____                ; ⑤
         CMP      AL,'A'
         JB         INVALID
         CMP      AL, ____            ; ⑥
         JA         ____                ; ⑦
         ADD      AL,9
STRIP:   AND      AL,____             ; ⑧
INVALID:   MOV      ,AL
         ADD      SI,1
         ADD      DI,1
         LOOP       ____                ; ⑨
;****END****
         LEA         DX,RESULT         ; 结果数据区首址
         LEA         SI,NAME1          ; 结果文件名
         MOV         CX,N            ; 结果字节数
         CALL      SAVE            ; 保存结果到文件
         RET
START    ENDP
CODE   ENDS
         END         START

刚开始的这段代码EXTRN      LOAD:FAR,SAVE:FAR
N      EQU         20是干嘛的
还有这些代码DB前面的字符是干嘛用的小甲鱼好像没讲!!

SOURCE   DB          N DUP(?)
RESULT   DB          N DUP(0)
NAME0    DB          'INPUT1.DAT',0
NAME1    DB          'OUTPUT1.DAT',0还有谁那里有小甲鱼的那个指令查询金手指麻烦给下下载地址!

无星之夜 发表于 2012-9-17 15:37:14

整齐一点行不~

wufadeshou 发表于 2012-9-17 15:41:05

无星之夜 发表于 2012-9-17 15:37 static/image/common/back.gif
整齐一点行不~

DATA   SEGMENT
SOURCE   DB          N DUP(?)
RESULT   DB          N DUP(0)
NAME0    DB          'INPUT1.DAT',0
NAME1    DB          'OUTPUT1.DAT',0
DATA   ENDS
CODE   SEGMENT
         ASSUME   CS:CODE, DS:DATA, SS:STAC
START    PROC      FAR
         PUSH      DS
         XOR         AX,AX
         PUSH      AX
         MOV         AX,DATA
         MOV         DS,AX
         LEA         DX,SOURCE         ; 数据区起始地址
         LEA         SI,NAME0          ; 原始数据文件名
         MOV         CX,N            ; 字节数
         CALL      LOAD            ; 从 'INPUT.DAT'中读取数据
;**** BEGIN ****
         LEA         SI,SOURCE
         _____________________          ; ①
         __________________             ; ②
NEXT:      MOV      AL,
         CMP      AL,'0'
         JB         _______             ; ③
         __________________             ; ④
         JBE      ____                ; ⑤
         CMP      AL,'A'
         JB         INVALID
         CMP      AL, ____            ; ⑥
         JA         ____                ; ⑦
         ADD      AL,9
STRIP:   AND      AL,____             ; ⑧
INVALID:   MOV      ,AL
         ADD      SI,1
         ADD      DI,1
         LOOP       ____                ; ⑨
;****END****
         LEA         DX,RESULT         ; 结果数据区首址
         LEA         SI,NAME1          ; 结果文件名
         MOV         CX,N            ; 结果字节数
         CALL      SAVE            ; 保存结果到文件
         RET
START    ENDP
CODE   ENDS
         END         START

无星之夜 发表于 2012-9-17 15:44:32

N EQU 20就相当于N=20
extrn就是声明后面用到的那些符号在本模块中是没有定义的,就是说后面的变量在其他节区才有定义,后面的far说明远调用
db前面的东西是你自己定义的变量名(不完全等同传统的变量名,相当于把当前这个内存地址给了个名字)

hour6689 发表于 2012-9-17 17:05:17

SOURCE   DB          N DUP(?)            定义N个?
RESULT   DB          N DUP(0)            定义N个0
NAME0    DB          'INPUT1.DAT',0   NAME0含有
NAME1    DB          'OUTPUT1.DAT',0 NAME1含有
N      EQU         20                         N=20

梦想与现实 发表于 2012-9-17 19:14:55

What hell is this!

Ben 发表于 2012-9-21 00:13:42

看看南开上机软件吧

阔怀 发表于 2015-8-20 16:22:53

{:1_1:}
页: [1]
查看完整版本: 计算机三级PC技术上机问题