Bladeren bron

Conv to UTF-8

Innocenty Enikeew 9 jaren geleden
bovenliggende
commit
c556ed228b
13 gewijzigde bestanden met toevoegingen van 293 en 293 verwijderingen
  1. 45 45
      ASM/!ALL/arcanoid.asm
  2. 18 18
      ASM/!ALL/bmp.asm
  3. 32 32
      ASM/!ALL/modem.asm
  4. 26 26
      ASM/!ALL/pal.asm
  5. 20 20
      ASM/!ALL/palnew.asm
  6. 2 2
      ASM/!SPBSTU/4sem/1.asm
  7. 2 2
      ASM/!SPBSTU/4sem/Kursovik/2/getname.asm
  8. 45 45
      ASM/Arcanoid/arcanoid.asm
  9. 18 18
      ASM/Demo/bmp.asm
  10. 32 32
      ASM/Modem/modem.asm
  11. 7 7
      ASM/Win32/test.asm
  12. 26 26
      ASM/pal.asm
  13. 20 20
      ASM/palnew.asm

+ 45 - 45
ASM/!ALL/arcanoid.asm

@@ -7,30 +7,30 @@ start:
 			; |  Clear Screen
 	int 10h         ; /  
 
-	mov ah, 02h	; \ ”ã­ªæ¨ï ãáâ ­®¢ª¨ ªãàá®à 
-	mov bh, 0       ; | €ªâ¨¢­ ï áâà ­¨æ 
-	mov dh, 24      ; |- Šãàá®à ª paddle (Y)
+	mov ah, 02h	; \ Функци� у�тановки кур�ора
+	mov bh, 0       ; | �ктивна� �траница
+	mov dh, 24      ; |- Кур�ор к paddle (Y)
 	mov dl,	10      ; | (X)
 	int 10h         ; / 
 
-	mov ah, 09h     ;\ ‚뢮¤ ᨬ¢®«  
-	mov al, 'ß'     ;| ‚뢮¤¨¬ë© ᨬ¢®«
-	mov bh, 0h      ;\ ‘âà ­¨æ 
-	mov bl, 04h     ;/ �à®à¨á®¢ª  paddle (€ââਡãâë ᨬ¢®« )
-	mov cx, 05h     ;| Š®«¨ç¥á⢮ ᨬ¢®«®¢
+	mov ah, 09h     ;\ Вывод �имвола 
+	mov al, '▀'     ;| Выводимый �имвол
+	mov bh, 0h      ;\ Страница
+	mov bl, 04h     ;/ Прори�овка paddle (�ттрибуты �имвола)
+	mov cx, 05h     ;| Количе�тво �имволов
 	int 10h		;/ 
 	
-	mov ah, 02h	; \ ”ã­ªæ¨ï ãáâ ­®¢ª¨ ªãàá®à 
-	mov bh, 0       ; | €ªâ¨¢­ ï áâà ­¨æ 
-	mov dh, 15      ; |- Šãàá®à ª è à¨ªã (Y)
+	mov ah, 02h	; \ Функци� у�тановки кур�ора
+	mov bh, 0       ; | �ктивна� �траница
+	mov dh, 15      ; |- Кур�ор к шарику (Y)
 	mov dl,	15      ; | (X)
 	int 10h         ; / 
 
-	mov ah, 09h     ;\ ‚뢮¤ ᨬ¢®«  
-	mov al, ''     ;| ‚뢮¤¨¬ë© ᨬ¢®«
-	mov bh, 0h      ;\ ‘âà ­¨æ 
-	mov bl, 01h     ;/ �à®à¨á®¢ª  è à¨ª  (€ââਡãâë ᨬ¢®« )
-	mov cx, 01h     ;| Š®«¨ç¥á⢮ ᨬ¢®«®¢
+	mov ah, 09h     ;\ Вывод �имвола 
+	mov al, ''     ;| Выводимый �имвол
+	mov bh, 0h      ;\ Страница
+	mov bl, 01h     ;/ Прори�овка шарика (�ттрибуты �имвола)
+	mov cx, 01h     ;| Количе�тво �имволов
 	int 10h		;/ 
 	
 mainloop:
@@ -38,17 +38,17 @@ mainloop:
 	mov ah, 06h	;\ 
 	mov dl, 0FFh    ;| IF KeyPressed then Z on
 	int 21h         ;/
-	jz TOFLY        ; …᫨ ­¥â - ¯à®¢¥à塞, ­ã¦­® «¨ ¤¢¨£ âì è à
+	jz TOFLY        ; Е�ли нет - провер�ем, нужно ли двигать шар
 	
-	mov si,offset ifpad	;\ ‘¬¥é¥­¨¥ ¯¥à¥¬¥­­®© ¨§¬¥­¥­¨ï
-	mov byte ptr [si], 1    ;/ - ˆ§¬¥­¥­¨¥ ¯à®¨§®è«®
+	mov si,offset ifpad	;\ Смещение переменной изменени�
+	mov byte ptr [si], 1    ;/ - Изменение произошло
 
-	cmp al, 0	; -�஢¥à塞, ¡ë«  «¨ à áè¨à¥­ ï ª« ¢¨è 
-	jne GOODKEY    	; …᫨ ­¥â - ­  ­ ç «® à ¡®âë
+	cmp al, 0	; -Провер�ем, была ли ра�ширена� клавиша
+	jne GOODKEY    	; Е�ли нет - на начало работы
 	mov ah, 08h     ; \
-	int 21h         ; /ˆ­ ç¥ - ‘­®¢  ¢ë§ë¢ ¥¬ áç¨â뢠­¨ï
+	int 21h         ; /Иначе - Снова вызываем �читывани�
 
-GOODKEY:		; AL - £®â®¢  ª à ¡®â¥
+GOODKEY:		; AL - готова к работе
 	cmp al, 27	;\ IF
 	je KONEZ        ;/ ESC then END
 
@@ -81,54 +81,54 @@ loopend:                        ; Final stage of loop
 	mov byte ptr [si], 0   ;/ it will be 0 
 
 	mov ah, 09h	;\
-	mov al, ' '     ;| ‚뢮¤¨¬ë© ᨬ¢®«
-	mov bh, 0h      ;\ ‘âà ­¨æ 
-	mov bl, 00h     ;/ �à®à¨á®¢ª  è à¨ª  (€ââਡãâë ᨬ¢®« )
-	mov cx, 01h     ;| Š®«¨ç¥á⢮ ᨬ¢®«®¢
+	mov al, ' '     ;| Выводимый �имвол
+	mov bh, 0h      ;\ Страница
+	mov bl, 00h     ;/ Прори�овка шарика (�ттрибуты �имвола)
+	mov cx, 01h     ;| Количе�тво �имволов
 	int 10h		;/ 
 
 	mov ah, 02h	; \ GotoXY(0,24) to delete all line
-	mov bh,	0       ; | €ªâ¨¢­ ï áâà ­¨æ         
-	mov dh, 24      ; |- Šãàá®à ª paddle (Y)     
+	mov bh,	0       ; | �ктивна� �траница        
+	mov dh, 24      ; |- Кур�ор к paddle (Y)     
 	mov dl, 0       ; | (X)                      
 	int 10h	        ; /                          
 
 	mov ah, 09h	;\ Clear last line to redraw paddle
-	mov al, ' '     ;| ‚뢮¤¨¬ë© ᨬ¢®« (#20)
-	mov bh, 0h      ;\ ‘âà ­¨æ 
-	mov bl, 00h     ;/ �à®à¨á®¢ª  è à¨ª  (€ââਡãâë ᨬ¢®« )
-	mov cx, 80      ;| Š®«¨ç¥á⢮ ᨬ¢®«®¢
+	mov al, ' '     ;| Выводимый �имвол (#20)
+	mov bh, 0h      ;\ Страница
+	mov bl, 00h     ;/ Прори�овка шарика (�ттрибуты �имвола)
+	mov cx, 80      ;| Количе�тво �имволов
 	int 10h		;/ 
 
 	mov si, offset px	; [si] = xpos of paddle
 
 	mov ah, 02h		; \ GotoXY(xpos,24)
-	mov bh,	0               ; | €ªâ¨¢­ ï áâà ­¨æ         
-	mov dh, 24              ; |- Šãàá®à ª paddle (Y)     
+	mov bh,	0               ; | �ктивна� �траница        
+	mov dh, 24              ; |- Кур�ор к paddle (Y)     
 	mov dl, byte ptr [si]   ; | (X) (From [si])
 	int 10h	                ; /                          
 
 	mov ah, 09h     ;\ Draw the paddle
-	mov al, 'ß'     ;| ‚뢮¤¨¬ë© ᨬ¢®«
-	mov bh, 0h      ;| ‘âà ­¨æ 
-	mov bl, 04h     ;| �à®à¨á®¢ª  paddle (€ââਡãâë ᨬ¢®« )
-	mov cx, 05h     ;| Š®«¨ç¥á⢮ ᨬ¢®«®¢ (Length of paddle)
+	mov al, '▀'     ;| Выводимый �имвол
+	mov bh, 0h      ;| Страница
+	mov bl, 04h     ;| Прори�овка paddle (�ттрибуты �имвола)
+	mov cx, 05h     ;| Количе�тво �имволов (Length of paddle)
 	int 10h		;/ 
 	
 	mov si, offset x1	; [si] = x pos of ball (x1)
 	mov di, offset y1       ; [di] = y pos of ball (y1)
 	
 	mov ah, 02h		; \ GotoXY(x1,y1)     
-	mov bh,	0               ; | €ªâ¨¢­ ï áâà ­¨æ    
+	mov bh,	0               ; | �ктивна� �траница   
 	mov dh, byte ptr [di]   ; |- Cursor to draw ball (Y1) (From [di])
 	mov dl, byte ptr [si]   ; | (X1) (From [si])     
 	int 10h	                ; /                     
 
 	mov ah, 09h     ;\ Draw ball
-	mov al, ''     ;| ‚뢮¤¨¬ë© ᨬ¢®«
-	mov bh, 0h      ;| ‘âà ­¨æ 
-	mov bl, 01h     ;| �à®à¨á®¢ª  è à¨ª  (€ââਡãâë ᨬ¢®« )
-	mov cx, 01h     ;| Š®«¨ç¥á⢮ ᨬ¢®«®¢
+	mov al, ''     ;| Выводимый �имвол
+	mov bh, 0h      ;| Страница
+	mov bl, 01h     ;| Прори�овка шарика (�ттрибуты �имвола)
+	mov cx, 01h     ;| Количе�тво �имволов
 	int 10h		;/ 
 
 PREDDEL:  		;\
@@ -151,7 +151,7 @@ TOFLY:  			; Ball flying ?
 	mov bx, 0200h 	        ; the period of ball move
 	xor dx, dx		; dx = 0
 	div bx			; dx = ax mod bx
-	cmp dx,	0		; if ticks ªà â­® bx (0FFFFh)_
+	cmp dx,	0		; if ticks кратно bx (0FFFFh)_
 	je MOVE			; then goto MOVE bALL
 	xor si,	si		; si=0
 	jmp loopend		; goto ENDOFLOOP

+ 18 - 18
ASM/!ALL/bmp.asm

@@ -78,35 +78,35 @@ loadimage:
 ; Bitmap Header!!!
 ;-------------------
 bmphdr:
-	bfType		dw 0		;		//⨯ ä ©«  (¤«ï ¡¨â®¢®£® ®¡à §  - BM)
-	bfSize 		dd 0        ;		//à §¬¥à ä ©«  ¢ dword
+	bfType		dw 0		;		//тип файла (дл� битового образа - BM)
+	bfSize 		dd 0        ;		//размер файла в dword
 				dw 0,0		
-	bfOffbits 	dd 0		;	//ᬥ饭¨¥ ¤ ­­ëå ¡¨â®¢®£® ®¡à §  ®â ­ ç «  ä ©« 
+	bfOffbits 	dd 0		;	//�мещение данных битового образа от начала файла
 bmphdr_len EQU $-bfType
 ;-------------------
 ; Bitmap Info Header!!!
 ;-------------------
 bmpinfohdr:
-	biSize 		dd	0	;		//ç¨á«® ¡ ©â, § ­¨¬ ¥¬ëå áâàãªâãன
- 	biWidth 	dd  0	;	//è¨à¨­  ¡¨â®¢®£® ®¡à §  ¢ ¯¨ªá¥« å
- 	biHeight 	dd  0	;	//¢ëá®â  ¡¨â®¢®£® ®¡à §  ¢ ¯¨ªá¥« å 
-				dw  0	;	//ç¨á«® ¡¨â®¢ëå ¯«®áª®á⥩ ãáâனá⢠
-	biBitCount	dw 	0	;	//ç¨á«® ¡¨â®¢ ­  ¯¨ªá¥«ì
-				dd	0	; biCompression;	//⨯ ᦠâ¨ï
-	biSizeImage dd  0   ;	//à §¬¥à ª à⨭ª¨ ¢ ¡ ©â å
-				dd	0,0	; biXPelsPerMeter;//£®à¨§®­â «ì­®¥ à §à¥è¥­¨¥ ãáâனá⢠,
-						; biYPelPerMeter;	//¢¥à⨪ «ì­®¥ à §à¥è¥­¨¥ ãáâனá⢠,
-				dd 	0	; biClrUsed;	//ç¨á«® ¨á¯®«ì§ã¥¬ëå æ¢¥â®¢
-				dd	0	; biClrImportant; //ç¨á«® "¢ ¦­ëå" 梥⮢
+	biSize 		dd	0	;		//чи�ло байт, занимаемых �труктурой
+ 	biWidth 	dd  0	;	//ширина битового образа в пик�елах
+ 	biHeight 	dd  0	;	//вы�ота битового образа в пик�елах 
+				dw  0	;	//чи�ло битовых пло�ко�тей у�трой�тва
+	biBitCount	dw 	0	;	//чи�ло битов на пик�ель
+				dd	0	; biCompression;	//тип �жати�
+	biSizeImage dd  0   ;	//размер картинки в байтах
+				dd	0,0	; biXPelsPerMeter;//горизонтальное разрешение у�трой�тва,
+						; biYPelPerMeter;	//вертикальное разрешение у�трой�тва,
+				dd 	0	; biClrUsed;	//чи�ло и�пользуемых цветов
+				dd	0	; biClrImportant; //чи�ло "важных" цветов
 bmpinfohdr_len EQU $-biSize
 ;-------------------
 ; Color table
 ;-------------------
 colortable:
-	rgbBlue		db 0;	//¨­â¥­á¨¢­®áâì ªà á­®£®
-	rgbGreen	db 0;	//¨­â¥­á¨¢­®áâì §¥«¥­®£®
-	rgbRed 		db 0;	//¨­â¥­á¨¢­®áâì £®«ã¡®£®
-	       db 0;	//­¥ ¨á¯®«ì§ã¥âáï
+	rgbBlue		db 0;	//интен�ивно�ть кра�ного
+	rgbGreen	db 0;	//интен�ивно�ть зеленого
+	rgbRed 		db 0;	//интен�ивно�ть голубого
+	       db 0;	//не и�пользует��
 clrtab_len  EQU $-rgbBlue
 col 	db	0
 end start

+ 32 - 32
ASM/!ALL/modem.asm

@@ -5,50 +5,50 @@ org 100h
 
 ; UART Registers
 
-SER_RBF			EQU	0	; �ãä¥à ç⥭¨ï
-SER_THR			EQU 0	; ¡ãä¥à § ¯¨á¨
-SER_IER			EQU	1	; ॣ¨áâà à §à¥è¥­¨ï ¯à¥à뢠­¨©
-SER_IIR			EQU 2	; ॣ. ¨¤¥­â¨ä¨ª æ¨¨ ¯à¥à뢠­¨©
-SER_LCR			EQU 3	; ॣ. ã¯à ¢«. ¤ ­­ëå ¨ à §à¥è¥­. § £à㧪¨ ¤¥«¨â¥«ï
-SER_MCR			EQU 4	; ॣ. ã¯à ¢«. ¬®¤¥¬®¬
-SER_LSR			EQU 5	; ॣ. á®áâ®ï­¨ï «¨­¨¨
-SER_MSR			EQU 6	; ॣ. á®áâ. ¬®¤¥¬ 
-SER_DLL			EQU 0	; ॣ. ¬« ¤è. ¡ ©â ¤¥«¨â¥«ï
-SER_DLH			EQU 1	; ॣ. áâ àè. ¡ ©â ¤¥«¨â¥«ï 
+SER_RBF			EQU	0	; Буфер чтениÑ
+SER_THR			EQU 0	; буфер запи�и
+SER_IER			EQU	1	; реги�тр разрешени� прерываний
+SER_IIR			EQU 2	; рег. идентификации прерываний
+SER_LCR			EQU 3	; рег. управл. данных и разрешен. загрузки делител�
+SER_MCR			EQU 4	; рег. управл. модемом
+SER_LSR			EQU 5	; рег. �о�то�ни� линии
+SER_MSR			EQU 6	; рег. �о�т. модема
+SER_DLL			EQU 0	; рег. младш. байт делител�
+SER_DLH			EQU 1	; рег. �тарш. байт делител� 
 
 ; Registers Bit masks
 
-SER_BAUD_1200	EQU 96	; ¤¥«¨â¥«¨ ¤«ï à §«¨ç­ëå ᪮à®á⥩
+SER_BAUD_1200	EQU 96	; делители дл� различных �коро�тей
 SER_BAUD_2400	EQU 48
 SER_BAUD_9600	EQU 12
 SER_BAUD_19200	EQU 6
 SER_BAUD_38400	EQU	3
 SER_BAUD_57600	EQU 2
 
-SER_GP02		EQU 8	; à §à¥è¥­¨¥ ¯à¥à뢠­¨©
+SER_GP02		EQU 8	; разрешение прерываний
 
-COM1			EQU	3f8h	; � ç «ì­ë¥ ¯®àâë ª®¬®¢
+COM1			EQU	3f8h	; �ачальные порты комов
 COM2			EQU 2f8h    ;
 
-SER_STOP_1		EQU 0	; á⮯-¡¨â ­  ᨬ¢®«
+SER_STOP_1		EQU 0	; �топ-бит на �имвол
 SER_STOP_2		EQU 4	
 
-SER_BITS_5		EQU 0	; å § ç é¨å ¡¨â ­  ᨬ¢®«
+SER_BITS_5		EQU 0	; х зачащих бит на �имвол
 SER_BITS_6		EQU 1
 SER_BITS_7		EQU 2
 SER_BITS_8		EQU 3
 
-SER_PARITY_NONE	EQU 0 	; ª®­â஫ì ç¥â­®áâ¨
+SER_PARITY_NONE	EQU 0 	; контроль четно�ти
 SER_PARITY_ODD	EQU 8
 SER_PARITY_EVEN	EQU 24
 
-SER_DIV_LATCH_ON	EQU 128	; ¨á¯ ¯à¨ § £à㧪¥ ¤¥«¨â¥«ï
+SER_DIV_LATCH_ON	EQU 128	; и�п при загрузке делител�
 
-PIC_IMR			EQU 21h		; ¬ áª  ¤«ï ॣ¨áâà  ¯à¥à뢠­¨©
-PIC_ICR			EQU 20h		; ¬ áª  ¤«ï ª®­â஫«¥à  ¯à¥à뢠­¨©
+PIC_IMR			EQU 21h		; ма�ка дл� реги�тра прерываний
+PIC_ICR			EQU 20h		; ма�ка дл� контроллера прерываний
 
-INT_SER_PORT_0	EQU 0Ch		; ¤«ï ã¯à ¢«¥­¨ï ¯à¥à뢠­. COM1 & COM3
-INT_SER_PORT_1	EQU 0Bh		; ¤«ï ã¯à ¢«¥­¨ï ¯à¥à뢠­. COM2 & COM4
+INT_SER_PORT_0	EQU 0Ch		; дл� управлени� прерыван. COM1 & COM3
+INT_SER_PORT_1	EQU 0Bh		; дл� управлени� прерыван. COM2 & COM4
 
 ; Current setting(for COM1), change them 
 ;-------------------------------
@@ -64,25 +64,25 @@ start:
 ;----------------------------
 									;  Set port speed
 		mov dx, PORT+SER_LCR		;-------
-		mov al, SER_DIV_LATCH_ON	; à §à¥è ¥¬ § £à㧪㠤¥«¨â¥«ï
+		mov al, SER_DIV_LATCH_ON	; разрешаем загрузку делител�
 		out dx, al					;-------
 
 		mov dx, PORT+SER_DLL		;-------
-		mov al, SER_BAUD			; ¯®áë« ¥¬ ¬« ¤è ¡ ©â ¤¥«¨â¥«ï
+		mov al, SER_BAUD			; по�ылаем младш байт делител�
 		out dx, al					;-------
 
 		mov dx, PORT+SER_DLH		;-------
-		mov al, 0       			; ¯®áë« ¥¬ áâ àè ¡ ©â ¤¥«¨â¥«ï
+		mov al, 0       			; по�ылаем �тарш байт делител�
 		out dx, al					;-------
 
 		mov dx, PORT+SER_LCR		;-------
-		mov al, CONFIG  			; ãáâ ª®­ä¨£ãà æ¨î ¯®àâ 
+		mov al, CONFIG  			; у�т конфигурацию порта
 		out dx, al					;-------
 
 		mov dx, PORT+SER_MCR		;-------
 		mov al, SER_GP02			;
-		out dx, al					; � §à¥è ¥¬
-		mov dx, PORT+SER_IER		;       ¯à¥à뢠­¨ï
+		out dx, al					; Разрешаем
+		mov dx, PORT+SER_IER		;       прерывани�
 		mov al, 1					;
 		out dx, al					;-------
 
@@ -97,11 +97,11 @@ start:
 		mov dx, offset Serial_ISR	;		Vector
 		int 21h						;-----------
 
-		in 	al, PIC_IMR				; ‘â àë¥ ¡¨âë ª®­â஫«¥à  ¯à¥à뢠­¨©
+		in 	al, PIC_IMR				; Старые биты контроллера прерываний
 		mov old_int_mask, al		; 
 		and al, INT_MASK
 
-		out PIC_IMR, al				; à §à¥è ¥¬ ¯à¥à뢠­¨¥ COM1
+		out PIC_IMR, al				; разрешаем прерывание COM1
 ;-----------------------------------------------------------------
 		mov ah, 08h
 		int 21h
@@ -111,13 +111,13 @@ start:
 ;		
 		mov dx, PORT+SER_MCR		;-------
 		mov al, 0					;
-		out dx, al					; ‡ ¯à¥é ¥¬
-		mov dx, PORT+SER_IER		;       ¯à¥à뢠­¨ï
+		out dx, al					; Запрещаем
+		mov dx, PORT+SER_IER		;       прерывани�
 		mov al, 0					;
 		out dx, al					;-------
 		
 		mov al, old_int_mask		;
-		out PIC_IMR, al				; “áâ áâ àë¥ ­ áâனª¨ ª®­â஫«¥à  ¯à¥à뢠­
+		out PIC_IMR, al				; У�т �тарые на�тройки контроллера прерыван
 
 		mov ah,	25h					;-----------
 		mov al, INT_SER_PORT		; Set OLD

+ 26 - 26
ASM/!ALL/pal.asm

@@ -1,15 +1,15 @@
 .model small
 .code
 org 100h
-start:	push	bp		; á⥪
+start:	push	bp		; �тек
 	mov	bp,sp
 	sub	sp, 303h
 
-	mov	ah,0		; ãáâ ­®¢ª  ० 320å200å256
+	mov	ah,0		; у�тановка реж 320х200х256
 	mov	al,13h
 	int	10h
 
-	xor	bx,bx		; áç¨â뢠¥¬ ¯ «¨âàã ¢ [BP-4]-[BP+FCFDh]
+	xor	bx,bx		; �читываем палитру в [BP-4]-[BP+FCFDh]
 	mov	cx,0FDh
 	lea	dx,[bp][0FCFDh]	
 	mov	ax,ds
@@ -17,69 +17,69 @@ start:	push	bp		; 
 	mov	ax,01017h
 	int	10h
 
-	mov	ax,0A000h       ; ãáâ ­ ¢«¨¢ ¥¬ es:di ­  ¢¨¤¥® ¯ ¬ïâì
+	mov	ax,0A000h       ; у�танавливаем es:di на видео пам�ть
 	mov	es,ax
 	xor	ax,ax
 	mov	di,ax
-	mov	cx,0FA00h	; ­ ç¨­ ¥¬ à¨á®¢ âì
+	mov	cx,0FA00h	; начинаем ри�овать
 	mov	al,00h
 
-LP:	mov	es:[di],BYTE PTR al	; 横« ¯à®à¨á®¢ª¨
+LP:	mov	es:[di],BYTE PTR al	; цикл прори�овки
 	mov	ax,di
 	add	ax,01h
-	xor	dx,dx           ; ¯à®¢¥à塞, ªà â­® «¨ di 320â¨
+	xor	dx,dx           ; провер�ем, кратно ли di 320ти
 	mov	bx,0140h	
 	div	bx
 	mov	al, BYTE PTR es:[di]
 	add	di,1h
 	cmp	dx,0h
-	je	UVEL 		; ¥á«¨ ¤ , 㢥«¨ç¨¢ ¥¬ 梥â
-LOP:	loop	LP			; ª®­¥æ 横« 
+	je	UVEL 		; е�ли да, увеличиваем цвет
+LOP:	loop	LP			; конец цикла
 	jmp	e
-UVEL:   add	al,1h		; §¤¥áì 㢥«¨ç¨¢ ¥¬ 梥â
+UVEL:   add	al,1h		; зде�ь увеличиваем цвет
 	jmp	LOP
 
-e:	mov	al, [bp][0FD00h]	; á®å࠭塞 ¯¥à¢ë© 梥⠢ [BP-3]
+e:	mov	al, [bp][0FD00h]	; �охран�ем первый цвет в [BP-3]
 	mov	[bp-0003], al
-	mov	al, [bp][0FD01h]	; á®å࠭塞 ¯¥à¢ë© 梥⠢ [BP-2]
+	mov	al, [bp][0FD01h]	; �охран�ем первый цвет в [BP-2]
 	mov	[bp-0002], al
-	mov	al, [bp][0FD02h]	; á®å࠭塞 ¯¥à¢ë© 梥⠢ [BP-1]
+	mov	al, [bp][0FD02h]	; �охран�ем первый цвет в [BP-1]
 	mov	[bp-0001], al
-	lea	ax,[bp][0FD00h]	; ®â á¨å
+	lea	ax,[bp][0FD00h]	; от �их
 	lea	bx,[bp][0FD03h]
 	mov	si,bx
 	mov	di,ax
 	mov	ax,ds
 	mov	es,ax
 	mov	cx,02FAh
-	repe	movsb		; ¤® á¨å, ᬥ頥¬ ¯ «¨âàã ­¨¦¥
+	repe	movsb		; до �их, �мещаем палитру ниже
 	mov	al, [bp][-0003h]
-	mov	[bp-0006], al	; ¯®â¥àï­­ë© æ¢¥â ¢ ª®­¥æ ¯ «¨âàë
+	mov	[bp-0006], al	; потер�нный цвет в конец палитры
 	mov	al, [bp][-0002h]
 	mov	[bp-0005], al
 	mov	al, [bp][-0001h]
 	mov	[bp-0004], al
-	mov	dx,03DAh	; ¯®àâ á®áâ®ï­¨ï «ãç  ¬®­¨â®à 
-in1:	in	al,dx		; ®â á¨å
+	mov	dx,03DAh	; порт �о�то�ни� луча монитора
+in1:	in	al,dx		; от �их
 	and	al,008h
 	jne	in1
 in2:	in	al,dx
 	and	al,008h
-	je	in2		; ¤® á¨å - ¦¤¥¬ ®¡à â­®£® 室  «ãç 
-	xor	bx,bx		; ®â á¨å
+	je	in2		; до �их - ждем обратного хода луча
+	xor	bx,bx		; от �их
 	mov	cx,0100h
 	lea	dx,[bp][0FCFDh]
 	mov	ax,ds
 	mov	es,ax
 	mov	ax,01012h
-	int	10h		; ¤® á¨å - ¢áâ ¢«ï¥¬ ¯ «¨âàã
-	mov	ah,01h		; ¯à®¢¥àª  ­  ­ ¦ â¨¥ ª­®¯ª¨
+	int	10h		; до �их - в�тавл�ем палитру
+	mov	ah,01h		; проверка на нажатие кнопки
 	int	16h             ; -----
-	jz	e		; ¥á«¨ ­¥âã, â® á­®¢ 
+	jz	e		; е�ли нету, то �нова
 	mov	ah,0
-	mov	al,3h		; ®¡à â­® ¢ ⥪áâ®¢ë© à¥¦¨¬
+	mov	al,3h		; обратно в тек�товый режим
 	int	10h		; -----
-	mov	sp,bp		; ¢¥àâ ¥¬ á⥪
+	mov	sp,bp		; вертаем �тек
 	pop	bp
-	int	20h		; ⨯  ª®­¥æ :)
+	int	20h		; типа конец :)
 end 	start

+ 20 - 20
ASM/!ALL/palnew.asm

@@ -1,38 +1,38 @@
 .model small
 .code
 org 100h
-start:	push	bp		; á⥪
+start:	push	bp		; �тек
 	mov	bp,sp
 	sub	sp, 02FDh
 
-	mov	ah,0		; ãáâ ­®¢ª  ० 320å200å256
+	mov	ah,0		; у�тановка реж 320х200х256
 	mov	al,13h
 	int	10h
 
-	mov	ax,0A000h       ; ãáâ ­ ¢«¨¢ ¥¬ es:di ­  ¢¨¤¥® ¯ ¬ïâì
+	mov	ax,0A000h       ; у�танавливаем es:di на видео пам�ть
 	mov	es,ax
 	xor	ax,ax
 	mov	di,ax
-	mov	cx,0FA00h	; ­ ç¨­ ¥¬ à¨á®¢ âì
+	mov	cx,0FA00h	; начинаем ри�овать
 	mov	al,00h
 
-LP:	mov	es:[di],BYTE PTR al	; 横« ¯à®à¨á®¢ª¨
+LP:	mov	es:[di],BYTE PTR al	; цикл прори�овки
 	mov	ax,di
 	add	ax,01h
-	xor	dx,dx           ; ¯à®¢¥à塞, ªà â­® «¨ di 320â¨
+	xor	dx,dx           ; провер�ем, кратно ли di 320ти
 	mov	bx,0140h	
 	div	bx
 	mov	al, BYTE PTR es:[di]
 	add	di,1h
 	cmp	dx,0h
-	je	UVEL 		; ¥á«¨ ¤ , 㢥«¨ç¨¢ ¥¬ 梥â
-LOP:	loop	LP			; ª®­¥æ 横« 
+	je	UVEL 		; е�ли да, увеличиваем цвет
+LOP:	loop	LP			; конец цикла
 	jmp	e
 
-UVEL:   add	al,1h		; §¤¥áì 㢥«¨ç¨¢ ¥¬ 梥â
+UVEL:   add	al,1h		; зде�ь увеличиваем цвет
 	jmp	LOP
 
-e: 	mov	bx,1		; áç¨â뢠¥¬ ¯ «¨âàã ¢ [BP-4]-[BP+FD00h]
+e: 	mov	bx,1		; �читываем палитру в [BP-4]-[BP+FD00h]
 	mov	cx,0FFh
 	lea	dx,[bp][-02FDh]	
 	mov	ax,ds
@@ -47,21 +47,21 @@ e: 	mov	bx,1		; 
 	mov	bp[-002h],cl
 	mov	bp[-001h],ch
 
-	mov	dx,03DAh	; ¯®àâ á®áâ®ï­¨ï «ãç  ¬®­¨â®à 
-in1:	in	al,dx		; ®â á¨å
+	mov	dx,03DAh	; порт �о�то�ни� луча монитора
+in1:	in	al,dx		; от �их
 	and	al,008h
 	jne	in1
 in2:	in	al,dx
 	and	al,008h
-	je	in2		; ¤® á¨å - ¦¤¥¬ ®¡à â­®£® 室  «ãç 
+	je	in2		; до �их - ждем обратного хода луча
 
-	mov	bx,2		; ®â á¨å
+	mov	bx,2		; от �их
 	mov	cx,0100h
 	lea	dx,[bp][-02FDh]
 	mov	ax,ds
 	mov	es,ax
 	mov	ax,01012h
-	int	10h		; ¤® á¨å - ¢áâ ¢«ï¥¬ ¯ «¨âàã
+	int	10h		; до �их - в�тавл�ем палитру
 	
 	mov	ax,1010
 	mov	bx,0h
@@ -70,13 +70,13 @@ in2:	in	al,dx
 	mov	dh,bp[-001h]
 	int	10h
 
-	mov	ah,01h		; ¯à®¢¥àª  ­  ­ ¦ â¨¥ ª­®¯ª¨
+	mov	ah,01h		; проверка на нажатие кнопки
 	int	16h             ; -----
-	jz	e		; ¥á«¨ ­¥âã, â® á­®¢ 
+	jz	e		; е�ли нету, то �нова
 	mov	ah,0
-	mov	al,3h		; ®¡à â­® ¢ ⥪áâ®¢ë© à¥¦¨¬
+	mov	al,3h		; обратно в тек�товый режим
 	int	10h		; -----
-	mov	sp,bp		; ¢¥àâ ¥¬ á⥪
+	mov	sp,bp		; вертаем �тек
 	pop	bp
-	int	20h		; ⨯  ª®­¥æ :)
+	int	20h		; типа конец :)
 end 	start

+ 2 - 2
ASM/!SPBSTU/4sem/1.asm

@@ -1,5 +1,5 @@
-; ‚ à¨ ­â 19
-; …­¨ª¥¥¢ ˆ.�.  2084/1
+; Вариант 19
+; Еникеев И.Р.  2084/1
 .286
 .model tiny
 .data

+ 2 - 2
ASM/!SPBSTU/4sem/Kursovik/2/getname.asm

@@ -1,5 +1,5 @@
-; ‚ à¨ ­â 19
-; …­¨ª¥¥¢ ˆ.�.  2084/1
+; Вариант 19
+; Еникеев И.Р.  2084/1
 .286
 .model tiny
 .data

+ 45 - 45
ASM/Arcanoid/arcanoid.asm

@@ -7,30 +7,30 @@ start:
 					; |  Clear Screen
 	int 10h         ; /  
 
-	mov ah, 02h		; \ ”ã­ªæ¨ï ãáâ ­®¢ª¨ ªãàá®à 
-	mov bh, 0       ; | €ªâ¨¢­ ï áâà ­¨æ 
-	mov dh, 24      ; |- Šãàá®à ª paddle (Y)
+	mov ah, 02h		; \ Функци� у�тановки кур�ора
+	mov bh, 0       ; | �ктивна� �траница
+	mov dh, 24      ; |- Кур�ор к paddle (Y)
 	mov dl,	10      ; | (X)
 	int 10h         ; / 
 
-	mov ah, 09h     ;\ ‚뢮¤ ᨬ¢®«  
-	mov al, 'ß'     ;| ‚뢮¤¨¬ë© ᨬ¢®«
-	mov bh, 0h      ;\ ‘âà ­¨æ 
-	mov bl, 04h     ;/ �à®à¨á®¢ª  paddle (€ââਡãâë ᨬ¢®« )
-	mov cx, 05h     ;| Š®«¨ç¥á⢮ ᨬ¢®«®¢
+	mov ah, 09h     ;\ Вывод �имвола 
+	mov al, '▀'     ;| Выводимый �имвол
+	mov bh, 0h      ;\ Страница
+	mov bl, 04h     ;/ Прори�овка paddle (�ттрибуты �имвола)
+	mov cx, 05h     ;| Количе�тво �имволов
 	int 10h			;/ 
 	
-	mov ah, 02h		; \ ”ã­ªæ¨ï ãáâ ­®¢ª¨ ªãàá®à 
-	mov bh, 0       ; | €ªâ¨¢­ ï áâà ­¨æ 
-	mov dh, 15      ; |- Šãàá®à ª è à¨ªã (Y)
+	mov ah, 02h		; \ Функци� у�тановки кур�ора
+	mov bh, 0       ; | �ктивна� �траница
+	mov dh, 15      ; |- Кур�ор к шарику (Y)
 	mov dl,	15      ; | (X)
 	int 10h         ; / 
 
-	mov ah, 09h     ;\ ‚뢮¤ ᨬ¢®«  
-	mov al, ''     ;| ‚뢮¤¨¬ë© ᨬ¢®«
-	mov bh, 0h      ;\ ‘âà ­¨æ 
-	mov bl, 01h     ;/ �à®à¨á®¢ª  è à¨ª  (€ââਡãâë ᨬ¢®« )
-	mov cx, 01h     ;| Š®«¨ç¥á⢮ ᨬ¢®«®¢
+	mov ah, 09h     ;\ Вывод �имвола 
+	mov al, ''     ;| Выводимый �имвол
+	mov bh, 0h      ;\ Страница
+	mov bl, 01h     ;/ Прори�овка шарика (�ттрибуты �имвола)
+	mov cx, 01h     ;| Количе�тво �имволов
 	int 10h			;/ 
 	
 mainloop:
@@ -38,17 +38,17 @@ mainloop:
 	mov ah, 06h	;\ 
 	mov dl, 0FFh    ;| IF KeyPressed then Z on
 	int 21h         ;/
-	jz TOFLY        ; …᫨ ­¥â - ¯à®¢¥à塞, ­ã¦­® «¨ ¤¢¨£ âì è à
+	jz TOFLY        ; Е�ли нет - провер�ем, нужно ли двигать шар
 	
-	mov si,offset ifpad	;\ ‘¬¥é¥­¨¥ ¯¥à¥¬¥­­®© ¨§¬¥­¥­¨ï
-	mov byte ptr [si], 1    ;/ - ˆ§¬¥­¥­¨¥ ¯à®¨§®è«®
+	mov si,offset ifpad	;\ Смещение переменной изменени�
+	mov byte ptr [si], 1    ;/ - Изменение произошло
 
-	cmp al, 0	; -�஢¥à塞, ¡ë«  «¨ à áè¨à¥­ ï ª« ¢¨è 
-	jne GOODKEY    	; …᫨ ­¥â - ­  ­ ç «® à ¡®âë
+	cmp al, 0	; -Провер�ем, была ли ра�ширена� клавиша
+	jne GOODKEY    	; Е�ли нет - на начало работы
 	mov ah, 08h     ; \
-	int 21h         ; /ˆ­ ç¥ - ‘­®¢  ¢ë§ë¢ ¥¬ áç¨â뢠­¨ï
+	int 21h         ; /Иначе - Снова вызываем �читывани�
 
-GOODKEY:		; AL - £®â®¢  ª à ¡®â¥
+GOODKEY:		; AL - готова к работе
 	cmp al, 27	;\ IF
 	je KONEZ        ;/ ESC then END
 
@@ -81,54 +81,54 @@ loopend:                        ; Final stage of loop
 	mov byte ptr [si], 0   ;/ it will be 0 
 
 	mov ah, 09h	;\
-	mov al, ' '     ;| ‚뢮¤¨¬ë© ᨬ¢®«
-	mov bh, 0h      ;\ ‘âà ­¨æ 
-	mov bl, 00h     ;/ �à®à¨á®¢ª  è à¨ª  (€ââਡãâë ᨬ¢®« )
-	mov cx, 01h     ;| Š®«¨ç¥á⢮ ᨬ¢®«®¢
+	mov al, ' '     ;| Выводимый �имвол
+	mov bh, 0h      ;\ Страница
+	mov bl, 00h     ;/ Прори�овка шарика (�ттрибуты �имвола)
+	mov cx, 01h     ;| Количе�тво �имволов
 	int 10h		;/ 
 
 	mov ah, 02h	; \ GotoXY(0,24) to delete all line
-	mov bh,	0       ; | €ªâ¨¢­ ï áâà ­¨æ         
-	mov dh, 24      ; |- Šãàá®à ª paddle (Y)     
+	mov bh,	0       ; | �ктивна� �траница        
+	mov dh, 24      ; |- Кур�ор к paddle (Y)     
 	mov dl, 0       ; | (X)                      
 	int 10h	        ; /                          
 
 	mov ah, 09h	;\ Clear last line to redraw paddle
-	mov al, ' '     ;| ‚뢮¤¨¬ë© ᨬ¢®« (#20)
-	mov bh, 0h      ;\ ‘âà ­¨æ 
-	mov bl, 00h     ;/ �à®à¨á®¢ª  è à¨ª  (€ââਡãâë ᨬ¢®« )
-	mov cx, 80      ;| Š®«¨ç¥á⢮ ᨬ¢®«®¢
+	mov al, ' '     ;| Выводимый �имвол (#20)
+	mov bh, 0h      ;\ Страница
+	mov bl, 00h     ;/ Прори�овка шарика (�ттрибуты �имвола)
+	mov cx, 80      ;| Количе�тво �имволов
 	int 10h		;/ 
 
 	mov si, offset px	; [si] = xpos of paddle
 
 	mov ah, 02h		; \ GotoXY(xpos,24)
-	mov bh,	0               ; | €ªâ¨¢­ ï áâà ­¨æ         
-	mov dh, 24              ; |- Šãàá®à ª paddle (Y)     
+	mov bh,	0               ; | �ктивна� �траница        
+	mov dh, 24              ; |- Кур�ор к paddle (Y)     
 	mov dl, byte ptr [si]   ; | (X) (From [si])
 	int 10h	                ; /                          
 
 	mov ah, 09h     ;\ Draw the paddle
-	mov al, 'ß'     ;| ‚뢮¤¨¬ë© ᨬ¢®«
-	mov bh, 0h      ;| ‘âà ­¨æ 
-	mov bl, 04h     ;| �à®à¨á®¢ª  paddle (€ââਡãâë ᨬ¢®« )
-	mov cx, 05h     ;| Š®«¨ç¥á⢮ ᨬ¢®«®¢ (Length of paddle)
+	mov al, '▀'     ;| Выводимый �имвол
+	mov bh, 0h      ;| Страница
+	mov bl, 04h     ;| Прори�овка paddle (�ттрибуты �имвола)
+	mov cx, 05h     ;| Количе�тво �имволов (Length of paddle)
 	int 10h		;/ 
 	
 	mov si, offset x1	; [si] = x pos of ball (x1)
 	mov di, offset y1       ; [di] = y pos of ball (y1)
 	
 	mov ah, 02h		; \ GotoXY(x1,y1)     
-	mov bh,	0               ; | €ªâ¨¢­ ï áâà ­¨æ    
+	mov bh,	0               ; | �ктивна� �траница   
 	mov dh, byte ptr [di]   ; |- Cursor to draw ball (Y1) (From [di])
 	mov dl, byte ptr [si]   ; | (X1) (From [si])     
 	int 10h	                ; /                     
 
 	mov ah, 09h     ;\ Draw ball
-	mov al, ''     ;| ‚뢮¤¨¬ë© ᨬ¢®«
-	mov bh, 0h      ;| ‘âà ­¨æ 
-	mov bl, 01h     ;| �à®à¨á®¢ª  è à¨ª  (€ââਡãâë ᨬ¢®« )
-	mov cx, 01h     ;| Š®«¨ç¥á⢮ ᨬ¢®«®¢
+	mov al, ''     ;| Выводимый �имвол
+	mov bh, 0h      ;| Страница
+	mov bl, 01h     ;| Прори�овка шарика (�ттрибуты �имвола)
+	mov cx, 01h     ;| Количе�тво �имволов
 	int 10h		;/ 
 
 PREDDEL:  		;\
@@ -151,7 +151,7 @@ TOFLY:  			; Ball flying ?
 	mov bx, 0200h 	        ; the period of ball move
 	xor dx, dx		; dx = 0
 	div bx			; dx = ax mod bx
-	cmp dx,	0		; if ticks ªà â­® bx (0FFFFh)_
+	cmp dx,	0		; if ticks кратно bx (0FFFFh)_
 	je MOVE			; then goto MOVE bALL
 	xor si,	si		; si=0
 	jmp loopend		; goto ENDOFLOOP

+ 18 - 18
ASM/Demo/bmp.asm

@@ -78,35 +78,35 @@ loadimage:
 ; Bitmap Header!!!
 ;-------------------
 bmphdr:
-	bfType		dw 0		;		//⨯ ä ©«  (¤«ï ¡¨â®¢®£® ®¡à §  - BM)
-	bfSize 		dd 0        ;		//à §¬¥à ä ©«  ¢ dword
+	bfType		dw 0		;		//тип файла (дл� битового образа - BM)
+	bfSize 		dd 0        ;		//размер файла в dword
 				dw 0,0		
-	bfOffbits 	dd 0		;	//ᬥ饭¨¥ ¤ ­­ëå ¡¨â®¢®£® ®¡à §  ®â ­ ç «  ä ©« 
+	bfOffbits 	dd 0		;	//�мещение данных битового образа от начала файла
 bmphdr_len EQU $-bfType
 ;-------------------
 ; Bitmap Info Header!!!
 ;-------------------
 bmpinfohdr:
-	biSize 		dd	0	;		//ç¨á«® ¡ ©â, § ­¨¬ ¥¬ëå áâàãªâãன
- 	biWidth 	dd  0	;	//è¨à¨­  ¡¨â®¢®£® ®¡à §  ¢ ¯¨ªá¥« å
- 	biHeight 	dd  0	;	//¢ëá®â  ¡¨â®¢®£® ®¡à §  ¢ ¯¨ªá¥« å 
-				dw  0	;	//ç¨á«® ¡¨â®¢ëå ¯«®áª®á⥩ ãáâனá⢠
-	biBitCount	dw 	0	;	//ç¨á«® ¡¨â®¢ ­  ¯¨ªá¥«ì
-				dd	0	; biCompression;	//⨯ ᦠâ¨ï
-	biSizeImage dd  0   ;	//à §¬¥à ª à⨭ª¨ ¢ ¡ ©â å
-				dd	0,0	; biXPelsPerMeter;//£®à¨§®­â «ì­®¥ à §à¥è¥­¨¥ ãáâனá⢠,
-						; biYPelPerMeter;	//¢¥à⨪ «ì­®¥ à §à¥è¥­¨¥ ãáâனá⢠,
-				dd 	0	; biClrUsed;	//ç¨á«® ¨á¯®«ì§ã¥¬ëå æ¢¥â®¢
-				dd	0	; biClrImportant; //ç¨á«® "¢ ¦­ëå" 梥⮢
+	biSize 		dd	0	;		//чи�ло байт, занимаемых �труктурой
+ 	biWidth 	dd  0	;	//ширина битового образа в пик�елах
+ 	biHeight 	dd  0	;	//вы�ота битового образа в пик�елах 
+				dw  0	;	//чи�ло битовых пло�ко�тей у�трой�тва
+	biBitCount	dw 	0	;	//чи�ло битов на пик�ель
+				dd	0	; biCompression;	//тип �жати�
+	biSizeImage dd  0   ;	//размер картинки в байтах
+				dd	0,0	; biXPelsPerMeter;//горизонтальное разрешение у�трой�тва,
+						; biYPelPerMeter;	//вертикальное разрешение у�трой�тва,
+				dd 	0	; biClrUsed;	//чи�ло и�пользуемых цветов
+				dd	0	; biClrImportant; //чи�ло "важных" цветов
 bmpinfohdr_len EQU $-biSize
 ;-------------------
 ; Color table
 ;-------------------
 colortable:
-	rgbBlue		db 0;	//¨­â¥­á¨¢­®áâì ªà á­®£®
-	rgbGreen	db 0;	//¨­â¥­á¨¢­®áâì §¥«¥­®£®
-	rgbRed 		db 0;	//¨­â¥­á¨¢­®áâì £®«ã¡®£®
-	       db 0;	//­¥ ¨á¯®«ì§ã¥âáï
+	rgbBlue		db 0;	//интен�ивно�ть кра�ного
+	rgbGreen	db 0;	//интен�ивно�ть зеленого
+	rgbRed 		db 0;	//интен�ивно�ть голубого
+	       db 0;	//не и�пользует��
 clrtab_len  EQU $-rgbBlue
 col 	db	0
 end start

+ 32 - 32
ASM/Modem/modem.asm

@@ -5,50 +5,50 @@ org 100h
 
 ; UART Registers
 
-SER_RBF			EQU	0	; �ãä¥à ç⥭¨ï
-SER_THR			EQU 0	; ¡ãä¥à § ¯¨á¨
-SER_IER			EQU	1	; ॣ¨áâà à §à¥è¥­¨ï ¯à¥à뢠­¨©
-SER_IIR			EQU 2	; ॣ. ¨¤¥­â¨ä¨ª æ¨¨ ¯à¥à뢠­¨©
-SER_LCR			EQU 3	; ॣ. ã¯à ¢«. ¤ ­­ëå ¨ à §à¥è¥­. § £à㧪¨ ¤¥«¨â¥«ï
-SER_MCR			EQU 4	; ॣ. ã¯à ¢«. ¬®¤¥¬®¬
-SER_LSR			EQU 5	; ॣ. á®áâ®ï­¨ï «¨­¨¨
-SER_MSR			EQU 6	; ॣ. á®áâ. ¬®¤¥¬ 
-SER_DLL			EQU 0	; ॣ. ¬« ¤è. ¡ ©â ¤¥«¨â¥«ï
-SER_DLH			EQU 1	; ॣ. áâ àè. ¡ ©â ¤¥«¨â¥«ï 
+SER_RBF			EQU	0	; Буфер чтениÑ
+SER_THR			EQU 0	; буфер запи�и
+SER_IER			EQU	1	; реги�тр разрешени� прерываний
+SER_IIR			EQU 2	; рег. идентификации прерываний
+SER_LCR			EQU 3	; рег. управл. данных и разрешен. загрузки делител�
+SER_MCR			EQU 4	; рег. управл. модемом
+SER_LSR			EQU 5	; рег. �о�то�ни� линии
+SER_MSR			EQU 6	; рег. �о�т. модема
+SER_DLL			EQU 0	; рег. младш. байт делител�
+SER_DLH			EQU 1	; рег. �тарш. байт делител� 
 
 ; Registers Bit masks
 
-SER_BAUD_1200	EQU 96	; ¤¥«¨â¥«¨ ¤«ï à §«¨ç­ëå ᪮à®á⥩
+SER_BAUD_1200	EQU 96	; делители дл� различных �коро�тей
 SER_BAUD_2400	EQU 48
 SER_BAUD_9600	EQU 12
 SER_BAUD_19200	EQU 6
 SER_BAUD_38400	EQU	3
 SER_BAUD_57600	EQU 2
 
-SER_GP02		EQU 8	; à §à¥è¥­¨¥ ¯à¥à뢠­¨©
+SER_GP02		EQU 8	; разрешение прерываний
 
-COM1			EQU	3f8h	; � ç «ì­ë¥ ¯®àâë ª®¬®¢
+COM1			EQU	3f8h	; �ачальные порты комов
 COM2			EQU 2f8h    ;
 
-SER_STOP_1		EQU 0	; á⮯-¡¨â ­  ᨬ¢®«
+SER_STOP_1		EQU 0	; �топ-бит на �имвол
 SER_STOP_2		EQU 4	
 
-SER_BITS_5		EQU 0	; å § ç é¨å ¡¨â ­  ᨬ¢®«
+SER_BITS_5		EQU 0	; х зачащих бит на �имвол
 SER_BITS_6		EQU 1
 SER_BITS_7		EQU 2
 SER_BITS_8		EQU 3
 
-SER_PARITY_NONE	EQU 0 	; ª®­â஫ì ç¥â­®áâ¨
+SER_PARITY_NONE	EQU 0 	; контроль четно�ти
 SER_PARITY_ODD	EQU 8
 SER_PARITY_EVEN	EQU 24
 
-SER_DIV_LATCH_ON	EQU 128	; ¨á¯ ¯à¨ § £à㧪¥ ¤¥«¨â¥«ï
+SER_DIV_LATCH_ON	EQU 128	; и�п при загрузке делител�
 
-PIC_IMR			EQU 21h		; ¬ áª  ¤«ï ॣ¨áâà  ¯à¥à뢠­¨©
-PIC_ICR			EQU 20h		; ¬ áª  ¤«ï ª®­â஫«¥à  ¯à¥à뢠­¨©
+PIC_IMR			EQU 21h		; ма�ка дл� реги�тра прерываний
+PIC_ICR			EQU 20h		; ма�ка дл� контроллера прерываний
 
-INT_SER_PORT_0	EQU 0Ch		; ¤«ï ã¯à ¢«¥­¨ï ¯à¥à뢠­. COM1 & COM3
-INT_SER_PORT_1	EQU 0Bh		; ¤«ï ã¯à ¢«¥­¨ï ¯à¥à뢠­. COM2 & COM4
+INT_SER_PORT_0	EQU 0Ch		; дл� управлени� прерыван. COM1 & COM3
+INT_SER_PORT_1	EQU 0Bh		; дл� управлени� прерыван. COM2 & COM4
 
 ; Current setting(for COM1), change them 
 ;-------------------------------
@@ -64,25 +64,25 @@ start:
 ;----------------------------
 									;  Set port speed
 		mov dx, PORT+SER_LCR		;-------
-		mov al, SER_DIV_LATCH_ON	; à §à¥è ¥¬ § £à㧪㠤¥«¨â¥«ï
+		mov al, SER_DIV_LATCH_ON	; разрешаем загрузку делител�
 		out dx, al					;-------
 
 		mov dx, PORT+SER_DLL		;-------
-		mov al, SER_BAUD			; ¯®áë« ¥¬ ¬« ¤è ¡ ©â ¤¥«¨â¥«ï
+		mov al, SER_BAUD			; по�ылаем младш байт делител�
 		out dx, al					;-------
 
 		mov dx, PORT+SER_DLH		;-------
-		mov al, 0       			; ¯®áë« ¥¬ áâ àè ¡ ©â ¤¥«¨â¥«ï
+		mov al, 0       			; по�ылаем �тарш байт делител�
 		out dx, al					;-------
 
 		mov dx, PORT+SER_LCR		;-------
-		mov al, CONFIG  			; ãáâ ª®­ä¨£ãà æ¨î ¯®àâ 
+		mov al, CONFIG  			; у�т конфигурацию порта
 		out dx, al					;-------
 
 		mov dx, PORT+SER_MCR		;-------
 		mov al, SER_GP02			;
-		out dx, al					; � §à¥è ¥¬
-		mov dx, PORT+SER_IER		;       ¯à¥à뢠­¨ï
+		out dx, al					; Разрешаем
+		mov dx, PORT+SER_IER		;       прерывани�
 		mov al, 1					;
 		out dx, al					;-------
 
@@ -97,11 +97,11 @@ start:
 		mov dx, offset Serial_ISR	;		Vector
 		int 21h						;-----------
 
-		in 	al, PIC_IMR				; ‘â àë¥ ¡¨âë ª®­â஫«¥à  ¯à¥à뢠­¨©
+		in 	al, PIC_IMR				; Старые биты контроллера прерываний
 		mov old_int_mask, al		; 
 		and al, INT_MASK
 
-		out PIC_IMR, al				; à §à¥è ¥¬ ¯à¥à뢠­¨¥ COM1
+		out PIC_IMR, al				; разрешаем прерывание COM1
 ;-----------------------------------------------------------------
 		mov ah, 08h
 		int 21h
@@ -111,13 +111,13 @@ start:
 ;		
 		mov dx, PORT+SER_MCR		;-------
 		mov al, 0					;
-		out dx, al					; ‡ ¯à¥é ¥¬
-		mov dx, PORT+SER_IER		;       ¯à¥à뢠­¨ï
+		out dx, al					; Запрещаем
+		mov dx, PORT+SER_IER		;       прерывани�
 		mov al, 0					;
 		out dx, al					;-------
 		
 		mov al, old_int_mask		;
-		out PIC_IMR, al				; “áâ áâ àë¥ ­ áâனª¨ ª®­â஫«¥à  ¯à¥à뢠­
+		out PIC_IMR, al				; У�т �тарые на�тройки контроллера прерыван
 
 		mov ah,	25h					;-----------
 		mov al, INT_SER_PORT		; Set OLD

+ 7 - 7
ASM/Win32/test.asm

@@ -61,17 +61,17 @@ start:
         call    RegisterClassA
 
         push    0
-        push    [hInst]                  ; え岐啜�� �瓲
+        push    [hInst]                  ; 写懈褋泻褉懈锌褌芯褉 芯泻薪邪
         push    0
         push    0
-        push    CW_USEDEFAULT            ; ㈦岙鉅
-        push    CW_USEDEFAULT            ; 瑷啜瓲
+        push    CW_USEDEFAULT            ; 胁褘褋芯褌邪
+        push    CW_USEDEFAULT            ; 褕懈褉懈薪邪
         push    CW_USEDEFAULT            ; y
         push    CW_USEDEFAULT            ; x
-        push    WS_OVERLAPPEDWINDOW      ; 徕ǐ�
-        push    offset szTitleName       ; �.��� �瓲
-        push    offset szClassName       ; ì� �犪釥
-        push    0                        ; ぎ��ㄢカ飙氅 徕ǐ�
+        push    WS_OVERLAPPEDWINDOW      ; 褋褌懈谢褜
+        push    offset szTitleName       ; 蟹邪谐芯谢芯胁芯泻 芯泻薪邪
+        push    offset szClassName       ; 懈屑褟 泻谢邪褋褋邪
+        push    0                        ; 写芯锌芯谢薪懈褌械谢褜薪褘泄 褋褌懈谢褜
 
         call    CreateWindowExA
 

+ 26 - 26
ASM/pal.asm

@@ -1,15 +1,15 @@
 .model small
 .code
 org 100h
-start:	push	bp		; á⥪
+start:	push	bp		; �тек
 	mov	bp,sp
 	sub	sp, 303h
 
-	mov	ah,0		; ãáâ ­®¢ª  ० 320å200å256
+	mov	ah,0		; у�тановка реж 320х200х256
 	mov	al,13h
 	int	10h
 
-	xor	bx,bx		; áç¨â뢠¥¬ ¯ «¨âàã ¢ [BP-4]-[BP+FCFDh]
+	xor	bx,bx		; �читываем палитру в [BP-4]-[BP+FCFDh]
 	mov	cx,0FDh
 	lea	dx,[bp][0FCFDh]	
 	mov	ax,ds
@@ -17,69 +17,69 @@ start:	push	bp		; 
 	mov	ax,01017h
 	int	10h
 
-	mov	ax,0A000h       ; ãáâ ­ ¢«¨¢ ¥¬ es:di ­  ¢¨¤¥® ¯ ¬ïâì
+	mov	ax,0A000h       ; у�танавливаем es:di на видео пам�ть
 	mov	es,ax
 	xor	ax,ax
 	mov	di,ax
-	mov	cx,0FA00h	; ­ ç¨­ ¥¬ à¨á®¢ âì
+	mov	cx,0FA00h	; начинаем ри�овать
 	mov	al,00h
 
-LP:	mov	es:[di],BYTE PTR al	; 横« ¯à®à¨á®¢ª¨
+LP:	mov	es:[di],BYTE PTR al	; цикл прори�овки
 	mov	ax,di
 	add	ax,01h
-	xor	dx,dx           ; ¯à®¢¥à塞, ªà â­® «¨ di 320â¨
+	xor	dx,dx           ; провер�ем, кратно ли di 320ти
 	mov	bx,0140h	
 	div	bx
 	mov	al, BYTE PTR es:[di]
 	add	di,1h
 	cmp	dx,0h
-	je	UVEL 		; ¥á«¨ ¤ , 㢥«¨ç¨¢ ¥¬ 梥â
-LOP:	loop	LP			; ª®­¥æ 横« 
+	je	UVEL 		; е�ли да, увеличиваем цвет
+LOP:	loop	LP			; конец цикла
 	jmp	e
-UVEL:   add	al,1h		; §¤¥áì 㢥«¨ç¨¢ ¥¬ 梥â
+UVEL:   add	al,1h		; зде�ь увеличиваем цвет
 	jmp	LOP
 
-e:	mov	al, [bp][0FD00h]	; á®å࠭塞 ¯¥à¢ë© 梥⠢ [BP-3]
+e:	mov	al, [bp][0FD00h]	; �охран�ем первый цвет в [BP-3]
 	mov	[bp-0003], al
-	mov	al, [bp][0FD01h]	; á®å࠭塞 ¯¥à¢ë© 梥⠢ [BP-2]
+	mov	al, [bp][0FD01h]	; �охран�ем первый цвет в [BP-2]
 	mov	[bp-0002], al
-	mov	al, [bp][0FD02h]	; á®å࠭塞 ¯¥à¢ë© 梥⠢ [BP-1]
+	mov	al, [bp][0FD02h]	; �охран�ем первый цвет в [BP-1]
 	mov	[bp-0001], al
-	lea	ax,[bp][0FD00h]	; ®â á¨å
+	lea	ax,[bp][0FD00h]	; от �их
 	lea	bx,[bp][0FD03h]
 	mov	si,bx
 	mov	di,ax
 	mov	ax,ds
 	mov	es,ax
 	mov	cx,02FAh
-	repe	movsb		; ¤® á¨å, ᬥ頥¬ ¯ «¨âàã ­¨¦¥
+	repe	movsb		; до �их, �мещаем палитру ниже
 	mov	al, [bp][-0003h]
-	mov	[bp-0006], al	; ¯®â¥àï­­ë© æ¢¥â ¢ ª®­¥æ ¯ «¨âàë
+	mov	[bp-0006], al	; потер�нный цвет в конец палитры
 	mov	al, [bp][-0002h]
 	mov	[bp-0005], al
 	mov	al, [bp][-0001h]
 	mov	[bp-0004], al
-	mov	dx,03DAh	; ¯®àâ á®áâ®ï­¨ï «ãç  ¬®­¨â®à 
-in1:	in	al,dx		; ®â á¨å
+	mov	dx,03DAh	; порт �о�то�ни� луча монитора
+in1:	in	al,dx		; от �их
 	and	al,008h
 	jne	in1
 in2:	in	al,dx
 	and	al,008h
-	je	in2		; ¤® á¨å - ¦¤¥¬ ®¡à â­®£® 室  «ãç 
-	xor	bx,bx		; ®â á¨å
+	je	in2		; до �их - ждем обратного хода луча
+	xor	bx,bx		; от �их
 	mov	cx,0100h
 	lea	dx,[bp][0FCFDh]
 	mov	ax,ds
 	mov	es,ax
 	mov	ax,01012h
-	int	10h		; ¤® á¨å - ¢áâ ¢«ï¥¬ ¯ «¨âàã
-	mov	ah,01h		; ¯à®¢¥àª  ­  ­ ¦ â¨¥ ª­®¯ª¨
+	int	10h		; до �их - в�тавл�ем палитру
+	mov	ah,01h		; проверка на нажатие кнопки
 	int	16h             ; -----
-	jz	e		; ¥á«¨ ­¥âã, â® á­®¢ 
+	jz	e		; е�ли нету, то �нова
 	mov	ah,0
-	mov	al,3h		; ®¡à â­® ¢ ⥪áâ®¢ë© à¥¦¨¬
+	mov	al,3h		; обратно в тек�товый режим
 	int	10h		; -----
-	mov	sp,bp		; ¢¥àâ ¥¬ á⥪
+	mov	sp,bp		; вертаем �тек
 	pop	bp
-	int	20h		; ⨯  ª®­¥æ :)
+	int	20h		; типа конец :)
 end 	start

+ 20 - 20
ASM/palnew.asm

@@ -1,38 +1,38 @@
 .model small
 .code
 org 100h
-start:	push	bp		; á⥪
+start:	push	bp		; �тек
 	mov	bp,sp
 	sub	sp, 02FDh
 
-	mov	ah,0		; ãáâ ­®¢ª  ० 320å200å256
+	mov	ah,0		; у�тановка реж 320х200х256
 	mov	al,13h
 	int	10h
 
-	mov	ax,0A000h       ; ãáâ ­ ¢«¨¢ ¥¬ es:di ­  ¢¨¤¥® ¯ ¬ïâì
+	mov	ax,0A000h       ; у�танавливаем es:di на видео пам�ть
 	mov	es,ax
 	xor	ax,ax
 	mov	di,ax
-	mov	cx,0FA00h	; ­ ç¨­ ¥¬ à¨á®¢ âì
+	mov	cx,0FA00h	; начинаем ри�овать
 	mov	al,00h
 
-LP:	mov	es:[di],BYTE PTR al	; 横« ¯à®à¨á®¢ª¨
+LP:	mov	es:[di],BYTE PTR al	; цикл прори�овки
 	mov	ax,di
 	add	ax,01h
-	xor	dx,dx           ; ¯à®¢¥à塞, ªà â­® «¨ di 320â¨
+	xor	dx,dx           ; провер�ем, кратно ли di 320ти
 	mov	bx,0140h	
 	div	bx
 	mov	al, BYTE PTR es:[di]
 	add	di,1h
 	cmp	dx,0h
-	je	UVEL 		; ¥á«¨ ¤ , 㢥«¨ç¨¢ ¥¬ 梥â
-LOP:	loop	LP			; ª®­¥æ 横« 
+	je	UVEL 		; е�ли да, увеличиваем цвет
+LOP:	loop	LP			; конец цикла
 	jmp	e
 
-UVEL:   add	al,1h		; §¤¥áì 㢥«¨ç¨¢ ¥¬ 梥â
+UVEL:   add	al,1h		; зде�ь увеличиваем цвет
 	jmp	LOP
 
-e: 	mov	bx,1		; áç¨â뢠¥¬ ¯ «¨âàã ¢ [BP-4]-[BP+FD00h]
+e: 	mov	bx,1		; �читываем палитру в [BP-4]-[BP+FD00h]
 	mov	cx,0FFh
 	lea	dx,[bp][-02FDh]	
 	mov	ax,ds
@@ -47,21 +47,21 @@ e: 	mov	bx,1		; 
 	mov	bp[-002h],cl
 	mov	bp[-001h],ch
 
-	mov	dx,03DAh	; ¯®àâ á®áâ®ï­¨ï «ãç  ¬®­¨â®à 
-in1:	in	al,dx		; ®â á¨å
+	mov	dx,03DAh	; порт �о�то�ни� луча монитора
+in1:	in	al,dx		; от �их
 	and	al,008h
 	jne	in1
 in2:	in	al,dx
 	and	al,008h
-	je	in2		; ¤® á¨å - ¦¤¥¬ ®¡à â­®£® 室  «ãç 
+	je	in2		; до �их - ждем обратного хода луча
 
-	mov	bx,2		; ®â á¨å
+	mov	bx,2		; от �их
 	mov	cx,0100h
 	lea	dx,[bp][-02FDh]
 	mov	ax,ds
 	mov	es,ax
 	mov	ax,01012h
-	int	10h		; ¤® á¨å - ¢áâ ¢«ï¥¬ ¯ «¨âàã
+	int	10h		; до �их - в�тавл�ем палитру
 	
 	mov	ax,1010
 	mov	bx,0h
@@ -70,13 +70,13 @@ in2:	in	al,dx
 	mov	dh,bp[-001h]
 	int	10h
 
-	mov	ah,01h		; ¯à®¢¥àª  ­  ­ ¦ â¨¥ ª­®¯ª¨
+	mov	ah,01h		; проверка на нажатие кнопки
 	int	16h             ; -----
-	jz	e		; ¥á«¨ ­¥âã, â® á­®¢ 
+	jz	e		; е�ли нету, то �нова
 	mov	ah,0
-	mov	al,3h		; ®¡à â­® ¢ ⥪áâ®¢ë© à¥¦¨¬
+	mov	al,3h		; обратно в тек�товый режим
 	int	10h		; -----
-	mov	sp,bp		; ¢¥àâ ¥¬ á⥪
+	mov	sp,bp		; вертаем �тек
 	pop	bp
-	int	20h		; ⨯  ª®­¥æ :)
+	int	20h		; типа конец :)
 end 	start