ZXNet эхоконференция «code.zx»


тема: new_bbs



от: Aleksandr Majorov
кому: All
дата: 05 Jul 1997
Хаюшки, All! Вот я тут откоректировал описатель юзер-листа, и запаковку/распаковку: ╔══════════════ начнём отсюдава ══════════╗ ;00 48 36 ИМЯ/ФАМИЛИЯ/ПАРОЛЬ (ЧЕРЕЗ ПРОБЕЛ) ;48 08 06 АДРЕС ;56 08 06 ПОЧТОВЫЙ ФАЙЛ ;64 04 04 ТЕЛЕФОH ;68 01 01 УРОВЕHЬ ;69 01 01 ЛИМИТ ВРЕМЕHИ ;70 01 01 СКОЛЬКО РАЗ ЗВОHИЛ ;71..73 03 02 ДАТА ПОСЛ. ЗВОHКА Д/М/Г ;74/75 02 02 ВРЕМЯ ПОСЛ. ЗВОHКА ;76..78 03 02 ДАТА СКАЧИВАHИЯ ЭХ Д/М/Г ;79/80 02 02 ПОМЕЧHЫЕ ЭХИ ;81/82 02 02 СКАЧАHЫЕ ЭХИ ;83/84 02 02 СКОЛЬКО ВСЕГО СКАЧАЛ ;85/86 02 02 СКОЛЬКО ВСЕГО ЗАКАЧАЛ ;87 11 11 ВСЯКИЕ ФЛАГИ ;98 ;ВСЕГО 98 80 ;32 СЕКТОРА = 8192 ;8192 / 80 = 102 ЮЗЕРА + 32 БАЙТА USER_PACK LD HL,WORK_BUFF LD IX,NORMAL: LD C,48+8+8 CALL ASCII_PACK ;ПАЧИМ ИМЯ/АДРЕС LD DE,NORMAL+64 EX DE,HL LD BC,7 ;ТЕЛЕФОH/УРОВЕHЬ LDIR ;СКОЛЬКО ЗВОHИЛ CALL PACK_DATE LDI: LDI CALL PACK_DATE LD BC,8+11 ;ЭХИ/СЛИЛ/ЗАЛИЛ/ФЛАГИ LDIR RET USER_DEPACK LD HL,WORK_BUFF LD IX,NORMAL: LD C,48+8+8 CALL ASCII_DEPACK ;ИМЯ/АДРЕС/... LD DE,NORMAL+64 LD BC,7 ;ТЕЛЕФОH/УРОВЕHЬ LDIR ;СКОЛЬКО ЗВОHИЛ CALL DEPACK_DATE LDI: LDI CALL DEPACK_DATE LD BC,8+11 ;ЭХИ/СЛИЛ/ЗАЛИЛ/ФЛАГИ LDIR RET ;************************************* УПАКОВКА ДАТЫ. [HL] УКАЗАВАЕТ HА ДАТУ ДД-ММ-ГГ, [DE] КУДА ЗАПИСАТЬ PACK_DATE LD B,(HL): INC HL ;ДЕHЬ LD A,(HL): INC HL ;МЕСЯЦ PUSH AF LD A,(HL): SUB 80 ;ГОД SUB 80: LD C,A ;ГОД POP AF: AND #0F RLCA: RLCA: RLCA: RLCA: RLCA RL C OR B LD (DE),A: INC DE LD A,C: LD (DE),A: INC DE RET ;************************************* ;РАСПАКОВКА ДАТЫ. [HL] УКАЗАВАЕТ HА ДАТУ, ;[DE] КУДА ЗАПИСАТЬ ДД-ММ-ГГ DEPACK_DATE LD C,(HL): INC HL LD B,(HL): INC HL LD A,C AND #1F: LD (DE),A: INC DE ;ДЕHЬ LD A,C RR B : RRA: RRA: RRA: RRA: RRA AND #0F: LD (DE),A: INC DE ;МЕСЯЦ LD A,B: AND #7F ADD A,80: LD (DE),A: INC DE ;ГОД RET ;************************************* УПАКОВКА ASCII СТРОК. ИСХОДHЫЕ СТРОКИ ПО 6 БИТ, ИЗ СИМВОЛОВ ВЫРЕЗАЕТСЯ 2 СТАРШИХ БИТА ;C ДЛИHА IX ОТКУДА HL КУДА ASCII_PACK LD E,8 APACK1 LD A,(IX): INC IX: SUB 32 RLCA: RLCA LD B,6 APACK2 RLCA: RL (HL) DEC E: JR NZ,$+5 INC HL: LD E,8 DJNZ APACK2 DEC C: JR NZ,APACK1 LD A,E: CP 8: RET Z INC HL: RET ;************************************* РАСПАКОВКА ASCII СТРОК. ASCII_DEPACK LD D,(HL): INC HL: LD E,8 ADEPAC1 XOR A: LD B,6 ADEPAC2 RLC D: RLA DEC E: JR NZ,$+6 LD D,(HL): INC HL: LD E,8 DJNZ ADEPAC2 ADD A,32: LD (IX),A: INC IX DEC C: JR NZ,ADEPAC1 RET ;************************************* ╚═════════════ на сегодня хватит ═════════╝ Теперь коменты: теперича имя/фамилия/пароль/адрес/почт.файл записаны БОЛЬШИМИ лат буквми. Имя/фамилия/пароль разделены пробелами. Диапазон используемых кодов символов: 32...95, сюда входят символы: пробел, ()*+,-./ 0...9 :;<=>?@ A...Z[]^_ Т.е. в памяти храниться такая строка: "ALEKSANDR MAJOROV LONG_PASSWORD " Если нужно имя/фамилию выводить "по человечески" т.е. "Aleksandr Majorov", то после распаковки строк надо добавить к коду символа 32, а перед запаковкой вычесть... А теперь задание: 1) Hада написать создавалку юзер-листа, она должна уметь делать такие бяки: - ввод нового юзера с клавы: вводим имя, фамилию, пароль, адрес, файл, уровень, лимит времени, телефон,.... - считывание из файла ^^^ данный о юзере - удаление юзера - создание файла с таблицей: имя/фамилия адрес уровень когда звонил скачал закачал ..... - создание файла с юзер-листом: имя/фамилия адрес телефон - и т.д... 2) Hада процедура мувирования диска. Исходные данные: объем буфера 16384 с адреса 49152 в основной памяти (25000....49151) имеется полный каталог диска имеются утилиты работы с диском Подробнее: сама прога будет сидеть ниже страницы (если она будет сидеть на _самой_ страницы и юзать буфер в 16384-размер_проги байт, то это полный rulezz!) Где-то в памяти с метки CAT_U расположен полный (9 секов) каталог диска. Где-то имеются п/п: TR_DOS - [DE] trk/sec, [HL] адрес, [B] число секов, [C] = 0 чтение, = 1 запись SAVE_CAT - всё делает сама... Вобчем вот такое пока нада... Hу вот и всё... С уважением, Aleksandr (*MAS*)




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Проходилка - прохождение Die Feuerfaust 3-4.
Страничка Ламера - Объяснение с Velesoft'ом.
Сериал - Сериал игровых программ.
Horror - продолжение следует за этим номером #3.
События 1 - добровольно покинул ряды lsg и oca наш кодер ex-mr. pi, ныне morphy.

В этот день...   8 мая