![]() |
|
|
![]()
|
|
| vanyatim |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 29.5.2011 Репутация: нет Всего: нет |
Привет!
Помогите, пожалуйста, решить задачу на Assembler для I8085. Есть исходник программы, на основе которого надо решить следующую задачу (точнее просто дополнить): Для кодирования содержимого буфера BUF1 и декодирования BUF2 использовать суммирование-вычитание текста с арифметической прогрессией, параметры которой a0 = 1, d = 16. Организовать вывод членов АП в выходной файл. L_01.A85 ; ВАРИАНТ ПРОГРАММЫ ИЗ НЕСКОЛЬКИХ ИСХОДНЫХ ФАЙЛОВ ; РАЗДЕЛ 7 ЛАБОРАТОРНОГО ПРАКТИКУМА ;------------------------------------------------- ; MAIN PROGRAM %INCLUDE "OPIS.INC" ; ПОДКЛЮЧЕНИЕ %INCLUDE "LAB_IO.INC" ; ДОПОЛНИТЕЛЬНЫХ %INCLUDE "INIT_BU.MAC" ; ТЕКСТОВЫХ ФАЙЛОВ RAM EQU 0800H ROM EQU 0000H LEN_RAM EQU 0800H ; BUFFERS TEXTSIZE EQU 20H DEFSEG DATA1,CLASS=DATA,START=RAM SEG DATA1 BUF1: DS TEXTSIZE BUF2: DS TEXTSIZE BUF3: DS TEXTSIZE ; STACK STACKSIZE EQU 32 DEFSEG STACK,CLASS=DATA,START=RAM+LEN_RAM-STACKSIZE SEG STACK STACKR: DS STACKSIZE STPOINT EQU $ ; ; FLAGS SEG DATA1 PASS1 DS 1 ; MASKS FOR EXAMPLES MASK11 EQU 00000011B ; MASK12 EQU 01010000B ; ; ; PROGRAMM ; EXTERN DEQH ; ОБЪЯВЛЕНИЕ ВНЕШНЕГО ИМЕНИ, ; ПОДКЛЮЧАЕМОГО НА СТАДИИ КОМПОНОВКИ SEG CODE PROG: LXI SP,STPOINT MVI A,0 ;ALL INPUT OUT DB8355 DCR A OUT DA8355 ;ALL OUTPUT INIT1 STACKR,'.',STACKSIZE INIT1 BUF1,'1',TEXTSIZE INIT1 BUF2,'2',TEXTSIZE INIT1 BUF3,'3',TEXTSIZE ; ; MAIN ; ; INPUT TO PORT A 8355 LXI H,BUF1+TEXTSIZE-1 MVI M,0 ;END OF BUFFER XCHG LXI H,BUF1 LOOPIN: IN PB8355 MOV M,A INX H CALL DEQH JNZ LOOPIN ; DECODING LXI H,BUF1 CALL KONSUM LXI D,BUF2 MVI A,1 STA PASS1 LOOP1: MOV A,M ORA A JZ ENDTEXT CALL CODING STAX D INX H INX D JMP LOOP1 ENDTEXT: STAX D LDA PASS1 ORA A MVI A,0 STA PASS1 JZ HALT PRODOLJ: ; ONCE MORE LXI H,BUF2 LXI D,BUF3 JMP LOOP1 ; HALT: LXI H,BUF3 CALL KONSUM ; OUTPUT FROM THE PORT B LXI H,BUF2 MVI B,TEXTSIZE-1 LOOPOUT: MOV A,M OUT PA8355 INX H DCR B JNZ LOOPOUT HLT ;====== SUBROUTINES ============ CODING: CMA RET KONSUM: ; RET END То, что сделал я упорно не работает. Если даже и кодирует, то в буфер писать отказывается на отрез это точно! Спасибо за помощь заранее! |
|||
|
||||
![]()
|
| Правила форума "Asm для начинающих" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm для начинающих | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |