計(jì)算機(jī)等級(jí)考試三級(jí)PC上級(jí)題精選21-30(8)
上機(jī)題之28以下內(nèi)容為程序代碼:
;* 請(qǐng)編制程序PROG1.ASM,其功能是:
;* 內(nèi)存中共有30個(gè)字節(jié)型數(shù)據(jù),找出其中的兩個(gè)ASCII字符串并進(jìn)
;* 行校驗(yàn)。欲尋找的ASCII字符串由13個(gè)字符組成: #(23H),7個(gè)ASCII
;* 字符,*(2AH),2個(gè)ASCII字符,回車符(0DH),換行符(0AH)。
;* 校驗(yàn)方法為: 對(duì)字符#及字符*之間的7個(gè)ASCII字符進(jìn)行異或操
;* 作, 若異或操作結(jié)果的`ASCII字符表示(異或操作結(jié)果高4位的ASCII
;* 字符表示在前, 低4位的ASCII字符表示在后)與原字符串中字符*之
;* 后的兩個(gè)ASCII字符相同, 則將原字符串原樣保存; 反之,則將原字
;* 符串中的所有字符(共13個(gè))均用字符!(21H)代替。
;* 例如:
;* 內(nèi)存中有 33H,35H,23H(’#’,第一個(gè)字符串開(kāi)始),46H,41H,30H,
;* 2EH,34H,3DH,31H,2AH(’*’),32H,31H,0DH,0AH,46H,23H(’#’,第二個(gè)
;* 字符串開(kāi)始), 46H,41H,30H,2EH,34H,3DH,30H,2AH(’*’),32H,31H,
;* 0DH,0AH,55H
;* 結(jié)果為 23H,46H,41H,30H,2EH,34H,3DH,31H,2AH(’*’),32H,
;* 31H(校驗(yàn)正確,該字符串原樣保持),0DH,0AH,21H,21H,21H,21H,21H,
;* 21H,21H,21H,21H,21H,21H,21H,21H(校驗(yàn)錯(cuò), 整個(gè)字符串用字符’!’
;* 代替)
;* 部分程序已給出, 其中原始數(shù)據(jù)由過(guò)程LOAD從文件INPUT1.DAT
;* 中讀入SOURCE開(kāi)始的內(nèi)存單元中。運(yùn)算結(jié)果要求從RESULT開(kāi)始存放,
;* 由過(guò)程SAVE保存到文件OUTPUT1.DAT中。
;* 填空BEGIN和END之間已給出的源程序使其完整(空白已用橫線標(biāo)
;* 出,每行空白一般只需一條指令, 但采用功能相當(dāng)?shù)亩鄺l指令亦可),
;* 或刪除BEGIN和END之間原有的代碼并自行編程來(lái)完成要求的功能。
;* 對(duì)程序必須進(jìn)行匯編,并與IO.OBJ鏈接產(chǎn)生PROG1.EXE執(zhí)行文件,
;* 最終運(yùn)行程序產(chǎn)生結(jié)果(無(wú)結(jié)果或結(jié)果不正確者均不得分)。調(diào)試中
;* 若發(fā)現(xiàn)整個(gè)程序中存在錯(cuò)誤之處, 請(qǐng)加以修改。
EXTRN LOAD:FAR,SAVE:FAR
N EQU 26
STAC SEGMENT STACK
DB 128 DUP (?)
STAC ENDS
DATA SEGMENT
SOURCE DB N+4 DUP(?)
RESULT DB N DUP(0)
HH DB 2 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 ; 數(shù)據(jù)區(qū)起始地址
LEA SI,NAME0 ; 原始數(shù)據(jù)文件名
MOV CX,N+4 ; 字節(jié)數(shù)
CALL LOAD ; 從 ’INPUT1.DAT’中讀取數(shù)據(jù)
; **** BEGIN ****
MOV SI,0
MOV DI,0
MOV BX,2 ; 兩個(gè)ASCII字符串
REPEAT: MOV AH,0
SEARCH: MOV AL,SOURCE[SI]
INC SI
CMP AL,’#’
jne search
;___ SEARCH
MOV RESULT[DI],AL
INC DI http://m.ardmore-hotel.com/
【計(jì)算機(jī)等級(jí)考試三級(jí)PC上級(jí)題21-30(8)】相關(guān)文章:
計(jì)算機(jī)等級(jí)考試三級(jí)PC上級(jí)題精選21-30(4)10-09
計(jì)算機(jī)等級(jí)考試三級(jí)PC上級(jí)題精選21-30(3)10-09
計(jì)算機(jī)等級(jí)考試三級(jí)PC上級(jí)題精選21-30(7)10-09
計(jì)算機(jī)等級(jí)考試三級(jí)PC上級(jí)題精選21-30(10)10-09
計(jì)算機(jī)等級(jí)考試三級(jí)PC上級(jí)題精選21-30(1)10-09
計(jì)算機(jī)等級(jí)考試三級(jí)PC上級(jí)題精選21-30(2)10-09
計(jì)算機(jī)等級(jí)考試三級(jí)PC上級(jí)題精選21-30(5)10-09