Code: Select all
; DE - TEXT BUFFER
; HL - PACKED STR
call $+6
call $+3
mvi a,2 ; <<<<<
dad h
ral
dad h
ral
dad h
ral
dad h
ral
dad h
ral
stax d
inx d
ret
Code: Select all
0257 0080 disassm_put_str:
0258 0080 D5 push d
0259 0081 5F mov e, a
0260 0082 16 00 mvi d, 0
0261 0084 19 dad d
0262 0085 19 dad d
0263 0086 5E mov e, m
0264 0087 23 inx h
0265 0088 56 mov d, m
0266 0089 EB xchg
0267 008A D1 pop d
0268 008B CD 91 00 call disassm_put_char
0269 008E CD 91 00 call disassm_put_char
0270 0091 disassm_put_char:
0271 0091 3E 02 mvi a,2
0272 0093 29 dad h
0273 0094 17 ral
0274 0095 29 dad h
0275 0096 17 ral
0276 0097 29 dad h
0277 0098 17 ral
0278 0099 29 dad h
0279 009A 17 ral
0280 009B 29 dad h
0281 009C 17 ral
0282 009D FE 40 cpi 40h
0283 009F C8 rz
0284 00A0 12 stax d
0285 00A1 13 inx d
0286 00A2 C9 ret
xra a заменили на mvi a,2 - 4 против 7
ana a заменили на cpi 40h - 4 против 7
ну и выкинули adi 40h - 7 против 0
выходит 15 тактов против 14 - на 1 такт быстрее

однако если разбирать побуквенно, как я на прошлой странице думал и как Alikberov предложил, то будет сильно быстрее, но несколько жырнее по коду...