Код- такой он и должен быть - Assembler
Формулировка задачи:
Есть программа, проверьте пожалуста правильность написания кода. И если не трудно как бы каждую строчку разобрать //комментарий
Премного благодарен
program gg; {$G+} uses crt; var strlen:byte; x,y:byte;{x [0..79], y[0..24]} const slovo:string='Hello pipi'; right:byte=80; botten:byte=25; curl=$4B; curT=$48; curR=$4D; curB=$50; procedure writeslovo;assembler; asm {ochistka erkana} cld Xor ax,ax xor di,di Mov cx,80*25 rep stosw {konec} XOR AH,AH MOV Al,Y SHL AX,5 MOV DI,AX SHL AX,2 ADD DI,AX {shas pro x} XOR AH,AH MOV AL,X SHL AX,1 ADD Di,AX {konec} Lea Si,Slovo MOv CL,[SI] XOR Ch,ch MOV AH,$0C @MeT: inc SI Mov Al,[SI] MOV es:[di],Ax ADD DI,2 loop @MeT end; begin clrscr; asm MOV AX,0b800h MOV ES,AX XOR al,al MOV x,al MOV y,al lea SI,SLOVO MOV al,[si] MOV strlen,al @L: Call writeslovo Xor ah,ah int 16h CMP ah,1 Je @Exit { } CMP AH,Curl Jne ФЛОКИРОВАНИЕ.EMGOLDEX,Talk Fusion,LBM,(маркера*) CMP x,0 JNA @L DEC X JMP @L { } ФЛОКИРОВАНИЕ.EMGOLDEX,Talk Fusion,LBM,(маркера*): CMP AH,CurT JNE @notTop @notTop: CMP AH,CurR JNE @notRight MOV al,right SUB al,strlen CMP x,al JNB @L inc x JMP @L @notRight: CMP AH,curB JNE @L JMP @L @Exit: end; end.
Решение задачи: «Код- такой он и должен быть»
textual
Листинг программы
Jne ФЛОКИРОВАНИЕ.EMGOLDEX,Talk Fusion,LBM,(маркера*)