![]() |
|||
Разделы сайта | Cтатьи. |
Статистика сайта.
Посещений за день: 169 Баннеры. Статистика в картинках. |
|
|
Печать строки на 42 символа.
Привет, товарищи!
A = %11100001; флаг Half Carry = C RRCA ╚═> флаг C ┌<═ флаг C A = %11110000; сдвигается подобно карусели флаг C=1 A = %11110000; флаг Half Carry = C RRA ╚═> флаг C ┌<═ Half Carry A = %11111000 флаг C=0 Еще пример: A = %01000011 C = %00000000 SCF; флаг C = 1 RRA RR C A = %10100001 C = %10000000 Все вычисления в компьютерах проводятся в двоичной системе исчисления. Десятичная и шестнадцатиричная системы применяются в программах для удобства. Перед тем, как печатать строку, нужно ее подготовить, заодно учитывая управляющие символы. STRING EQU #BF00 ;в пределах 1-го сектора. PRINT42 EX DE,HL;в HL адрес экрана (H=#40,#48,#50). LD HY,D LD LY,10 EXX LD DE,STRING PST_C EX DE,HL LD A,(HL) INC L EX AF,AF LD A,(HL) ;берем значения букв из INC L ;подготовленной строки. LD C,(HL) INC L LD E,(HL) INC L EX DE,HL LD B,#60;по #6000 находится фонт (8 секторов) EXX LD H,#60 LD L,A EX AF,AF LD C,A !ASSM 7 LD B,H LD A,(BC) ;объяснять и комменнтировать здесь RRCA ;нет смысла; вы сами должны решить RRCA ;формальность логики. LD B,(HL) INC H RL B RLA RL B RLA LD (DE),A INC E EXX LD A,(BC) RRCA RRCA LD H,B LD H,(HL) INC B RRA RR H RRA RR H EX AF,AF LD A,H EXX INC E LD (DE),A DEC E EX AF,AF OR B LD (DE),A DEC E INC D !CONT LD B,H LD A,(BC) RRCA RRCA LD B,(HL) RL B RLA RL B RLA LD (DE),A INC E EXX LD A,(BC) RRCA RRCA LD H,B LD H,(HL) RRA RR H RRA RR H EX AF,AF LD A,H EXX INC E LD (DE),A DEC E EX AF,AF OR B LD (DE),A INC E LD D,HY INC E EXX DEC LY JP NZ,PST_C LD A,(DE) ;оставшиеся 2 символа INC E EX AF,AF LD A,(DE) EXX LD L,A EX AF,AF LD C,A LD H,#60 !ASSM 7 LD B,H LD A,(BC) RRCA RRCA LD B,(HL) INC H RL B RLA RL B RLA LD (DE),A INC E LD A,B LD (DE),A DEC E INC D !CONT LD B,H LD A,(BC) RRCA RRCA LD B,(HL) RL B RLA RL B RLA LD (DE),A INC E LD A,B LD (DE),A RET>> |
||
BitByByte, 2000г. (2025). |