Перекодирование текстового файла

Автор: Пользователь скрыл имя, 02 Мая 2012 в 17:54, курсовая работа

Краткое описание

Целью создания программного продукта данной курсовой работы является изучение принципов работы резидентных программ, строения и управления памятью, взаимодействия с аппаратными средствами персонального компьютера.

Оглавление

1 ТЕХНИЧЕСКОЕ ЗАДАНИЕ 5
1.1 Введение 5
1.2 Основания для разработки 6
1.3 Назначение разработки 6
1.3.1 Функциональное и эксплуатационное назначение изделия 6
1.3.2 Перечень требований пользователя к программному продукту 7
1.3.3 Рассмотренные альтернативы 7
1.4 Требования к программе или программному изделию 7
1.4.1 Стандарты 7
1.4.2 Требования к составу и параметрам технических средств 7
1.4.3 Требования к информационной и программной совместимости 8
1.4.4 Требования к функциональным характеристикам 8
1.4.5 Результирующие компоненты изделия 9
1.4.6 Носители информации 9
1.4.7 Безопасность и секретность 9
1.4.8 Рестарт 9
1.4.9 Удобства эксплуатации 9
1.4.10 Мобильность 10
1.5 Требования к программной документации 10
1.6 Стадии и этапы разработки 11
1.7 Порядок контроля и приемки 11
2 ТЕХНИЧЕСКИЙ ПРОЕКТ 12
2.1 Анализ области 12
2.2 Структура программы 12
2.2.1 Модуль cur.asm 12
3 РАБОЧИЙ ПРОЕКТ 15
3.1 Введение 15
3.2 Назначение разработки 15
3.3 Требования к программе или программному изделию 15
3.3.1 Стандарты 15
3.3.2 Требования к составу и параметрам технических средств 15
3.3.3 Требования к информационной и программной совместимости 16
3.3.4 Результирующие компоненты изделия 16
3.3.5 Безопасность и секретность 16
3.3.6 Рестарт 16
3.4 Описание модуля cur.asm 17
3.4.1 Структура модуля 17
3.4.2 Описание подпрограмм 18
3.5 Тестирование 21
3.5.1 Цель испытаний 21
3.5.2 Тесты 22
Список использованных источников 24
Приложения 25

Файлы: 1 файл

курсовик Перекодирование текстового файла.doc

— 290.00 Кб (Скачать)

     28                  022F  B0 FF                                                        mov al,0FFh

     29                  0231  CF                                                        iret

     30                  0232                                          out_2Fh:

     31                  0232  2E: FF 2E 0103r                            jmp cs:old_2Fh

     32                  0237  CF                                                        iret

     33                  0238                                          uninstall:

     34                  0238  1E                                                        push ds

     35                  0239  06                                                        push es

     36

     37                  023A  B8 2560                                          mov ax,2560h

     38                  023D  2E: C5 16 0107r                            lds dx,cs:old_60h

     39                  0242  CD 21                                                        int 21h

     40

     41                  0244  B8 252F                                          mov ax,252Fh

     42                  0247  2E: C5 16 0103r                            lds dx,cs:old_2Fh

     43                  024C  CD 21                                                        int 21h

     44

     45                  024E  2E: 8E 06 002C                            mov es,cs:2ch

     46                  0253  B4 49                                                        mov ah,49h

     47                  0255  CD 21                                                        int 21h

     48

     49                  0257  0E                                                        push cs

     50                  0258  07                                                        pop es

     51                  0259  B4 49                                                        mov ah,49h

     52                  025B  CD 21                                                        int 21h

     53                  025D  07                                                        pop es

     54                  025E  1F                                                        pop ds

     55

     56                  025F  CF                                                        iret

_Turbo Assembler              Version 4.1                  20/12/10 12:28:19                  Page 2

arrays.ASM

 

 

 

     57                                                                      ;new_2Fh endp

     58                  0260                                          asmb:

     59                  0260  FA                                                        cli

     60                  0261  9C                                                        pushf

     61

     62                  0262  60                                                        pusha

     63                  0263  1E                                                        push ds

     64                  0264  06                                                        push es

     65

     66                                                                      ;блок анализа командной строки

     67                  0265  33 F6                                          XOR SI,SI

     68                  0267  33 FF                                          XOR DI,DI

     69                  0269  B2 01                                          MOV DL,1

     70                  026B                                          LOO:

     71                  026B  80 BC              0081 0D                            CMP BYTE PTR [81H+SI],0dh

     72                  0270  74 1E              90 90                            JZ NO_PAR

     73                  0274  8A 84              0081                            MOV AL,[81H+SI]

     74                  0278  3C 20                                          CMP AL,' '

     75                  027A  74 0B              90 90                            JZ SPACE

     76                  027E  32 D2                                          XOR DL,DL

     77                  0280  88 85              012Fr                            MOV [PATH+DI],AL

     78                  0284  47                                          INC DI

     79                  0285  EB 06                                          JMP SHORT L001

     80                  0287                                          SPACE:

     81                  0287  0A D2                                          OR DL,DL ;если              DL=0 тогда первый параметр закончился

     82                  0289  74 05              90 90                            JZ NO_PAR

     83                  028D                                          L001:

     84                  028D  46                                          INC SI

     85                  028E  EB DB                                          JMP SHORT LOO

     86                  0290                                          NO_PAR:

     87                  0290  0B F6                                          OR SI,SI ;был ли параметр

     88                  0292  75 0C              90 90                            JNZ CONT

     89                                                                      ;сообщение, затем выходим

     90                  0296  BA 010Br                            MOV DX,OFFSET TEXT1

     91                  0299  B4 09                                          MOV AH,9

     92                  029B  CD 21                                          INT 21H

     93                  029D  EB 7C              90                            JMP EXIT

     94                                                                      ;теперь открытие и преобразование файла

     95                  02A0                                          CONT:

     96                                                                      ;открыть файл

     97                  02A0  BA 012Fr                            LEA DX,PATH

     98                  02A3  B8 3D02                            MOV AX,3D02H

     99                  02A6  CD 21                                          INT 21H

    100                  02A8  73 0C              90 90                            JNC NORM

    101                  02AC  BA 011Dr                            MOV DX,OFFSET TEXT2

    102                  02AF  B4 09                                          MOV AH,9

    103                  02B1  CD 21                                          INT 21H

    104                  02B3  EB 66              90                            JMP EXIT

    105                  02B6                                          NORM :

    106                  02B6  8B D8                                          MOV BX,AX

    107                  02B8  33 FF                                          XOR DI,DI ;в DI будет хранится              начало считываемого участка

    108                  02BA                                          POVT:

    109                                                                      ;читать участок файла в буфер

    110                  02BA  BA 017Fr                            LEA DX,BUF

    111                  02BD  B9 00A0                            MOV CX,160 ;размер буфера

    112                  02C0  CD 21                                          INT 21H

    113                  02C2  8A E0                                          MOV AH,AL

_Turbo Assembler              Version 4.1                  20/12/10 12:28:19                  Page 3

arrays.ASM

 

 

 

    114                  02C4  BE 017Fr                            LEA SI,BUF

    115                  02C7  3C 00                                          CMP AL,0

    116                                                                      ;просматриваем              буфер и              преобразуем латинский шрифт

    117                  02C9                                          L02 :

    118                  02C9  74 18              90 90                            JZ ZER

    119                  02CD  80 3C              61                            CMP BYTE PTR [SI],97

    120                  02D0  72 0C              90 90                            JB L01

    121                  02D4  80 3C              7A                            CMP BYTE PTR [SI],122

    122                  02D7  77 05              90 90                            JA L01

    123                  02DB  80 2C              20                            SUB BYTE PTR [SI],32

    124                  02DE                                          L01:

    125                  02DE  46                                          INC SI

    126                  02DF  FE C8                                          DEC AL

    127                  02E1  EB E6                                          JMP SHORT L02

    128                  02E3                                          ZER:

    129                  02E3  50                                          PUSH AX

    130                                                                      ;перемещаем указатель файла назад

    131                  02E4  B8 4200                            MOV AX,4200H

    132                  02E7  33 C9                                          XOR CX,CX

    133                  02E9  BA 0000                            MOV DX,DI /указатель начала считанного              участка

**Error** arrays.ASM(129) Need expression

    134                  02EC  CD 21                                          INT 21H

    135                                                                      ; пишем буфер на диск

    136                                                                      ;количество записанных              байт может, вообще говоря,

    137                                                                      ;быть больше 160

    138                  02EE  C7 06              0000 0000              MOV АН,40Н

**Error** arrays.ASM(134) Too few operands to instruction

*Warning* arrays.ASM(134) Argument needs type override

    139                  02F4  8F 06              0000                            POP СХ

**Error** arrays.ASM(135) Too few operands to instruction

*Warning* arrays.ASM(135) Argument needs type override

    140                  02F8  8A CD                                          MOV CL,CH

    141                  02FA  32 ED                                          XOR CH,CH

    142                  02FC  BA 017Fr                            LEA DX,BUF

    143                  02FF  CD 21                                          INT 21H

    144                                                                      ;проверяем, не              достигнут ли конец файла

    145                  0301  58                                          POP AX

    146                  0302  8A C4                                          MOV AL,AH

    147                  0304  83 36              0000 00                            XOR АН,АН

**Error** arrays.ASM(143) Too few operands to instruction

*Warning* arrays.ASM(143) Argument needs type override

    148                  0309  83 C7              00                            ADD DI,АХ

**Error** arrays.ASM(144) Need address or register

    149                  030C  3C A0                                          CMP AL,160 ;сравниваем              с размером буфера

    150                  030E  74 AA                                          JZ POVT

    151                                                                      ;закрыть файл

    152                  0310  C7 06              0000 0000              MOV АН,ЗЕН

**Error** arrays.ASM(148) Too few operands to instruction

*Warning* arrays.ASM(148) Argument needs type override

    153                  0316  CD 21                                          INT 21H

    154                  0318  07                                                        pop es

    155                  0319  1F                                                        pop ds

    156                  031A  61                                                        popa

    157                  031B  FB                                          exit:              sti

    158                  031C  CF                                                        iret

    159

    160                  031D                                          main endp

_Turbo Assembler              Version 4.1                  20/12/10 12:28:19                  Page 4

arrays.ASM

 

 

 

    161                              =021D                                          size=$-main

*Warning* arrays.ASM(157) Reserved word              used as              symbol:              SIZE

    162                  031D  52 65              73 69 64 65 6E+              msg1 db 'Resident is load',10,13,'$'

    163                              74 20              69 73 20 6C 6F+

    164                              61 64              0A 0D 24

    165                  0330  52 65              73 69 64 65 6E+              msg3 db 'Resident is unload',10,13,'$'

    166                              74 20              69 73 20 75 6E+

    167                              6C 6F              61 64 0A 0D 24

    168                  0345                                          iniz proc

    169                  0345  0E                                                        push cs

    170                  0346  1F                                                        pop ds

    171                  0347  B8 C800                                          mov ax,0c800h

    172                  034A  CD 2F                                                        int 2Fh

    173                  034C  3C FF                                                        cmp al,0FFh

    174                  034E  74 3A              90 90                                          jz installed

    175

    176                  0352  B8 352F                                          mov ax,352Fh

    177                  0355  CD 21                                                        int 21h

    178                  0357  89 1E              0103r                                          mov word ptr old_2Fh,bx

    179                  035B  8C 06              0105r                                          mov word ptr old_2Fh[2],es

    180

    181                  035F  B8 252F                                          mov ax,252fh

Информация о работе Перекодирование текстового файла