I,M,N
This commit is contained in:
		
							parent
							
								
									402d412e92
								
							
						
					
					
						commit
						bd66b63a05
					
				
					 3 changed files with 133 additions and 0 deletions
				
			
		
							
								
								
									
										59
									
								
								nasm/I.asm
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								nasm/I.asm
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,59 @@ | |||
| global main | ||||
| extern printf | ||||
| extern scanf | ||||
| 
 | ||||
| section .text | ||||
| main: | ||||
| 	; read N | ||||
| 	push n | ||||
| 	push read | ||||
| 	call scanf | ||||
| 	add esp ,8 | ||||
| 
 | ||||
| 	; read loop for x | ||||
| 	xor ebx, ebx | ||||
| 	;mov bx, word [n] | ||||
| loop1: | ||||
| 	cmp bx, word [n] | ||||
| 	je nya1 | ||||
| 	lea eax, [x + 2 * ebx] | ||||
| dbg1:	push eax | ||||
| 	push read | ||||
| 	call scanf | ||||
| 	add esp, 8	 | ||||
| dbg2:	inc ebx | ||||
| 	jmp loop1 | ||||
| 
 | ||||
| nya1: | ||||
| 
 | ||||
| 	xor ebx, ebx | ||||
| 	mov bx, word [n] | ||||
| 	dec ebx | ||||
| loop2: | ||||
| 	cmp bx, 0 | ||||
| 	jl nya2 | ||||
| 	lea eax, [x + 2 * ebx] | ||||
| 	;push word [eax] | ||||
| 	mov dx, word [eax] | ||||
| 	push edx | ||||
| 	push write | ||||
| 	call printf | ||||
| 	add esp, 8	 | ||||
| 	dec ebx | ||||
| 	jmp loop2 | ||||
| 
 | ||||
| nya2: | ||||
| 	push EOL | ||||
| 	call printf | ||||
| 	add esp, 4 | ||||
| 	xor eax, eax | ||||
| 	ret | ||||
| 
 | ||||
| section .data | ||||
| read db "%hu", 0 | ||||
| write db "%hu ", 0 | ||||
| EOL db 10, 0 | ||||
| 
 | ||||
| section .bss | ||||
| n resw 1 | ||||
| x resw 10000 | ||||
							
								
								
									
										12
									
								
								nasm/M.asm
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								nasm/M.asm
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,12 @@ | |||
| global main | ||||
| extern printf | ||||
| extern scanf | ||||
| 
 | ||||
| section .text | ||||
| 
 | ||||
| 	xor eax, eax | ||||
| 	ret | ||||
| 
 | ||||
| section .data | ||||
| in "%f", 0 | ||||
| out "%f", 10, 0 | ||||
							
								
								
									
										62
									
								
								nasm/N.asm
									
										
									
									
									
								
							
							
						
						
									
										62
									
								
								nasm/N.asm
									
										
									
									
									
								
							|  | @ -2,6 +2,7 @@ global main | |||
| extern scanf | ||||
| extern printf | ||||
| 
 | ||||
| <<<<<<< Updated upstream | ||||
| 
 | ||||
| section .text | ||||
| main: | ||||
|  | @ -66,3 +67,64 @@ t db "%d", 10, 0 | |||
| section .bss | ||||
| a resw 8 | ||||
| b resw 8 | ||||
| ======= | ||||
| section .text | ||||
| main: | ||||
| 	xor ebx, ebx | ||||
| loop1: | ||||
| 	cmp ebx, 8 | ||||
| 	je nya1 | ||||
| 	lea eax, [a + ebx] | ||||
| 	push eax | ||||
| 	push input | ||||
| 	call scanf | ||||
| 	add esp, 8	 | ||||
| 	inc ebx | ||||
| 	jmp loop1 | ||||
| 
 | ||||
| nya1: | ||||
| 	xor ebx, ebx | ||||
| loop2: | ||||
| 	cmp ebx, 8 | ||||
| 	je nya2 | ||||
| 	lea eax, [b + ebx] | ||||
| 	push eax | ||||
| 	push input | ||||
| 	call scanf | ||||
| 	add esp, 8	 | ||||
| 	inc ebx | ||||
| 	jmp loop2 | ||||
| nya2: | ||||
| 	movq mm0, [a] | ||||
| 	movq mm1, [b] | ||||
| 	paddsb mm0, mm1 | ||||
| 	movq [a], mm0 | ||||
| 	xor ebx, ebx | ||||
| loop3: | ||||
| 	cmp ebx, 8 | ||||
| 	je nya3 | ||||
| 	lea eax, [a + ebx] | ||||
| 	mov dl, byte [eax] | ||||
| 	push edx | ||||
| 	push output | ||||
| 	call printf | ||||
| 	add esp, 8	 | ||||
| 	inc ebx | ||||
| 	jmp loop3 | ||||
| 
 | ||||
| nya3: | ||||
| 	push EOL | ||||
| 	call printf | ||||
| 	add esp, 4 | ||||
| dbg:	xor eax, eax | ||||
| 	ret | ||||
| 
 | ||||
| section .data | ||||
| input dd "%hhu", 0 | ||||
| output dd "%hhu ", 0 | ||||
| EOL dd 10 | ||||
| 
 | ||||
| section .bss | ||||
| a resb 8 | ||||
| b resb 8 | ||||
| >>>>>>> Stashed changes | ||||
|  |  | |||
		Reference in a new issue