Зацените код моей функции вывода строки
Turbo Assembler Version 4.1 18/03/13 01:30:45 Page 56
LED2.ASM
3136 0824 ASHNAZG PROC
3137
3138 ; ПАРАМЕТРЫ ФУНКЦИИ .
3139 ; KOORDINATAY
3140 ; KOORDINATAX ----- КООРДИНАТЫ КУРСОРА .
3141 ; DI ---- В ЭТОМ РЕГИСТРЕ ДОЛЖЕН
3142 ; НАХОДИТЬСЯ АДРЕС
; ПЕРВОГО БАЙТА
3143 ; ВЫВОДИМОЙ СТРОКИ .
3144
3145 0824 83 06 0DC9r 01 ADD GOLLUM,1
3146
3147 0829 50 PUSH AX
3148 082A 53 PUSH BX
3149 082B 51 PUSH CX
3150 082C 52 PUSH DX
3151 082D 56 PUSH SI
3152 082E 57 PUSH DI
3153
3154 082F B0 00 MOV AL,0
3155 0831 A2 0DCBr MOV GALADRIEL,AL
3156
3157 0834 B8 0000 MOV AX,0
3158 0837 A3 0DCCr MOV ELROND,AX
3159
3160 ; GALADRIEL == 0
3161 ; ELROND == 0
3162
3163 083A M45:
3164
3165 ;-----------------------
3166
3167 083A 8A 36 0AB2r MOV DH,KOORDINATAY
3168 083E 8A 16 0AB1r MOV DL,C
3169 0842 02 16 0AB3r ADD DL,KOORDINATAX
3170
3171
3172
3173
3174 0846 E8 00CA CALL FRODO
3175
3176 ;----------------------
3177 ; ПУСТЬ DI ----
3178 ; ЭТО АДРЕС ПЕРВОГО БАЙТА
3179 ; ОБЛАСТИ ВЫВОДА .
3180
3181 0849 57 PUSH DI
3182 084A 03 3E 0DCCr ADD DI,ELROND
3183 084E 8B 35 MOV SI,[DI]
3184 0850 5F POP DI
3185
3186 0851 E8 00C1 CALL MORDOR
3187
3188 ;----------------------
3189
3190 0854 80 06 0DCBr 01 ADD GALADRIEL,1
3191 0859 83 06 0DCCr 01 ADD ELROND,1
3192
Turbo Assembler Version 4.1 18/03/13 01:30:45 Page 57
LED2.ASM
3193 085E E8 00B3 CALL HOBBIT
3194 0861 E8 00B0 CALL HOBBIT
3195
3196
3197 0864 E8 00AD CALL HOBBIT
3198 0867 E8 00AA CALL HOBBIT
3199
3200
3201 086A E8 00A7 CALL HOBBIT
3202 086D E8 00A4 CALL HOBBIT
3203
3204
3205 0870 E8 00A1 CALL HOBBIT
3206 0873 E8 009E CALL HOBBIT
3207
3208
3209
3210
3211
3212 0876 50 PUSH AX
3213 0877 A1 0DCCr MOV AX,ELROND
3214 087A 3B 06 0DC9r CMP AX,GOLLUM
3215 087E 58 POP AX
3216
3217 087F 75 B9 JNE M45
3218
3219 0881 5F POP DI
3220 0882 5E POP SI
3221 0883 5A POP DX
3222 0884 59 POP CX
3223 0885 5B POP BX
3224 0886 58 POP AX
3225
3226 0887 C3 RET
3227
3228 0888 ASHNAZG ENDP
3229
3230 ;--------------------------------------------------------------------------------------------------